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

Disassembly:
mov ecx, dword [0x8602c0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x138]
cmp eax, dword [ecx + 8]
jbe 0x4d5e7a
sub esp, 0x1b8
mov eax, dword [esp + 0x1c0]
mov dword [esp], eax
mov ecx, dword [esp + 0x1c4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x1c8]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 0
call fcn.004d35b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
jne 0x4d4819
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4d4374
mov eax, dword [esp + 0x1c0]
mov dword [esp], eax
mov eax, dword [esp + 0x1c4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1c8]
mov dword [esp + 8], eax
call fcn.004933c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x164], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x160], ecx
lea edx, [0x625260]
mov dword [esp], edx
call fcn.0040c2d0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x63969d]
mov dword [eax], ecx
mov ecx, dword [esp + 0x164]
mov dword [eax + 8], ecx
mov ecx, dword [0x860560]
test ecx, ecx
jne 0x4d42e0
mov ecx, dword [esp + 0x160]
jmp 0x4d42ee
call fcn.00467c40
mov ecx, dword [esp + 0x160]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x1bc]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x10], edx
sar edx, 0x1f
mov dword [eax + 0x14], edx
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x4d434f
mov dword [esp], ecx
lea edx, [0x689e98]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1bc]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d434a
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
mov ecx, edx
mov dword [esp], ecx
call fcn.004d3000
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1d0], 0
add esp, 0x1b8
ret
mov eax, dword [esp + 0x28]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x15c], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x158], edx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004933c0
mov eax, dword [esp + 0xa0]
mov ecx, eax
and eax, 0x1f
mov dword [esp + 0x9c], eax
mov edx, dword [esp + 0x10]
mov dword [esp + 0x110], edx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x164], ebx
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x34], ebp
nop
cmp eax, 0x14
je 0x4d43e0
xor esi, esi
jmp 0x4d4429
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov edx, dword [esp + 0x15c]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00491f30
mov eax, dword [esp + 0xc]
test eax, eax
sete al
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x110]
mov ebx, dword [esp + 0x164]
mov ebp, dword [esp + 0x34]
mov esi, eax
mov eax, dword [esp + 0x9c]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4d4774
lea edi, [esp + 0x1a4]
mov esi, eax
xor eax, eax
call fcn.00467eeb
cmp esi, 0x15
je 0x4d4552
cmp esi, 0x19
jne 0x4d4480
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.004dfe50
lea edi, [esp + 0x1a4]
lea esi, [esp + 8]
call fcn.004683ce
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x15c]
jmp 0x4d4668
lea eax, [0x625260]
mov dword [esp], eax
call fcn.0040c2d0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x63969d]
mov dword [eax], ecx
mov ecx, dword [esp + 0x164]
mov dword [eax + 8], ecx
mov ecx, dword [0x860560]
test ecx, ecx
jne 0x4d44be
mov ecx, dword [esp + 0x110]
jmp 0x4d44cc
call fcn.00467c40
mov ecx, dword [esp + 0x110]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x1bc]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x10], edx
sar edx, 0x1f
mov dword [eax + 0x14], edx
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x4d452d
mov dword [esp], ecx
lea edx, [0x689e98]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1bc]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d4528
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
mov ecx, edx
mov dword [esp], ecx
call fcn.004d3000
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1d0], 0
add esp, 0x1b8
ret
mov eax, dword [ebp + 0x4c]
mov dword [esp], edx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
lea ecx, [eax - 2]
cmp ecx, 0xa
jbe 0x4d45da
cmp eax, 0x18
je 0x4d45da
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x4c]
mov edx, dword [esp + 0x110]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
nop
lea ecx, [0x68b1a4]
cmp eax, ecx
jne 0x4d5e5d
mov eax, dword [esp + 8]
mov dword [esp], eax
call fcn.0048d2c0
mov eax, dword [0x839ea0]
mov ecx, dword [0x839ea4]
mov edx, dword [esp + 4]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0048d580
movzx eax, byte [esp + 0xc]
test al, al
je 0x4d46a2
mov ecx, dword [esp + 0xa0]
test ecx, 0x200
je 0x4d45f2
mov edx, dword [esp + 0x15c]
jmp 0x4d4668
test ecx, 0x80
je 0x4d4605
mov edx, dword [esp + 0x15c]
mov ebx, dword [edx]
jmp 0x4d460e
mov edx, dword [esp + 0x15c]
mov ebx, edx
test ebx, ebx
jne 0x4d4668
nop
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
call fcn.00493ac0
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov ecx, dword [esp + 0x15c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xa0]
mov dword [esp + 8], edx
call fcn.00492250
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x15c]
lea edi, [esp + 0x190]
xor eax, eax
call fcn.00467eeb
mov ecx, dword [esp + 0x1bc]
mov esi, dword [ecx + 0x38]
test esi, esi
je 0x4d4697
lea edi, [esp + 0x190]
call fcn.004683ce
mov ecx, dword [esp + 0x1bc]
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x4d48cc
lea eax, [0x625260]
mov dword [esp], eax
call fcn.0040c2d0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x63969d]
mov dword [eax], ecx
mov ecx, dword [esp + 0x164]
mov dword [eax + 8], ecx
mov ecx, dword [0x860560]
test ecx, ecx
jne 0x4d46e0
mov ecx, dword [esp + 0x110]
jmp 0x4d46ee
call fcn.00467c40
mov ecx, dword [esp + 0x110]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x1bc]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x10], edx
sar edx, 0x1f
mov dword [eax + 0x14], edx
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x4d474f
mov dword [esp], ecx
lea edx, [0x689e98]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1bc]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d474a
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
mov ecx, edx
mov dword [esp], ecx
call fcn.004d3000
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1d0], 0
add esp, 0x1b8
ret
mov eax, dword [esp + 0x1bc]
mov dword [esp], eax
call fcn.004d8770
mov eax, dword [esp + 4]
nop
lea ecx, [0x60f2e0]
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x180]
test eax, eax
je 0x4d47c5
movzx ecx, byte [eax + 0xf]
nop
mov edx, ecx
and ecx, 0x1f
test dl, 0x20
jne 0x4d47bc
or ecx, 0x80
mov edx, dword [esp + 0x184]
jmp 0x4d47cb
xor ecx, ecx
xor eax, eax
xor edx, edx
mov ebx, dword [esp + 0x158]
mov dword [esp], ebx
mov ebx, dword [esp + 0x15c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xa0]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
call fcn.00492250
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1d0], 0
add esp, 0x1b8
ret
mov dword [esp + 0x30], eax
mov dword [esp + 0x10c], ecx
nop
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x98], ecx
mov dword [esp], eax
call fcn.004d3000
mov eax, dword [esp + 0x1bc]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
cmp edx, ecx
jb 0x4d48b3
mov ebx, dword [esp + 0x98]
lea ebp, [ebx - 1]
cmp ecx, ebp
jb 0x4d48ac
mov esi, dword [esp + 0x30]
mov esi, dword [esi + 0x10]
mov eax, dword [eax]
mov edi, dword [esp + 0x10c]
mov dword [esp], edi
sub ecx, ebx
sub edx, ebx
inc edx
mov ebx, edx
neg edx
inc ecx
sar edx, 0x1f
and ebp, edx
add eax, ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
call esi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], ecx
add esp, 0x1b8
ret
mov eax, ebp
call fcn.00467d10
call fcn.00467cf0
mov ecx, eax
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x128]
mov esi, dword [esp + 0x12c]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x12c], esi
mov dword [esp + 0x128], ebp
mov dword [esp], ecx
mov dword [esp + 4], 9
call fcn.004d3120
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 0x10]
cmp ecx, 5
je 0x4d58a8
cmp ecx, 1
jne 0x4d5e45
nop
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x98], ecx
mov dword [esp], eax
call fcn.004d31e0
mov eax, dword [esp + 0x1bc]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
lea ebx, [ecx - 1]
nop
cmp edx, ebx
jb 0x4d5e3e
mov ebp, dword [esp + 0x98]
lea esi, [ebp - 1]
cmp ebx, esi
jb 0x4d5e35
mov ebx, dword [eax]
sub ecx, ebp
mov dword [esp + 0x68], ecx
sub edx, ebp
inc edx
mov dword [esp + 0x6c], edx
mov edi, edx
neg edx
sar edx, 0x1f
and esi, edx
lea edx, [ebx + esi]
mov dword [esp + 0x138], edx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004d8cb0
movzx eax, byte [esp + 0x18]
test al, al
je 0x4d5e1d
mov eax, dword [esp + 0xc]
mov dword [esp + 0x11c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x40], edx
mov ebx, dword [esp + 0x9c]
cmp ebx, 0x15
jne 0x4d4a48
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x110]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x4d49ff
mov ecx, dword [esp + 0x128]
mov dword [esp], ecx
mov edx, dword [esp + 0x12c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004915d0
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x128]
mov esi, dword [esp + 0x12c]
jmp 0x4d4a3b
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00493c40
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00490de0
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
xor ecx, ecx
mov edx, ebx
mov eax, ebp
mov edi, esi
jmp 0x4d4c3c
mov ecx, dword [esp + 0x1b0]
lea ebx, [0x60f320]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.00410390
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test eax, eax
jne 0x4d4aea
lea edi, [esp + 0xac]
xor eax, eax
call fcn.00467ee8
lea ecx, [esp + 0xac]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0x20
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x14], ebx
call fcn.004dffe0
mov ecx, dword [esp + 0x1b4]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
lea ebp, [0x60f320]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
call fcn.00410390
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
test eax, eax
je 0x4d4b38
mov dword [esp + 0x134], eax
movzx ebx, byte [eax + 0x3d]
mov byte [esp + 0x2f], bl
mov ebp, dword [eax + 0x2c]
mov dword [esp + 0x94], ebp
mov esi, dword [eax + 0x28]
mov dword [esp + 0x154], esi
mov edi, dword [esp + 0xa0]
mov edx, dword [esp + 0x158]
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0xa4], eax
xor eax, eax
mov dword [esp + 0x74], eax
jmp 0x4d5a6d
mov eax, dword [esp + 0x1bc]
movzx ecx, byte [eax + 0x45]
test cl, cl
je 0x4d4c1e
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x44]
mov dword [esp + 8], edx
call fcn.00409b90
mov eax, dword [esp + 0xc]
lea ecx, [0x607340]
mov dword [esp + 0x188], ecx
mov dword [esp + 0x18c], eax
lea eax, [0x63f1d5]
mov dword [esp], eax
mov dword [esp + 4], 0x16
lea edx, [esp + 0x188]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c9020
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 0x3c]
nop
test ecx, ecx
jne 0x4d4c1e
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1bc]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d4c19
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
mov eax, edx
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
mov esi, dword [esp + 0x12c]
mov eax, ebx
mov edi, ebp
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x128]
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x12c], esi
mov dword [esp + 0x128], ebp
mov dword [esp + 0x124], edi
mov dword [esp + 0x120], eax
mov byte [esp + 0x2f], cl
mov ebx, dword [esp + 0x1bc]
cmp dword [ebx + 0x10], 9
jne 0x4d4cad
mov dword [esp], ebx
mov dword [esp + 4], 9
call fcn.004d3120
mov eax, dword [esp + 0x120]
movzx ecx, byte [esp + 0x2f]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x1bc]
mov ebp, dword [esp + 0x128]
mov esi, dword [esp + 0x12c]
mov edi, dword [esp + 0x124]
cmp dword [ebx + 0x10], 3
jne 0x4d5a12
mov dword [esp], ebx
mov dword [esp + 4], 9
call fcn.004d3120
movzx eax, byte [esp + 0x2f]
test al, al
je 0x4d4f20
mov eax, dword [esp + 0x1bc]
mov dword [esp], eax
call fcn.004d34f0
mov eax, dword [esp + 4]
test eax, eax
je 0x4d4eaa
cmp dword [eax + 8], 0x778cdb8
jne 0x4d4d9e
mov eax, dword [esp + 4]
lea ecx, [0x60d940]
cmp eax, ecx
jne 0x4d4d9e
mov eax, dword [esp + 8]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004519f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1bc]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x120]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x18], edx
mov byte [esp + 0x1c], 1
call fcn.004d6070
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x4d58c5
mov eax, dword [esp + 0x9c]
cmp eax, 0x15
mov eax, dword [esp + 0x1bc]
mov ebx, dword [esp + 0x9c]
jmp 0x4d4f71
mov eax, dword [esp + 0x120]
mov dword [esp], eax
mov ecx, dword [esp + 0x124]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x48]
mov dword [esp + 8], edx
call fcn.004933c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
test eax, eax
je 0x4d4de5
mov eax, dword [eax + 4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
lea eax, [0x64be58]
mov dword [esp], eax
mov dword [esp + 4], 0x53
lea ecx, [esp + 0x188]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c9020
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 0x3c]
nop
test ecx, ecx
je 0x4d4e42
mov ebx, dword [esp + 0x9c]
cmp ebx, 0x15
jmp 0x4d4f71
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1bc]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
jne 0x4d4e82
mov eax, dword [esp + 0x9c]
cmp eax, 0x15
jmp 0x4d4e99
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x9c]
cmp eax, 0x15
mov dword [edx + 0x40], ecx
mov eax, edx
mov ebx, dword [esp + 0x9c]
jmp 0x4d4f71
mov eax, dword [str.null]
mov ecx, dword [0x82fb1c]
mov edx, dword [0x82fb20]
mov ebx, dword [esp + 0x1bc]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x120]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x18], edx
mov byte [esp + 0x1c], 0
call fcn.004d6070
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x4d58e2
mov eax, dword [esp + 0x9c]
cmp eax, 0x15
mov eax, dword [esp + 0x1bc]
mov ebx, dword [esp + 0x9c]
jmp 0x4d4f71
mov eax, dword [esp + 0x1bc]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x124]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x48]
mov dword [esp + 0xc], ebx
call fcn.004d3330
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4d591c
mov eax, dword [esp + 0x9c]
cmp eax, 0x15
mov eax, dword [esp + 0x1bc]
mov ebx, dword [esp + 0x9c]
jne 0x4d5825
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x4c]
mov edx, dword [esp + 0x110]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
lea edx, [0x68b1a4]
cmp eax, edx
jne 0x4d59f6
mov dword [esp + 0x64], ecx
mov dword [esp + 0x160], eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
mov dword [esp + 0x130], ecx
mov dword [esp], eax
call fcn.0048d2c0
mov eax, dword [0x839ea0]
mov ecx, dword [0x839ea4]
mov edx, dword [esp + 4]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0048d580
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4d570c
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x50]
mov edx, dword [esp + 0x130]
mov dword [esp], edx
call ecx
cmp dword [esp + 4], 0x18
jne 0x4d50b0
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 8], eax
call fcn.00409b90
mov eax, dword [esp + 0xc]
lea ecx, [0x607340]
mov dword [esp + 0x178], ecx
mov dword [esp + 0x17c], eax
mov edx, dword [esp + 0x178]
test edx, edx
je 0x4d5068
movzx ebx, byte [edx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x4d506e
or ebx, 0x80
jmp 0x4d506e
xor ebx, ebx
xor edx, edx
xor eax, eax
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x160]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x10], eax
call fcn.00493fc0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0x1bc]
jmp 0x4d57c4
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0x50]
mov ecx, dword [esp + 0x130]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
lea ecx, [eax - 2]
cmp ecx, 4
jbe 0x4d53d8
add eax, 0xfffffff9
cmp eax, 5
ja 0x4d59de
lea eax, [esp + 0xcc]
mov dword [esp], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
call fcn.00451850
mov eax, dword [esp + 0xc]
mov dword [esp + 0x114], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x38], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.004803c0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
je 0x4d514a
mov eax, 1
jmp 0x4d522b
mov dword [esp + 0x54], ecx
mov dword [esp + 0x60], edx
mov eax, dword [esp + 0x160]
mov dword [esp], eax
mov ecx, dword [esp + 0x130]
mov dword [esp + 4], ecx
call fcn.00493b60
mov eax, dword [esp + 0x10]
and eax, 0x1f
lea ecx, [eax - 7]
cmp ecx, 5
ja 0x4d599a
mov eax, dword [esp + 8]
mov eax, dword [eax]
shl eax, 3
lea ecx, [eax - 0x40]
neg ecx
mov eax, dword [esp + 0x54]
mov edx, eax
shl eax, cl
mov ebx, dword [esp + 0x60]
shl ebx, cl
lea esi, [ecx - 0x20]
mov edi, ecx
mov ecx, esi
shl edx, cl
neg ecx
mov dword [esp + 0x90], ecx
mov ebp, dword [esp + 0x54]
shr ebp, cl
cmp ecx, 0x20
sbb ecx, ecx
mov dword [esp + 0x8c], ecx
and ebp, ecx
cmp esi, 0x20
sbb ecx, ecx
mov dword [esp + 0x88], ecx
and edx, ecx
cmp edi, 0x20
sbb ecx, ecx
and eax, ecx
and ebx, ecx
or ebp, ebx
or ebp, edx
mov edx, ecx
mov ecx, edi
mov ebx, ebp
shr ebp, cl
and ebp, edx
shr eax, cl
and eax, edx
mov ecx, esi
mov edx, ebx
shr ebx, cl
mov esi, dword [esp + 0x88]
and ebx, esi
mov ecx, dword [esp + 0x90]
shl edx, cl
mov esi, dword [esp + 0x8c]
and edx, esi
or eax, edx
or eax, ebx
mov edx, dword [esp + 0x54]
cmp edx, eax
setne al
mov ebx, dword [esp + 0x60]
cmp ebx, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
or eax, ebp
mov ecx, edx
mov edx, ebx
test al, al
je 0x4d5348
lea eax, [0x625260]
mov dword [esp], eax
call fcn.0040c2d0
mov eax, dword [esp + 4]
mov dword [esp + 0x150], eax
mov dword [esp], 0
lea ecx, [0x639914]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov edx, dword [esp + 0x114]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x10], edx
call fcn.004515b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x150]
mov dword [edx + 4], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d52a5
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx]
mov dword [edi + 4], eax
mov dword [edx], ecx
mov eax, dword [esp + 0x160]
mov dword [edx + 8], eax
mov eax, dword [0x860560]
test eax, eax
jne 0x4d52c4
mov eax, dword [esp + 0x130]
jmp 0x4d52d8
call fcn.00467c50
mov eax, dword [esp + 0x130]
mov dword [edi], eax
mov ebx, dword [edx + 0xc]
mov dword [edi + 4], ebx
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x98]
mov dword [edx + 0x10], eax
sar eax, 0x1f
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x1bc]
mov ebx, dword [eax + 0x3c]
test ebx, ebx
jne 0x4d533d
mov dword [esp], eax
lea ecx, [0x689e98]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1bc]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d5338
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
mov eax, edx
xor edx, edx
xor ecx, ecx
xor ebx, ebx
jmp 0x4d57c4
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00409a60
mov eax, dword [esp + 8]
lea ecx, [0x60dd40]
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
mov edx, dword [esp + 0x168]
test edx, edx
je 0x4d5390
movzx ebx, byte [edx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x4d5396
or ebx, 0x80
jmp 0x4d5396
xor ebx, ebx
xor edx, edx
xor eax, eax
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x160]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x10], eax
call fcn.00493fc0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0x1bc]
jmp 0x4d57c4
lea eax, [esp + 0xec]
mov dword [esp], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
call fcn.00451850
mov eax, dword [esp + 0xc]
mov dword [esp + 0x118], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.00480de0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test eax, eax
je 0x4d5443
mov ebp, 1
jmp 0x4d555d
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], edx
mov eax, dword [esp + 0x160]
mov dword [esp], eax
mov ecx, dword [esp + 0x130]
mov dword [esp + 4], ecx
call fcn.00493b60
mov eax, dword [esp + 0x10]
and eax, 0x1f
lea ecx, [eax - 2]
cmp ecx, 4
ja 0x4d5956
mov eax, dword [esp + 8]
mov eax, dword [eax]
shl eax, 3
lea ecx, [eax - 0x40]
neg ecx
mov dword [esp + 0x84], ecx
mov eax, dword [esp + 0x5c]
shl eax, cl
mov ebx, dword [esp + 0x58]
mov ebp, ebx
shl ebx, cl
lea esi, [ecx - 0x20]
mov edi, ecx
mov ecx, esi
shl ebp, cl
neg ecx
mov dword [esp + 0x90], ecx
mov edx, dword [esp + 0x58]
shr edx, cl
shr edi, 5
mov dword [esp + 0x8c], edi
cmp ecx, 0x20
sbb edi, edi
mov dword [esp + 0x88], edi
and edx, edi
cmp esi, 0x20
sbb edi, edi
and ebp, edi
xchg edi, ebx
not ebx
xchg edi, ebx
or edi, esi
mov dword [esp + 0x80], edi
mov esi, dword [esp + 0x84]
cmp esi, 0x20
sbb edi, edi
sbb ecx, ecx
and ebx, edi
and eax, edi
or edx, eax
or ebp, edx
mov dword [esp + 0x7c], ebp
mov eax, ecx
mov ecx, esi
shr ebx, cl
mov ecx, dword [esp + 0x90]
mov edx, ebp
shl ebp, cl
mov ecx, dword [esp + 0x80]
sar edx, cl
and ebx, edi
mov edi, dword [esp + 0x88]
and ebp, edi
or ebx, ebp
not eax
or esi, eax
mov ecx, esi
mov eax, dword [esp + 0x7c]
sar eax, cl
mov ebp, dword [esp + 0x8c]
cmp ebp, 1
sbb ebp, ebp
xor ebp, 0xffffffff
and ebp, edx
or ebp, ebx
mov edx, dword [esp + 0x5c]
cmp edx, eax
setne al
mov ebx, dword [esp + 0x58]
cmp ebx, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebp, eax
mov ecx, edx
mov edx, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4d567c
lea eax, [0x625260]
mov dword [esp], eax
call fcn.0040c2d0
mov eax, dword [esp + 4]
mov dword [esp + 0x150], eax
mov dword [esp], 0
lea ecx, [0x639914]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov edx, dword [esp + 0x118]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x10], edx
call fcn.004515b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x150]
mov dword [edx + 4], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d55d9
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx]
mov dword [edi + 4], eax
mov dword [edx], ecx
mov eax, dword [esp + 0x160]
mov dword [edx + 8], eax
mov eax, dword [0x860560]
test eax, eax
jne 0x4d55f8
mov eax, dword [esp + 0x130]
jmp 0x4d560c
call fcn.00467c50
mov eax, dword [esp + 0x130]
mov dword [edi], eax
mov ebx, dword [edx + 0xc]
mov dword [edi + 4], ebx
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x98]
mov dword [edx + 0x10], eax
sar eax, 0x1f
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x1bc]
mov ebx, dword [eax + 0x3c]
test ebx, ebx
jne 0x4d5671
mov dword [esp], eax
lea ecx, [0x689e98]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1bc]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d566c
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
mov eax, edx
xor edx, edx
xor ecx, ecx
xor ebx, ebx
jmp 0x4d57c4
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.00409a60
mov eax, dword [esp + 8]
lea ecx, [0x60db80]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], eax
mov edx, dword [esp + 0x170]
test edx, edx
je 0x4d56c4
movzx ebx, byte [edx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x4d56ca
or ebx, 0x80
jmp 0x4d56ca
xor ebx, ebx
xor edx, edx
xor eax, eax
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x160]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x10], eax
call fcn.00493fc0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0x1bc]
jmp 0x4d57c4
mov eax, dword [esp + 0x160]
mov dword [esp], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 4], eax
call fcn.00493c40
mov eax, dword [esp + 8]
mov dword [esp + 0x14c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x148], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x78], edx
mov ebx, dword [esp + 0x1bc]
mov dword [esp], ebx
mov ebp, dword [esp + 0x138]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x68]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
mov byte [esp + 0x1c], 1
call fcn.004d6070
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x4d58ff
mov eax, dword [esp + 0x14c]
mov dword [esp], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.00490de0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0x1bc]
test edx, edx
je 0x4d581e
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov ebp, dword [esp + 0x15c]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xa0]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x20], ecx
call fcn.00492a30
mov eax, dword [esp + 0x1bc]
mov ebx, dword [esp + 0x9c]
cmp dword [eax + 0x10], 9
jne 0x4d5849
mov dword [esp], eax
mov dword [esp + 4], 9
call fcn.004d3120
mov eax, dword [esp + 0x1bc]
mov ebx, dword [esp + 0x9c]
mov ebp, dword [eax + 0x38]
test ebp, ebp
je 0x4d5892
mov edx, dword [ebp + 0x10]
mov ecx, dword [esp + 0x19c]
cmp ecx, edx
ja 0x4d5951
mov dword [ebp + 0xc], ecx
mov ecx, dword [eax + 0x38]
mov edx, dword [esp + 0x190]
mov ebp, dword [esp + 0x194]
mov dword [ecx], edx
mov edx, dword [0x860560]
test edx, edx
je 0x4d588f
call fcn.00467c50
mov dword [edi], ebp
mov edx, dword [ecx + 4]
mov dword [edi + 4], edx
mov dword [ecx + 4], ebp
mov ecx, dword [eax + 0x10]
cmp ecx, 5
je 0x4d58a8
cmp ecx, 4
je 0x4d48b8
jmp 0x4d5939
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1d0], 0
add esp, 0x1b8
ret
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], ecx
add esp, 0x1b8
ret
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], ecx
add esp, 0x1b8
ret
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], ecx
add esp, 0x1b8
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], ecx
add esp, 0x1b8
ret
lea eax, [0x60d940]
mov dword [esp], eax
lea eax, [0x6894b0]
mov dword [esp + 4], eax
call fcn.00438060
call fcn.00467cf0
mov dword [esp + 0xa0], eax
lea eax, [0x6195a0]
mov dword [esp], eax
call fcn.0040c2d0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x19
lea ecx, [0x640ad7]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa0]
mov dword [eax + 8], ecx
lea ecx, [0x6120a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00438060
mov dword [esp + 0xa0], eax
lea eax, [0x6195a0]
mov dword [esp], eax
call fcn.0040c2d0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1a
lea ecx, [0x641324]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa0]
mov dword [eax + 8], ecx
lea ecx, [0x6120a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00438060
lea eax, [0x60d940]
mov dword [esp], eax
lea eax, [0x6894b8]
mov dword [esp + 4], eax
call fcn.00438060
mov ecx, dword [0x68b1a8]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x6308c0]
mov dword [esp + 8], eax
call fcn.004098a0
lea eax, [0x60d940]
mov dword [esp], eax
lea eax, [0x6894b0]
mov dword [esp + 4], eax
call fcn.00438060
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebx
call fcn.00490f90
mov eax, dword [esp + 0x74]
inc eax
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x154]
mov ebp, dword [esp + 0x94]
movzx ebx, byte [esp + 0x2f]
mov esi, dword [esp + 0x154]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x74]
cmp eax, ebp
jge 0x4d5c85
mov dword [esp + 0x70], edi
and edi, 0x1f
mov ebx, dword [esi + eax*4]
nop
cmp edi, 0x16
jne 0x4d5b92
mov dword [esp + 0x50], ebx
mov edi, dword [esp + 0x70]
test edi, 0x200
jne 0x4d5b6d
mov dword [esp + 0x144], ecx
test edi, 0x80
je 0x4d5abb
mov esi, dword [ecx]
mov ecx, esi
mov esi, dword [esp + 0x154]
test ecx, ecx
je 0x4d5acb
mov ecx, dword [esp + 0x144]
jmp 0x4d5b6d
mov ecx, edi
and edi, 0x160
cmp edi, 0x100
jne 0x4d5b9b
mov dword [esp + 0x140], edx
mov dword [esp], edx
mov eax, dword [esp + 0x144]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004933c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00493c40
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x140]
mov dword [esp], ebx
mov ebp, dword [esp + 0x144]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x70]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.00492250
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x140]
mov edi, dword [esp + 0x70]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.00490de0
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x50]
jmp 0x4d5a2a
mov edi, dword [esp + 0x70]
jmp 0x4d5a2a
mov dword [esp], edx
mov eax, dword [esp + 0x144]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004933c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
test eax, eax
je 0x4d5be7
mov eax, dword [eax + 4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
lea eax, [0x64a91c]
mov dword [esp], eax
mov dword [esp + 4], 0x3a
lea ecx, [esp + 0x188]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c9020
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 0x3c]
nop
test ecx, ecx
jne 0x4d5c7b
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1bc]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d5c76
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
mov eax, edx
xor ebx, ebx
xor edi, edi
xor edx, edx
xor ecx, ecx
jmp 0x4d5c8c
mov eax, dword [esp + 0x1bc]
mov dword [esp + 0x48], edi
mov dword [esp + 0x124], ecx
mov dword [esp + 0x120], edx
mov byte [esp + 0x2f], bl
mov ebp, dword [eax + 0x38]
test ebp, ebp
jne 0x4d5cfc
lea eax, [0x6191e0]
mov dword [esp], eax
call fcn.0040c2d0
mov eax, dword [0x860560]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x4d5cce
mov eax, dword [esp + 0x1bc]
jmp 0x4d5ce2
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [esp + 0x1bc]
mov edx, dword [eax + 0x38]
mov dword [edi + 4], edx
mov dword [eax + 0x38], ecx
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
movzx ebx, byte [esp + 0x2f]
mov edi, dword [esp + 0x48]
mov ebp, dword [eax + 0x38]
mov esi, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
inc ecx
mov edx, dword [ebp + 8]
mov ebx, dword [esp + 0x134]
mov edi, dword [ebx]
mov ebx, dword [ebx + 4]
cmp esi, ecx
jae 0x4d5da1
mov dword [esp + 0x94], ebx
mov dword [esp + 0x160], edi
mov dword [esp + 0x13c], ebp
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x60d940]
mov dword [esp + 0x10], eax
call fcn.0044dbe0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x13c]
mov dword [ebx + 0x10], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d5d81
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [ebx + 8]
mov dword [edi + 4], eax
mov dword [ebx + 8], ecx
mov eax, dword [esp + 0x1bc]
mov ebp, ebx
mov edi, dword [esp + 0x160]
mov ebx, dword [esp + 0x94]
mov esi, ecx
mov ecx, edx
mov edx, esi
mov dword [ebp + 0xc], ecx
lea ebp, [edx + ecx*8 - 4]
mov dword [ebp], ebx
mov ebx, dword [0x860560]
lea ecx, [edx + ecx*8 - 8]
test ebx, ebx
je 0x4d5dc9
mov edx, edi
call fcn.00467c50
mov dword [edi], edx
mov ebx, dword [ecx]
mov dword [edi + 4], ebx
mov edi, edx
mov dword [ecx], edi
mov ecx, dword [eax + 0x38]
mov edx, dword [esp + 0x164]
mov dword [ecx], edx
mov ebx, dword [0x860560]
test ebx, ebx
jne 0x4d5dea
mov ebx, dword [esp + 0x110]
jmp 0x4d5dfe
call fcn.00467c50
mov ebx, dword [esp + 0x110]
mov dword [edi], ebx
mov ebp, dword [ecx + 4]
mov dword [edi + 4], ebp
mov dword [ecx + 4], ebx
movzx ecx, byte [esp + 0x2f]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x120]
mov ebp, dword [esp + 0x124]
jmp 0x4d4c26
lea eax, [0x60d940]
mov dword [esp], eax
lea eax, [0x6894b0]
mov dword [esp + 4], eax
call fcn.00438060
mov eax, esi
mov ecx, ebx
call fcn.00467d10
mov ecx, ebx
call fcn.00467cf0
lea eax, [0x60d940]
mov dword [esp], eax
lea eax, [0x6894b0]
mov dword [esp + 4], eax
call fcn.00438060
mov ecx, dword [0x68b1a8]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x6308c0]
mov dword [esp + 8], eax
call fcn.004098a0
nop
call fcn.00466840
jmp fcn.004d4200