Function at 0x49dd30
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x58]
cmp eax, dword [ecx + 8]
jbe 0x49fc2b
sub esp, 0xd8
mov ecx, dword [esp + 0xf0]
test ecx, ecx
jle 0x49fbd8
mov edx, dword [esp + 0xe8]
test edx, edx
je 0x49dd76
test edx, 0x60
je 0x49fb56
mov edi, dword [esp + 0xdc]
mov dword [edi + 0xc], 0
mov ebx, dword [0x579ba0]
test ebx, ebx
jne 0x49fb3f
mov dword [edi + 0x10], 0
mov dword [edi + 0x1c], edx
mov ebx, dword [0x579ba0]
test ebx, ebx
jne 0x49fb09
mov ebx, dword [esp + 0xe0]
mov dword [edi + 0x14], ebx
mov ebp, dword [esp + 0xe4]
mov dword [edi + 0x18], ebp
nop
mov esi, edx
and edx, 0x1f
cmp edx, 0x10
jbe 0x49f7aa
cmp edx, 0x15
ja 0x49f00d
cmp edx, 0x13
ja 0x49e707
cmp edx, 0x11
jne 0x49e6e3
mov dword [esp + 0x7c], edx
mov eax, dword [esp + 0xec]
cmp eax, 0x71
jg 0x49e6cc
cmp eax, 0x58
jne 0x49e6be
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00477130
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x80], ecx
mov edx, dword [eax + 0x28]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 8
jne 0x49e0bd
mov eax, dword [esp + 0x7c]
cmp eax, 0x17
je 0x49e087
mov eax, dword [esp + 0xe8]
test eax, 0x100
jne 0x49e007
mov ecx, dword [esp + 0xe0]
mov dword [esp], ecx
mov edx, dword [esp + 0xe4]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00476220
mov eax, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
lea ecx, [0x4b28c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00441bc0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa0], eax
xor ecx, ecx
jmp 0x49dec6
mov ebx, dword [esp + 0xa0]
mov byte [ebx + eax], dl
lea edx, [eax + 1]
mov eax, ebx
mov ecx, edx
mov edx, dword [esp + 0x6c]
cmp edx, ecx
jle 0x49df94
mov dword [esp + 0x60], ecx
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov edx, dword [esp + 0xe4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.00475ee0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x7c], eax
cmp eax, 9
ja 0x49df57
cmp eax, 7
jne 0x49df2b
mov edx, dword [ecx]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x60]
cmp ecx, eax
ja 0x49deb5
jmp 0x49fbe4
cmp eax, 8
jne 0x49df3f
movzx edx, byte [ecx]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x60]
cmp ecx, eax
jmp 0x49df24
cmp eax, 9
jne 0x49fbe9
movzx edx, word [ecx]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x60]
cmp ecx, eax
jmp 0x49df24
cmp eax, 0xa
jne 0x49df6a
mov edx, dword [ecx]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x60]
cmp ecx, eax
jmp 0x49df24
cmp eax, 0xb
jne 0x49df7d
mov edx, dword [ecx]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x60]
cmp ecx, eax
jmp 0x49df24
cmp eax, 0xc
jne 0x49fbe9
mov edx, dword [ecx]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x60]
cmp ecx, eax
jmp 0x49df24
mov ecx, edx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x8c], eax
mov ebx, dword [esp + 0x3c]
mov ebx, dword [ebx + 0x80]
mov ebp, dword [esp + 0x80]
mov dword [esp], ebp
call ebx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xdc]
mov dword [esp], edx
mov edx, dword [esp + 0x8c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xec]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.0049bf00
add esp, 0xd8
ret
mov ecx, dword [esp + 0xe0]
mov dword [esp], ecx
mov edx, dword [esp + 0xe4]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00476220
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xe0]
mov dword [esp], ecx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xe8]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
call fcn.00476e00
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00475470
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
jmp 0x49df96
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 8], eax
call fcn.00475470
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
jmp 0x49df96
mov eax, dword [esp + 0xdc]
movzx ecx, byte [eax + 0x2c]
test cl, cl
jne 0x49e2de
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jb 0x49e28e
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x5b
xor ecx, ecx
jmp 0x49e161
mov ecx, dword [esp + 0xe0]
mov dword [esp], ecx
mov edx, dword [esp + 0xe4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.00475ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xdc]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0xf0]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.0049dd30
mov eax, dword [esp + 0x64]
lea ecx, [eax + 1]
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov edx, dword [esp + 0xe4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 8], ebx
call fcn.00476220
mov eax, dword [esp + 0x64]
cmp dword [esp + 0xc], eax
jle 0x49e219
test eax, eax
jle 0x49e0f1
mov ecx, dword [esp + 0xdc]
mov edx, dword [ecx + 4]
lea ebx, [edx + 1]
mov ebp, dword [ecx]
mov esi, dword [ecx + 8]
cmp ebx, esi
ja 0x49e1c6
lea ebx, [edx + 1]
mov dword [ecx + 4], ebx
mov byte [ebp + edx], 0x20
jmp 0x49e0f1
lea eax, [0x4b28c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00441c70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x579ba0]
test edx, edx
jne 0x49e212
mov dword [edi], eax
mov edx, ecx
mov ebp, eax
mov eax, dword [esp + 0x64]
mov ecx, edi
jmp 0x49e1b6
call fcn.004593e0
jmp 0x49e206
nop
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jb 0x49e241
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x5d
add esp, 0xd8
ret
lea eax, [0x4b28c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00441c70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x579ba0]
test edx, edx
jne 0x49e287
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x49e230
call fcn.004593e0
jmp 0x49e281
lea eax, [0x4b28c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00441c70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x579ba0]
test edx, edx
jne 0x49e2d7
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x49e0e3
call fcn.004593e0
jmp 0x49e2ce
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov ecx, dword [esp + 0xe4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xe8]
mov dword [esp + 8], edx
call fcn.00477130
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0xdc]
mov edx, dword [ecx + 4]
mov dword [esp + 0x78], edx
lea ebx, [eax + edx]
mov dword [esp + 0x74], ebx
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jb 0x49e67d
mov dword [esp + 0x9c], edi
mov dword [esp + 0x70], esi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.00459cf0
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0xdc]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x70]
mov dword [edi + 8], ecx
mov edx, dword [0x579ba0]
test edx, edx
jne 0x49e661
mov edx, dword [esp + 0x9c]
mov dword [edi], edx
mov ebx, dword [esp + 0x7c]
cmp ebx, 0x17
jne 0x49e655
mov ebx, dword [esp + 0xe4]
mov ebp, dword [ebx]
test ebp, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
xor ebp, 1
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x49e5db
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x4c]
lea ebp, [esi + ebp + 1]
cmp ecx, ebp
jb 0x49e584
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x7b
xor eax, eax
jmp 0x49e451
mov ecx, dword [esp + 0xe0]
mov dword [esp], ecx
mov edx, dword [esp + 0xe4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.00475ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xdc]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0xf0]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.0049dd30
mov eax, dword [esp + 0x54]
inc eax
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0xe0]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov edx, dword [esp + 0xe8]
mov dword [esp + 8], edx
call fcn.00476220
mov eax, dword [esp + 0x54]
cmp dword [esp + 0xc], eax
jle 0x49e511
test eax, eax
jle 0x49e3dc
nop
mov edi, dword [esp + 0xdc]
mov ecx, dword [edi + 4]
lea edx, [ecx + 2]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp edx, ebx
ja 0x49e4ce
mov word [ebp + ecx], 0x202c
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x579ba0]
test ecx, ecx
jne 0x49e4be
mov dword [edi], ebp
jmp 0x49e3dc
mov ecx, eax
mov eax, ebp
call fcn.004593e0
mov eax, ecx
jmp 0x49e3dc
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], edx
lea eax, [0x4b28c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00441c70
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0xdc]
jmp 0x49e4a0
nop
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jb 0x49e537
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x7d
jmp 0x49e23a
lea eax, [0x4b28c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00441c70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x579ba0]
test edx, edx
jne 0x49e57d
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x49e528
call fcn.004593e0
jmp 0x49e577
lea ebx, [0x4b28c0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00441c70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x579ba0]
test edx, edx
jne 0x49e5d4
mov dword [edi], eax
mov ebx, dword [esp + 0xe4]
mov edx, eax
mov eax, ecx
jmp 0x49e3ce
call fcn.004593e0
jmp 0x49e5c4
nop
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x4c]
lea ebx, [ebp + ebx + 5]
cmp ecx, ebx
jb 0x49e61a
mov dword [edx + eax], 0x6c696e28
mov byte [edx + eax + 4], 0x29
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x579ba0]
test ecx, ecx
jne 0x49e611
mov dword [edi], edx
add esp, 0xd8
ret
mov eax, edx
call fcn.004593e0
jmp 0x49e60a
mov dword [esp + 0x78], ebx
lea ebp, [0x4b28c0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00441c70
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0xdc]
jmp 0x49e5ec
mov ebx, dword [esp + 0xe4]
jmp 0x49e3ba
mov edx, eax
mov eax, dword [esp + 0x9c]
call fcn.004593e0
mov eax, edx
mov edx, dword [esp + 0x9c]
jmp 0x49e38e
mov dword [esp + 0x98], ebp
lea eax, [0x4b28c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00441c70
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0x98]
jmp 0x49e344
cmp eax, 0x71
je 0x49de05
jmp 0x49e0bd
cmp eax, 0x73
je 0x49de05
cmp eax, 0x78
je 0x49de05
jmp 0x49e0bd
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
call fcn.0049c5d0
jmp 0x49e23a
cmp edx, 0x14
je 0x49eda0
movzx edx, byte [edi + 0x2c]
test dl, dl
jne 0x49eb6b
nop
mov edx, dword [edi + 4]
mov eax, ecx
lea ecx, [edx + 4]
mov esi, dword [edi + 8]
mov ebp, dword [edi]
cmp esi, ecx
jb 0x49eb1b
mov dword [ebp + edx], 0x5b70616d
mov dword [edi + 4], ecx
mov dword [edi + 8], esi
mov ecx, dword [0x579ba0]
test ecx, ecx
jne 0x49eb0b
mov dword [edi], ebp
mov dword [esp], ebx
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 8], eax
call fcn.0047a4e0
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
test ecx, ecx
jle 0x49e8db
mov dword [esp + 0x78], ecx
mov dword [esp + 0x84], eax
xor ebx, ebx
jmp 0x49e7a1
mov ebp, dword [esp + 0x94]
lea edx, [ebp + 0xc]
mov ebx, eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x94], edx
mov dword [esp + 0x58], ebx
mov ebp, dword [edx + 4]
mov dword [esp + 0xa0], ebp
mov esi, dword [edx + 8]
mov dword [esp + 0x7c], esi
mov edi, edx
mov edx, dword [edx]
mov dword [esp + 0x90], edx
test ebx, ebx
jle 0x49eaff
mov ecx, dword [esp + 0xdc]
movzx ebx, byte [ecx + 0x2c]
test bl, bl
je 0x49ea78
nop
mov ebx, dword [ecx + 4]
lea esi, [ebx + 2]
mov ebp, dword [ecx + 8]
mov edx, dword [ecx]
cmp ebp, esi
jb 0x49ea28
mov word [edx + ebx], 0x202c
mov dword [ecx + 4], esi
mov dword [ecx + 8], ebp
mov ebx, dword [0x579ba0]
test ebx, ebx
jne 0x49ea12
mov dword [ecx], edx
mov dword [esp], ecx
mov eax, dword [esp + 0x90]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0xf0]
lea ebx, [edx + 1]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x14], ebx
call fcn.0049dd30
nop
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jb 0x49e9c2
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x3a
mov edx, dword [esp + 0x84]
mov ebx, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
mov ebp, dword [esp + 0x58]
cmp ecx, ebp
jbe 0x49fc23
lea ecx, [ebp + ebp*2]
mov edx, dword [ebx + ecx*4]
mov esi, dword [ebx + ecx*4 + 4]
mov ecx, dword [ebx + ecx*4 + 8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xec]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x74]
mov dword [esp + 0x14], edx
call fcn.0049dd30
mov eax, dword [esp + 0x58]
inc eax
mov ecx, dword [esp + 0x78]
cmp ecx, eax
jg 0x49e78e
mov eax, dword [esp + 0xdc]
movzx ecx, byte [eax + 0x2c]
test cl, cl
je 0x49e956
nop
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jb 0x49e909
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x7d
jmp 0x49e23a
lea eax, [0x4b28c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00441c70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x579ba0]
test edx, edx
jne 0x49e94f
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x49e8fa
call fcn.004593e0
jmp 0x49e949
nop
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jb 0x49e975
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x5d
jmp 0x49e23a
lea eax, [0x4b28c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00441c70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x579ba0]
test edx, edx
jne 0x49e9bb
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x49e966
call fcn.004593e0
jmp 0x49e9b5
lea eax, [0x4b28c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00441c70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x579ba0]
test edx, edx
jne 0x49ea0b
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x49e871
call fcn.004593e0
jmp 0x49ea02
mov ebx, edi
mov edi, ecx
mov ebp, eax
mov eax, edx
call fcn.004593e0
mov eax, ebp
mov edi, ebx
jmp 0x49e813
mov dword [esp + 0x74], ebx
mov dword [esp + 0x70], esi
lea eax, [0x4b28c0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.00441c70
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0xdc]
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x94]
jmp 0x49e7f7
mov ebx, dword [ecx + 4]
lea edi, [ebx + 1]
mov eax, dword [ecx]
mov esi, dword [ecx + 8]
cmp esi, edi
jb 0x49eaa4
lea esi, [ebx + 1]
mov dword [ecx + 4], esi
mov byte [eax + ebx], 0x20
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x94]
jmp 0x49e813
lea ecx, [0x4b28c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
call fcn.00441c70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x579ba0]
test edx, edx
jne 0x49eaf8
mov dword [edi], eax
mov edx, dword [esp + 0x90]
mov ebp, dword [esp + 0xa0]
mov ebx, ecx
mov ecx, edi
jmp 0x49ea87
call fcn.004593e0
jmp 0x49eae4
mov ecx, dword [esp + 0xdc]
jmp 0x49e813
mov ecx, eax
mov eax, ebp
call fcn.004593e0
mov eax, ecx
jmp 0x49e750
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ecx
lea eax, [0x4b28c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.00441c70
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0xe0]
mov edi, dword [esp + 0xdc]
jmp 0x49e732
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00477130
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0xdc]
mov edx, dword [ecx + 4]
mov dword [esp + 0x78], edx
lea ebx, [eax + edx]
mov dword [esp + 0x74], ebx
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jb 0x49ed5f
mov dword [esp + 0x70], esi
mov dword [esp + 0x9c], edi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.00459cf0
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0xdc]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x70]
mov dword [edi + 8], ecx
mov edx, dword [0x579ba0]
test edx, edx
jne 0x49ed43
mov edx, dword [esp + 0x9c]
mov dword [edi], edx
mov ebx, dword [esp + 0xe8]
test ebx, 0x200
je 0x49ec8f
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x44]
lea ebp, [esi + ebp + 1]
cmp ecx, ebp
jb 0x49ec3b
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x7b
mov ebx, dword [esp + 0xe0]
jmp 0x49e750
lea ebx, [0x4b28c0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00441c70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x579ba0]
test edx, edx
jne 0x49ec88
mov dword [edi], eax
mov ebx, dword [esp + 0xe8]
mov edx, eax
mov eax, ecx
jmp 0x49ec25
call fcn.004593e0
jmp 0x49ec7b
test ebx, 0x80
je 0x49ed35
mov ebp, dword [esp + 0xe4]
mov esi, dword [ebp]
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
xor esi, 1
xchg esi, eax
test al, al
xchg esi, eax
je 0x49ec15
nop
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x44]
lea ebx, [ebp + ebx + 5]
cmp ecx, ebx
jb 0x49ecfa
mov dword [edx + eax], 0x6c696e28
mov byte [edx + eax + 4], 0x29
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x579ba0]
test ecx, ecx
jne 0x49ecf1
mov dword [edi], edx
add esp, 0xd8
ret
mov eax, edx
call fcn.004593e0
jmp 0x49ecea
mov dword [esp + 0x78], ebx
lea ebp, [0x4b28c0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00441c70
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0xdc]
jmp 0x49eccc
mov ebp, dword [esp + 0xe4]
mov esi, ebp
jmp 0x49eca5
mov edx, eax
mov eax, dword [esp + 0x9c]
call fcn.004593e0
mov eax, edx
mov edx, dword [esp + 0x9c]
jmp 0x49ec06
mov dword [esp + 0x98], ebp
lea eax, [0x4b28c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00441c70
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0x98]
jmp 0x49ebbc
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00475c80
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test eax, eax
jne 0x49efd6
mov edi, dword [esp + 0xdc]
movzx ecx, byte [edi + 0x2c]
test cl, cl
jne 0x49ee52
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp ebx, edx
jb 0x49ee13
mov dword [ebp + ecx], 0x6c696e3c
mov byte [ebp + ecx + 4], 0x3e
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x579ba0]
test ecx, ecx
jne 0x49ee07
mov dword [edi], ebp
jmp 0x49e23a
mov eax, ebp
call fcn.004593e0
jmp 0x49e23a
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], edx
lea eax, [0x4b28c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00441c70
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0xdc]
jmp 0x49ede3
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 8], eax
call fcn.00477130
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0xdc]
mov edx, dword [ecx + 4]
mov dword [esp + 0x78], edx
lea ebx, [edx + eax]
mov dword [esp + 0x74], ebx
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp ebx, esi
ja 0x49ef95
mov dword [esp + 0x70], esi
mov dword [esp + 0x9c], edi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.00459cf0
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0xdc]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x70]
mov dword [edi + 8], ecx
mov edx, dword [0x579ba0]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x78]
lea ebx, [ebp + ebx + 5]
test edx, edx
jne 0x49ef79
mov edx, dword [esp + 0x9c]
mov dword [edi], edx
nop
cmp ebx, ecx
ja 0x49ef3e
mov dword [edx + eax], 0x6c696e28
mov byte [edx + eax + 4], 0x29
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x579ba0]
test ecx, ecx
jne 0x49ef32
mov dword [edi], edx
jmp 0x49e23a
mov eax, edx
call fcn.004593e0
jmp 0x49e23a
mov dword [esp + 0x78], ebx
lea ebp, [0x4b28c0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00441c70
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0xdc]
jmp 0x49ef0f
mov edx, eax
mov eax, dword [esp + 0x9c]
call fcn.004593e0
mov eax, edx
mov edx, dword [esp + 0x9c]
jmp 0x49ef0a
mov dword [esp + 0x98], ebp
lea eax, [0x4b28c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00441c70
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0x98]
jmp 0x49eeb8
mov ebx, dword [esp + 0xdc]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xf0]
inc eax
mov dword [esp + 0x14], eax
call fcn.0049dd30
jmp 0x49e23a
cmp edx, 0x17
ja 0x49f1af
cmp edx, 0x16
jne 0x49dde8
test ecx, ecx
je 0x49f16e
xor eax, eax
test al, al
je 0x49e6e3
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00475c80
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
nop
mov ebx, eax
and eax, 0x1f
cmp eax, 0x15
ja 0x49f15a
cmp eax, 0x11
jne 0x49f130
mov dword [esp + 0x7c], ebx
nop
mov eax, dword [esp + 0xdc]
mov ebp, dword [eax + 4]
lea esi, [ebp + 1]
mov edi, dword [eax]
mov ebx, dword [eax + 8]
cmp ebx, esi
jb 0x49f0c0
lea ebx, [ebp + 1]
mov dword [eax + 4], ebx
mov byte [edi + ebp], 0x26
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xf0]
inc eax
mov dword [esp + 0x14], eax
call fcn.0049dd30
add esp, 0xd8
ret
mov dword [esp + 0xa0], edx
mov dword [esp + 0x90], ecx
lea eax, [0x4b28c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.00441c70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x579ba0]
test edx, edx
jne 0x49f129
mov dword [edi], eax
mov edx, dword [esp + 0xa0]
mov ebp, ecx
mov ecx, dword [esp + 0x90]
mov ebx, eax
mov eax, edi
mov edi, ebx
jmp 0x49f080
call fcn.004593e0
jmp 0x49f10e
cmp eax, 0x15
je 0x49f065
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0xe4]
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0xdc]
jmp 0x49e6e3
cmp eax, 0x17
je 0x49f065
cmp eax, 0x19
je 0x49f065
jmp 0x49f139
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00476930
mov eax, dword [esp + 0xc]
test eax, eax
setne al
mov ecx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0xe4]
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0xdc]
jmp 0x49f029
cmp edx, 0x18
je 0x49f76b
cmp edx, 0x19
jne 0x49f749
movzx eax, byte [edi + 0x2c]
test al, al
jne 0x49f646
mov eax, dword [edi + 4]
lea edx, [eax + 1]
mov ecx, dword [edi]
mov esi, dword [edi + 8]
cmp esi, edx
jb 0x49f5e6
lea edx, [eax + 1]
mov dword [edi + 4], edx
mov byte [ecx + eax], 0x7b
xor eax, eax
jmp 0x49f271
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov ecx, dword [esp + 0xe4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xe8]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0xc], ebx
call fcn.0049ade0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xdc]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0xf0]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.0049dd30
mov eax, dword [esp + 0x5c]
inc eax
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0xe4]
mov dword [esp + 0x5c], eax
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0xe8]
mov dword [esp + 8], ecx
call fcn.00476880
mov eax, dword [esp + 0x5c]
cmp dword [esp + 0xc], eax
jle 0x49f574
test eax, eax
jle 0x49f568
mov edi, dword [esp + 0xdc]
movzx ecx, byte [edi + 0x2c]
test cl, cl
je 0x49f4fb
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 2]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp edx, ebx
ja 0x49f4b5
mov word [ebp + ecx], 0x202c
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x579ba0]
test ecx, ecx
jne 0x49f4a5
mov dword [edi], ebp
movzx ecx, byte [edi + 0x2b]
test cl, cl
je 0x49f494
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov ecx, dword [esp + 0xe4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xe8]
mov dword [esp + 8], edx
call fcn.00477130
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x2c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], ecx
call eax
lea edi, [esp + 0xa4]
lea esi, [esp + 8]
call fcn.00459a7e
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xa4]
test eax, eax
je 0x49f488
mov dword [esp + 0x48], eax
nop
mov edx, dword [esp + 0xdc]
mov ebx, dword [edx + 4]
mov dword [esp + 0x78], ebx
lea ebp, [eax + ebx]
mov dword [esp + 0x74], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp ebp, esi
ja 0x49f447
mov dword [esp + 0x9c], edi
mov dword [esp + 0x70], esi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00459cf0
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0xdc]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x70]
mov dword [edi + 8], ecx
mov edx, dword [0x579ba0]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x48]
lea ebx, [ebp + ebx + 1]
test edx, edx
jne 0x49f42e
mov edx, dword [esp + 0x9c]
mov dword [edi], edx
cmp ebx, ecx
ja 0x49f3e1
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x3a
jmp 0x49f1f1
lea ebp, [0x4b28c0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00441c70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x579ba0]
test edx, edx
jne 0x49f427
mov dword [edi], eax
mov edx, eax
mov eax, ecx
jmp 0x49f3d2
call fcn.004593e0
jmp 0x49f421
mov edx, eax
mov eax, dword [esp + 0x9c]
call fcn.004593e0
mov eax, edx
mov edx, dword [esp + 0x9c]
jmp 0x49f3ce
mov dword [esp + 0x88], ecx
lea eax, [0x4b28c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00441c70
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x88]
mov ebx, dword [esp + 0x78]
jmp 0x49f37c
mov edi, dword [esp + 0xdc]
jmp 0x49f1f1
movzx ecx, byte [edi + 0x2c]
test cl, cl
jne 0x49f2f2
jmp 0x49f1f1
mov ecx, eax
mov eax, ebp
call fcn.004593e0
mov eax, ecx
jmp 0x49f2e6
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ecx
lea eax, [0x4b28c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00441c70
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0xdc]
jmp 0x49f2c9
mov ecx, dword [edi + 4]
lea edx, [ecx + 1]
mov ebx, dword [edi]
mov ebp, dword [edi + 8]
cmp edx, ebp
ja 0x49f519
lea edx, [ecx + 1]
mov dword [edi + 4], edx
mov byte [ebx + ecx], 0x20
jmp 0x49f2e6
lea eax, [0x4b28c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00441c70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x579ba0]
test edx, edx
jne 0x49f561
mov dword [edi], eax
mov ebx, eax
mov eax, dword [esp + 0x5c]
jmp 0x49f50a
call fcn.004593e0
jmp 0x49f559
mov edi, dword [esp + 0xdc]
jmp 0x49f2e6
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jb 0x49f599
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x7d
jmp 0x49e23a
lea eax, [0x4b28c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00441c70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x579ba0]
test edx, edx
jne 0x49f5df
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x49f58a
call fcn.004593e0
jmp 0x49f5d9
lea ebx, [0x4b28c0]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
call fcn.00441c70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x579ba0]
test edx, edx
jne 0x49f63f
mov dword [edi], eax
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0xe4]
mov edx, eax
mov eax, ecx
mov ecx, edx
jmp 0x49f1e0
call fcn.004593e0
jmp 0x49f626
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00477130
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xdc]
mov edx, dword [ecx + 4]
lea ebx, [eax + edx]
mov dword [esp + 0x78], ebx
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jb 0x49f700
mov dword [esp + 0x74], esi
mov dword [esp + 0x9c], edi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.00459cf0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xdc]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x74]
mov dword [edi + 8], eax
mov eax, dword [0x579ba0]
test eax, eax
jne 0x49f6f2
mov eax, dword [esp + 0x9c]
mov dword [edi], eax
mov ecx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0xe4]
mov esi, dword [esp + 0xe8]
jmp 0x49f1cd
mov eax, dword [esp + 0x9c]
call fcn.004593e0
jmp 0x49f6d1
mov dword [esp + 0x74], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x98], ebp
lea eax, [0x4b28c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00441c70
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x98]
jmp 0x49f68b
cmp edx, 0x1a
je 0x49e6e3
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call fcn.0049ae80
jmp 0x49e23a
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00477040
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xdc]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0xec]
mov dword [esp + 0xc], eax
call fcn.0049bd60
jmp 0x49e23a
cmp edx, 0xc
ja 0x49fa2c
cmp edx, 1
ja 0x49f94c
test edx, edx
jne 0x49f914
test ecx, ecx
jne 0x49f878
nop
mov eax, dword [edi + 4]
lea ecx, [eax + 0x17]
mov dword [esp + 0x78], ecx
mov edx, dword [edi + 8]
mov ebx, dword [edi]
cmp ecx, edx
ja 0x49f845
mov dword [esp + 0x74], edx
mov dword [esp + 0x9c], ebx
add eax, ebx
mov dword [esp], eax
lea eax, [0x4c9450]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
call fcn.00459cf0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xdc]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x74]
mov dword [edi + 8], eax
mov eax, dword [0x579ba0]
test eax, eax
jne 0x49f834
mov eax, dword [esp + 0x9c]
mov dword [edi], eax
jmp 0x49e23a
mov eax, dword [esp + 0x9c]
call fcn.004593e0
jmp 0x49e23a
mov dword [esp + 0x74], eax
lea ebp, [0x4b28c0]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.00441c70
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
jmp 0x49f7e0
mov ecx, dword [esp + 0xec]
cmp ecx, 0x76
jne 0x49f903
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp edx, ebx
ja 0x49f8c4
mov dword [ebp + ecx], 0x6c696e3c
mov byte [ebp + ecx + 4], 0x3e
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x579ba0]
test ecx, ecx
jne 0x49f8b8
mov dword [edi], ebp
jmp 0x49e23a
mov eax, ebp
call fcn.004593e0
jmp 0x49e23a
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ecx
lea eax, [0x4b28c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00441c70
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0xdc]
jmp 0x49f894
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.0049b0f0
jmp 0x49e23a
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004753c0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0xdc]
mov dword [esp], ecx
mov byte [esp + 4], al
mov eax, dword [esp + 0xec]
mov dword [esp + 8], eax
call fcn.0049b610
jmp 0x49e23a
cmp edx, 6
ja 0x49f9ba
cmp edx, 3
ja 0x49f993
cmp edx, 2
jne 0x49f988
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
mov dword [esp], edi
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov byte [esp + 0xc], 1
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
call fcn.0049b700
jmp 0x49e23a
movsx eax, byte [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x49f963
cmp edx, 4
jne 0x49f9a3
movsx eax, word [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x49f963
cmp edx, 5
jne 0x49f9b2
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x49f963
mov ecx, dword [ebp]
mov eax, dword [ebp + 4]
jmp 0x49f963
cmp edx, 7
jb 0x49f752
cmp edx, 9
ja 0x49fa0c
cmp edx, 7
jne 0x49f9f7
mov eax, dword [ebp]
xor ecx, ecx
mov dword [esp], edi
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov byte [esp + 0xc], 0
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
call fcn.0049b700
jmp 0x49e23a
cmp edx, 8
jne 0x49fa04
movzx eax, byte [ebp]
xor ecx, ecx
jmp 0x49f9d2
movzx eax, word [ebp]
xor ecx, ecx
jmp 0x49f9d2
cmp edx, 0xa
jne 0x49fa18
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x49f9d2
cmp edx, 0xb
jne 0x49fa25
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
jmp 0x49f9d2
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x49f9d2
cmp edx, 0xe
ja 0x49fa90
cmp edx, 0xd
jne 0x49fa65
movss xmm0, dword [ebp]
mov dword [esp], edi
cvtss2sd xmm0, xmm0
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x20
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
call fcn.0049ba10
jmp 0x49e23a
movsd xmm0, qword [ebp]
mov dword [esp], edi
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x40
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
call fcn.0049ba10
jmp 0x49e23a
cmp edx, 0xf
jne 0x49fad3
movss xmm0, dword [ebp]
movss xmm1, dword [ebp + 4]
mov dword [esp], edi
cvtss2sd xmm0, xmm0
movsd qword [esp + 4], xmm0
cvtss2sd xmm0, xmm1
movsd qword [esp + 0xc], xmm0
mov dword [esp + 0x14], 0x40
mov eax, dword [esp + 0xec]
mov dword [esp + 0x18], eax
call fcn.0049bb80
jmp 0x49e23a
movsd xmm0, qword [ebp]
movsd xmm1, qword [ebp + 8]
mov dword [esp], edi
movsd qword [esp + 4], xmm0
movsd qword [esp + 0xc], xmm1
mov dword [esp + 0x14], pe_nt_image_headers32
mov eax, dword [esp + 0xec]
mov dword [esp + 0x18], eax
call fcn.0049bb80
jmp 0x49e23a
lea esi, [edi + 0x14]
mov eax, edi
mov edi, esi
mov ebx, eax
mov eax, dword [esp + 0xe0]
call fcn.004593e0
lea edi, [ebx + 0x18]
mov ebp, eax
mov eax, dword [esp + 0xe4]
call fcn.004593e0
mov ebx, ebp
mov ebp, eax
mov edi, dword [esp + 0xdc]
jmp 0x49ddbe
lea ebx, [edi + 0x10]
mov eax, edi
mov edi, ebx
mov ebp, eax
xor eax, eax
call fcn.004593e0
mov edi, ebp
jmp 0x49dd99
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov ecx, dword [esp + 0xe4]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.00476090
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xdc]
mov dword [edx + 0xc], ecx
mov ecx, dword [0x579ba0]
test ecx, ecx
jne 0x49fbce
mov dword [edx + 0x10], eax
mov dword [esp], edx
mov eax, dword [esp + 0xec]
mov dword [esp + 4], eax
call fcn.0049cf40
movzx eax, byte [esp + 8]
test al, al
jne 0x49fbc7
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xe8]
jmp 0x49dd76
add esp, 0xd8
ret
lea edi, [edx + 0x10]
call fcn.004593e0
jmp 0x49fb98
mov edx, dword [esp + 0xe8]
jmp 0x49dd76
call fcn.00459460
lea eax, [0x4b69c0]
mov dword [esp], eax
call fcn.0040b0e0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x4c7f77]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
lea ecx, [0x4b3be0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00430030
mov eax, ebp
call fcn.00459460
nop
call fcn.00457e80
jmp fcn.0049dd30