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

Disassembly:
mov ecx, dword [0x7c3e14]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x13c]
cmp eax, dword [ecx + 8]
jbe 0x4d6b15
sub esp, 0x1bc
mov eax, dword [esp + 0x1c4]
mov dword [esp], eax
mov ecx, dword [esp + 0x1c8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x1cc]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 0
call fcn.004d4150
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
jne 0x4d545a
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x4d4fa8
mov eax, dword [esp + 0x1cc]
test eax, eax
je 0x4d4ea8
test eax, 0x200
jne 0x4d4ea8
lea eax, [0x65b040]
mov ecx, dword [esp + 0x1c4]
jmp 0x4d4ece
mov ecx, dword [esp + 0x1c4]
mov dword [esp], ecx
mov ecx, dword [esp + 0x1c8]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0048f510
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x114], ecx
mov dword [esp + 0x34], eax
lea edx, [0x5f4ee0]
mov dword [esp], edx
call fcn.0040c420
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x60aa05]
mov dword [eax], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 8], ecx
mov ecx, dword [0x7c3fa0]
test ecx, ecx
jne 0x4d4f14
mov ecx, dword [esp + 0x114]
jmp 0x4d4f22
call fcn.00468400
mov ecx, dword [esp + 0x114]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x1c0]
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 0x4d4f83
mov dword [esp], ecx
lea edx, [0x659928]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004d3a90
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c0]
mov dword [edx + 0x3c], eax
mov eax, dword [0x7c3fa0]
test eax, eax
je 0x4d4f7e
call fcn.00468410
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.004d3ba0
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1d4], 0
add esp, 0x1bc
ret
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xa4], ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x168], edx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x164], ebx
test ecx, ecx
je 0x4d4fdf
test ecx, 0x200
jne 0x4d4fdf
mov eax, ebx
lea ebp, [0x65b040]
jmp 0x4d500e
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0048f510
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x168]
mov ebp, eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0x110], ebx
mov dword [esp + 0x30], ebp
mov esi, ecx
and ecx, 0x1f
mov dword [esp + 0xa0], ecx
nop
cmp ecx, 0x14
je 0x4d502f
xor edi, edi
jmp 0x4d5071
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
call fcn.0048e140
mov eax, dword [esp + 0xc]
test eax, eax
sete al
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x168]
mov ebx, dword [esp + 0x110]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0xa4]
mov edi, eax
mov eax, dword [esp + 0x164]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x4d53b6
lea edi, [esp + 0x1a8]
xor eax, eax
call fcn.0046860b
mov ecx, dword [esp + 0xa0]
cmp ecx, 0x15
je 0x4d519c
cmp ecx, 0x19
jne 0x4d50cd
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.004e1110
lea edi, [esp + 0x1a8]
lea esi, [esp + 8]
call fcn.00468aee
mov ecx, dword [esp + 0xa4]
mov ebx, dword [esp + 0x168]
jmp 0x4d52ad
lea eax, [0x5f4ee0]
mov dword [esp], eax
call fcn.0040c420
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x60aa05]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [0x7c3fa0]
test ecx, ecx
jne 0x4d5108
mov ecx, dword [esp + 0x110]
jmp 0x4d5116
call fcn.00468400
mov ecx, dword [esp + 0x110]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x1c0]
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 0x4d5177
mov dword [esp], ecx
lea edx, [0x659928]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004d3a90
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c0]
mov dword [edx + 0x3c], eax
mov eax, dword [0x7c3fa0]
test eax, eax
je 0x4d5172
call fcn.00468410
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.004d3ba0
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1d4], 0
add esp, 0x1bc
ret
mov eax, dword [ebp + 0x4c]
mov dword [esp], ebx
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 0x4d5223
cmp eax, 0x18
je 0x4d5223
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x4c]
mov edx, dword [esp + 0x110]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
lea ecx, [0x65b040]
cmp eax, ecx
jne 0x4d6af8
mov eax, dword [esp + 8]
mov dword [esp], eax
call fcn.00486d30
mov eax, dword [0x79d970]
mov ecx, dword [0x79d974]
mov edx, dword [esp + 4]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00486ff0
movzx eax, byte [esp + 0xc]
test al, al
je 0x4d52e7
mov ecx, dword [esp + 0xa4]
test ecx, 0x200
je 0x4d523b
mov ebx, dword [esp + 0x168]
jmp 0x4d52ad
test ecx, 0x80
je 0x4d524e
mov ebx, dword [esp + 0x168]
mov edx, dword [ebx]
jmp 0x4d5257
mov ebx, dword [esp + 0x168]
mov edx, ebx
test edx, edx
jne 0x4d52ad
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
call fcn.0048fe60
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov ecx, dword [esp + 0x168]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xa4]
mov dword [esp + 8], edx
call fcn.0048e460
mov ecx, dword [esp + 0xa4]
mov ebx, dword [esp + 0x168]
lea edi, [esp + 0x194]
xor eax, eax
call fcn.0046860b
mov ecx, dword [esp + 0x1c0]
mov esi, dword [ecx + 0x38]
test esi, esi
je 0x4d52dc
lea edi, [esp + 0x194]
call fcn.00468aee
mov ecx, dword [esp + 0x1c0]
xor edx, edx
xor ebp, ebp
xor esi, esi
jmp 0x4d550d
lea eax, [0x5f4ee0]
mov dword [esp], eax
call fcn.0040c420
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x60aa05]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [0x7c3fa0]
test ecx, ecx
jne 0x4d5322
mov ecx, dword [esp + 0x110]
jmp 0x4d5330
call fcn.00468400
mov ecx, dword [esp + 0x110]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x1c0]
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 0x4d5391
mov dword [esp], ecx
lea edx, [0x659928]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004d3a90
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c0]
mov dword [edx + 0x3c], eax
mov eax, dword [0x7c3fa0]
test eax, eax
je 0x4d538c
call fcn.00468410
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.004d3ba0
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1d4], 0
add esp, 0x1bc
ret
mov eax, dword [esp + 0x1c0]
mov dword [esp], eax
call fcn.004d9780
mov eax, dword [esp + 4]
lea ecx, [0x5df6e0]
mov dword [esp + 0x184], ecx
mov dword [esp + 0x188], eax
mov eax, dword [esp + 0x184]
test eax, eax
je 0x4d5406
movzx ecx, byte [eax + 0xf]
nop
mov edx, ecx
and ecx, 0x1f
test dl, 0x20
jne 0x4d53fd
or ecx, 0x80
mov edx, dword [esp + 0x188]
jmp 0x4d540c
xor ecx, ecx
xor eax, eax
xor edx, edx
mov ebx, dword [esp + 0x164]
mov dword [esp], ebx
mov ebx, dword [esp + 0x168]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
call fcn.0048e460
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1d4], 0
add esp, 0x1bc
ret
mov dword [esp + 0x38], eax
mov dword [esp + 0x118], ecx
nop
mov eax, dword [esp + 0x1c0]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x9c], ecx
mov dword [esp], eax
call fcn.004d3ba0
mov eax, dword [esp + 0x1c0]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
cmp edx, ecx
jb 0x4d54f4
mov ebx, dword [esp + 0x9c]
lea ebp, [ebx - 1]
cmp ecx, ebp
jb 0x4d54ed
mov esi, dword [esp + 0x38]
mov esi, dword [esi + 0x10]
mov eax, dword [eax]
mov edi, dword [esp + 0x118]
mov dword [esp], edi
sub edx, ebx
sub ecx, 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 + 0x1d0], eax
mov dword [esp + 0x1d4], ecx
add esp, 0x1bc
ret
mov eax, ebp
call fcn.004684c0
call fcn.004684a0
mov ecx, eax
mov edx, dword [esp + 0x58]
mov ebp, dword [esp + 0x12c]
mov esi, dword [esp + 0x130]
mov dword [esp + 0x58], edx
mov dword [esp + 0x130], esi
mov dword [esp + 0x12c], ebp
mov dword [esp], ecx
mov dword [esp + 4], 9
call fcn.004d3cc0
mov eax, dword [esp + 0x1c0]
mov ecx, dword [eax + 0x10]
cmp ecx, 5
je 0x4d6528
cmp ecx, 1
jne 0x4d6ae0
nop
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x9c], ecx
mov dword [esp], eax
call fcn.004d3d80
mov eax, dword [esp + 0x1c0]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
lea ebx, [ecx - 1]
cmp edx, ebx
jb 0x4d6ad9
mov ebp, dword [esp + 0x9c]
lea esi, [ebp - 1]
cmp ebx, esi
jb 0x4d6ad0
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 + 0x13c], edx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004d9cc0
movzx eax, byte [esp + 0x18]
test al, al
je 0x4d6ab8
mov eax, dword [esp + 0xc]
mov dword [esp + 0x138], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x64], edx
mov ebx, dword [esp + 0xa0]
cmp ebx, 0x15
jne 0x4d5688
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x110]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0x58]
test eax, eax
je 0x4d563f
mov ecx, dword [esp + 0x12c]
mov dword [esp], ecx
mov edx, dword [esp + 0x130]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0048d340
mov edx, dword [esp + 0x58]
mov ebp, dword [esp + 0x12c]
mov esi, dword [esp + 0x130]
jmp 0x4d567b
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0048ffe0
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.0048c8a0
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
xor ecx, ecx
mov eax, edx
mov ebx, ebp
mov edi, esi
jmp 0x4d587d
mov edx, dword [esp + 0x1b4]
lea ebx, [0x5df760]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.004104e0
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test eax, eax
jne 0x4d572a
lea edi, [esp + 0xb0]
xor eax, eax
call fcn.00468608
lea ecx, [esp + 0xb0]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0x20
mov ecx, dword [esp + 0x138]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x14], ebx
call fcn.004e12a0
mov ecx, dword [esp + 0x1b8]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ebp, [0x5df760]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.004104e0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
test eax, eax
je 0x4d577a
mov dword [esp + 0x140], eax
movzx ebp, byte [eax + 0x3d]
xchg ebp, eax
mov byte [esp + 0x2f], al
xchg ebp, eax
mov esi, dword [eax + 0x2c]
mov dword [esp + 0x98], esi
mov edi, dword [eax + 0x28]
mov dword [esp + 0x160], edi
mov ecx, dword [esp + 0xa4]
mov ebx, dword [esp + 0x164]
mov edx, dword [esp + 0x168]
mov dword [esp + 0xa8], eax
xor eax, eax
mov dword [esp + 0x78], eax
jmp 0x4d66ed
mov eax, dword [esp + 0x1c0]
movzx ecx, byte [eax + 0x45]
test cl, cl
je 0x4d585f
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x64]
mov dword [esp + 8], edx
call fcn.00409ce0
mov eax, dword [esp + 0xc]
lea ecx, [0x5d72e0]
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], eax
lea eax, [0x61098a]
mov dword [esp], eax
mov dword [esp + 4], 0x16
lea edx, [esp + 0x18c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c4e90
mov eax, dword [esp + 0x1c0]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x4d585f
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.004d3a90
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c0]
mov dword [edx + 0x3c], eax
mov eax, dword [0x7c3fa0]
test eax, eax
je 0x4d585a
call fcn.00468410
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 + 0x130]
mov eax, edx
mov edi, ebp
mov edx, dword [esp + 0x58]
mov ebp, dword [esp + 0x12c]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x58], edx
mov dword [esp + 0x130], esi
mov dword [esp + 0x12c], ebp
mov dword [esp + 0x120], edi
mov dword [esp + 0x11c], ebx
mov byte [esp + 0x2f], cl
mov edx, dword [esp + 0x1c0]
cmp dword [edx + 0x10], 9
jne 0x4d58ee
mov dword [esp], edx
mov dword [esp + 4], 9
call fcn.004d3cc0
mov eax, dword [esp + 0x3c]
movzx ecx, byte [esp + 0x2f]
mov edx, dword [esp + 0x1c0]
mov ebx, dword [esp + 0x11c]
mov ebp, dword [esp + 0x12c]
mov esi, dword [esp + 0x130]
mov edi, dword [esp + 0x120]
cmp dword [edx + 0x10], 3
jne 0x4d6692
mov dword [esp], edx
mov dword [esp + 4], 9
call fcn.004d3cc0
movzx eax, byte [esp + 0x2f]
test al, al
je 0x4d5b8c
mov eax, dword [esp + 0x1c0]
mov dword [esp], eax
call fcn.004d4090
mov eax, dword [esp + 4]
test eax, eax
je 0x4d5b16
cmp dword [eax + 8], 0x778cdb8
jne 0x4d59df
mov eax, dword [esp + 4]
lea ecx, [0x5dda40]
cmp eax, ecx
jne 0x4d59e5
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.00451960
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x18], edx
mov byte [esp + 0x1c], 1
call fcn.004d6d00
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x4d6545
mov eax, dword [esp + 0xa0]
cmp eax, 0x15
mov eax, dword [esp + 0x1c0]
mov ebx, dword [esp + 0xa0]
jmp 0x4d5bdd
lea ecx, [0x5dda40]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4d5a03
test eax, 0x200
jne 0x4d5a03
lea edx, [0x65b040]
mov ebx, dword [esp + 0x11c]
jmp 0x4d5a35
mov ecx, dword [esp + 0x11c]
mov dword [esp], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0048f510
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
lea ecx, [0x5dda40]
mov edx, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
test edx, edx
je 0x4d5a52
mov edx, dword [edx + 4]
mov dword [esp + 0x18c], edx
mov dword [esp + 0x190], ebx
lea eax, [0x61c131]
mov dword [esp], eax
mov dword [esp + 4], 0x53
lea ecx, [esp + 0x18c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c4e90
mov eax, dword [esp + 0x1c0]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x4d5aae
mov ebx, dword [esp + 0xa0]
cmp ebx, 0x15
jmp 0x4d5bdd
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.004d3a90
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c0]
mov dword [edx + 0x3c], eax
mov eax, dword [0x7c3fa0]
test eax, eax
jne 0x4d5aee
mov eax, dword [esp + 0xa0]
cmp eax, 0x15
jmp 0x4d5b05
call fcn.00468410
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov eax, dword [esp + 0xa0]
cmp eax, 0x15
mov dword [edx + 0x40], ecx
mov eax, edx
mov ebx, dword [esp + 0xa0]
jmp 0x4d5bdd
mov eax, dword [str.null_t]
mov ecx, dword [0x792fc4]
mov edx, dword [0x792fc8]
mov ebx, dword [esp + 0x1c0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x18], edx
mov byte [esp + 0x1c], 0
call fcn.004d6d00
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x4d6562
mov eax, dword [esp + 0xa0]
cmp eax, 0x15
mov eax, dword [esp + 0x1c0]
mov ebx, dword [esp + 0xa0]
jmp 0x4d5bdd
mov eax, dword [esp + 0x1c0]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0xc], ebx
call fcn.004d3ed0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4d659c
mov eax, dword [esp + 0xa0]
cmp eax, 0x15
mov eax, dword [esp + 0x1c0]
mov ebx, dword [esp + 0xa0]
jne 0x4d64a5
mov eax, dword [esp + 0x30]
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, [0x65b040]
cmp eax, edx
jne 0x4d6676
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
mov dword [esp + 0x134], ecx
mov dword [esp], eax
call fcn.00486d30
mov eax, dword [0x79d970]
mov ecx, dword [0x79d974]
mov edx, dword [esp + 4]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00486ff0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4d638c
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x50]
mov edx, dword [esp + 0x134]
mov dword [esp], edx
call ecx
cmp dword [esp + 4], 0x18
jne 0x4d5d1c
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
call fcn.00409ce0
mov eax, dword [esp + 0xc]
lea ecx, [0x5d72e0]
mov dword [esp + 0x17c], ecx
mov dword [esp + 0x180], eax
mov edx, dword [esp + 0x17c]
test edx, edx
je 0x4d5cd4
movzx ebx, byte [edx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x4d5cda
or ebx, 0x80
jmp 0x4d5cda
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 + 0x15c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x10], eax
call fcn.00490360
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 + 0x1c0]
jmp 0x4d6444
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + 0x50]
mov ecx, dword [esp + 0x134]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
lea ecx, [eax - 2]
cmp ecx, 4
jbe 0x4d603a
add eax, 0xfffffff9
cmp eax, 5
ja 0x4d665e
lea eax, [esp + 0xd0]
mov dword [esp], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.004517c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x124], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x40], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.00476380
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
je 0x4d5db6
mov ebx, 1
jmp 0x4d5e8d
mov dword [esp + 0x48], ecx
mov dword [esp + 0x54], edx
mov eax, dword [esp + 0x15c]
mov dword [esp], eax
mov ecx, dword [esp + 0x134]
mov dword [esp + 4], ecx
call fcn.0048ff00
mov eax, dword [esp + 0x10]
and eax, 0x1f
lea ecx, [eax - 7]
cmp ecx, 5
ja 0x4d661a
mov eax, dword [esp + 8]
mov eax, dword [eax]
shl eax, 3
lea ecx, [eax - 0x40]
neg ecx
mov dword [esp + 0x94], ecx
mov eax, dword [esp + 0x48]
mov edx, eax
shl eax, cl
mov ebx, dword [esp + 0x54]
shl ebx, cl
lea esi, [ecx - 0x20]
mov dword [esp + 0x90], esi
mov edi, ecx
mov ecx, esi
shl edx, cl
neg ecx
mov dword [esp + 0x8c], ecx
mov ebp, dword [esp + 0x48]
shr ebp, cl
cmp esi, 0x20
sbb esi, esi
and edx, esi
cmp ecx, 0x20
sbb ecx, ecx
and ebp, ecx
cmp edi, 0x20
sbb edi, edi
and eax, edi
and ebx, edi
or ebp, ebx
or ebp, edx
mov edx, ecx
mov ecx, dword [esp + 0x90]
mov ebx, ebp
shr ebp, cl
and ebp, esi
mov ecx, dword [esp + 0x8c]
mov esi, ebx
shl ebx, cl
and ebx, edx
mov ecx, dword [esp + 0x94]
shr eax, cl
and eax, edi
or eax, ebx
or eax, ebp
shr esi, cl
and esi, edi
mov edx, dword [esp + 0x54]
cmp edx, esi
setne bl
mov ebp, dword [esp + 0x48]
cmp ebp, eax
setne al
or ebx, eax
mov ecx, ebp
test bl, bl
je 0x4d5faa
lea eax, [0x5f4ee0]
mov dword [esp], eax
call fcn.0040c420
mov eax, dword [esp + 4]
mov dword [esp + 0x158], eax
mov dword [esp], 0
lea ecx, [0x60acfc]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov edx, dword [esp + 0x124]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x10], edx
call fcn.00451520
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x158]
mov dword [edx + 4], eax
mov eax, dword [0x7c3fa0]
test eax, eax
je 0x4d5f07
call fcn.00468410
mov dword [edi], ecx
mov eax, dword [edx]
mov dword [edi + 4], eax
mov dword [edx], ecx
mov eax, dword [esp + 0x15c]
mov dword [edx + 8], eax
mov eax, dword [0x7c3fa0]
test eax, eax
jne 0x4d5f26
mov eax, dword [esp + 0x134]
jmp 0x4d5f3a
call fcn.00468410
mov eax, dword [esp + 0x134]
mov dword [edi], eax
mov ebx, dword [edx + 0xc]
mov dword [edi + 4], ebx
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x9c]
mov dword [edx + 0x10], eax
sar eax, 0x1f
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x1c0]
mov ebx, dword [eax + 0x3c]
test ebx, ebx
jne 0x4d5f9f
mov dword [esp], eax
lea ecx, [0x659928]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004d3a90
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c0]
mov dword [edx + 0x3c], eax
mov eax, dword [0x7c3fa0]
test eax, eax
je 0x4d5f9a
call fcn.00468410
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 0x4d6444
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00409bb0
mov eax, dword [esp + 8]
lea ecx, [0x5dde40]
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x170], eax
mov edx, dword [esp + 0x16c]
test edx, edx
je 0x4d5ff2
movzx ebx, byte [edx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x4d5ff8
or ebx, 0x80
jmp 0x4d5ff8
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 + 0x15c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x10], eax
call fcn.00490360
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 + 0x1c0]
jmp 0x4d6444
lea eax, [esp + 0xf0]
mov dword [esp], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.004517c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x44], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.00476da0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test eax, eax
je 0x4d60a5
mov ebx, 1
jmp 0x4d61df
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], ecx
mov eax, dword [esp + 0x15c]
mov dword [esp], eax
mov ecx, dword [esp + 0x134]
mov dword [esp + 4], ecx
call fcn.0048ff00
mov eax, dword [esp + 0x10]
and eax, 0x1f
lea ecx, [eax - 2]
cmp ecx, 4
ja 0x4d65d6
mov eax, dword [esp + 8]
mov eax, dword [eax]
shl eax, 3
lea ecx, [eax - 0x40]
neg ecx
mov dword [esp + 0x94], ecx
mov eax, dword [esp + 0x4c]
mov edx, eax
shl eax, cl
mov ebx, dword [esp + 0x50]
shl ebx, cl
lea esi, [ecx - 0x20]
mov edi, ecx
mov ecx, esi
shl edx, cl
mov dword [esp + 0x90], edx
neg ecx
mov dword [esp + 0x8c], ecx
mov ebp, dword [esp + 0x4c]
shr ebp, cl
mov dword [esp + 0x88], ebp
shr edi, 5
mov ebp, dword [esp + 0x94]
cmp ebp, 0x20
sbb ecx, ecx
mov dword [esp + 0x84], ecx
sbb edx, edx
and eax, ecx
and ebx, ecx
mov dword [esp + 0x80], ebx
mov ecx, ebp
shr eax, cl
mov ebx, dword [esp + 0x84]
and eax, ebx
mov dword [esp + 0x84], eax
not edx
or ecx, edx
cmp edi, 1
sbb edx, edx
xor edx, 0xffffffff
cmp esi, 0x20
sbb ebx, ebx
mov ebp, dword [esp + 0x90]
and ebp, ebx
not ebx
or ebx, esi
mov esi, dword [esp + 0x8c]
cmp esi, 0x20
sbb edi, edi
mov dword [esp + 0x90], edi
mov eax, dword [esp + 0x88]
and eax, edi
mov edi, dword [esp + 0x80]
or eax, edi
or eax, ebp
mov ebp, ecx
mov ecx, esi
mov edi, eax
shl eax, cl
mov ecx, ebx
mov ebx, edi
sar edi, cl
and edx, edi
mov ecx, ebp
sar ebx, cl
mov ebp, dword [esp + 0x90]
and eax, ebp
mov ebp, dword [esp + 0x84]
or ebp, eax
or edx, ebp
mov eax, dword [esp + 0x50]
cmp eax, ebx
setne bl
mov ebp, dword [esp + 0x4c]
cmp ebp, edx
setne dl
or ebx, edx
mov ecx, eax
mov edx, ebp
test bl, bl
je 0x4d62fc
lea eax, [0x5f4ee0]
mov dword [esp], eax
call fcn.0040c420
mov eax, dword [esp + 4]
mov dword [esp + 0x158], eax
mov dword [esp], 0
lea ecx, [0x60acfc]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov edx, dword [esp + 0x128]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x10], edx
call fcn.00451520
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x158]
mov dword [edx + 4], eax
mov eax, dword [0x7c3fa0]
test eax, eax
je 0x4d6259
call fcn.00468410
mov dword [edi], ecx
mov eax, dword [edx]
mov dword [edi + 4], eax
mov dword [edx], ecx
mov eax, dword [esp + 0x15c]
mov dword [edx + 8], eax
mov eax, dword [0x7c3fa0]
test eax, eax
jne 0x4d6278
mov eax, dword [esp + 0x134]
jmp 0x4d628c
call fcn.00468410
mov eax, dword [esp + 0x134]
mov dword [edi], eax
mov ebx, dword [edx + 0xc]
mov dword [edi + 4], ebx
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x9c]
mov dword [edx + 0x10], eax
sar eax, 0x1f
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x1c0]
mov ebx, dword [eax + 0x3c]
test ebx, ebx
jne 0x4d62f1
mov dword [esp], eax
lea ecx, [0x659928]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004d3a90
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c0]
mov dword [edx + 0x3c], eax
mov eax, dword [0x7c3fa0]
test eax, eax
je 0x4d62ec
call fcn.00468410
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 0x4d6444
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.00409bb0
mov eax, dword [esp + 8]
lea ecx, [0x5ddc80]
mov dword [esp + 0x174], ecx
mov dword [esp + 0x178], eax
mov edx, dword [esp + 0x174]
test edx, edx
je 0x4d6344
movzx ebx, byte [edx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x4d634a
or ebx, 0x80
jmp 0x4d634a
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 + 0x15c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x10], eax
call fcn.00490360
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 + 0x1c0]
jmp 0x4d6444
mov eax, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 4], eax
call fcn.0048ffe0
mov eax, dword [esp + 8]
mov dword [esp + 0x154], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x150], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x7c], edx
mov ebx, dword [esp + 0x1c0]
mov dword [esp], ebx
mov ebp, dword [esp + 0x13c]
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.004d6d00
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x4d657f
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
call fcn.0048c8a0
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 + 0x1c0]
test edx, edx
je 0x4d649e
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov ebp, dword [esp + 0x168]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xa4]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x20], ecx
call fcn.0048eb70
mov eax, dword [esp + 0x1c0]
mov ebx, dword [esp + 0xa0]
cmp dword [eax + 0x10], 9
jne 0x4d64c9
mov dword [esp], eax
mov dword [esp + 4], 9
call fcn.004d3cc0
mov eax, dword [esp + 0x1c0]
mov ebx, dword [esp + 0xa0]
mov ebp, dword [eax + 0x38]
test ebp, ebp
je 0x4d6512
mov edx, dword [ebp + 0x10]
mov ecx, dword [esp + 0x1a0]
cmp ecx, edx
ja 0x4d65d1
mov dword [ebp + 0xc], ecx
mov ecx, dword [eax + 0x38]
mov edx, dword [esp + 0x194]
mov ebp, dword [esp + 0x198]
mov dword [ecx], edx
mov edx, dword [0x7c3fa0]
test edx, edx
je 0x4d650f
call fcn.00468410
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 0x4d6528
cmp ecx, 4
je 0x4d54f9
jmp 0x4d65b9
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1d4], 0
add esp, 0x1bc
ret
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1d4], ecx
add esp, 0x1bc
ret
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1d4], ecx
add esp, 0x1bc
ret
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1d4], ecx
add esp, 0x1bc
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1d4], ecx
add esp, 0x1bc
ret
lea eax, [0x5dda40]
mov dword [esp], eax
lea eax, [0x6590d4]
mov dword [esp + 4], eax
call fcn.004382f0
call fcn.004684a0
mov dword [esp + 0xa4], eax
lea eax, [0x5e9700]
mov dword [esp], eax
call fcn.0040c420
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x19
lea ecx, [0x61225b]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa4]
mov dword [eax + 8], ecx
lea ecx, [0x5e2140]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004382f0
mov dword [esp + 0xa4], eax
lea eax, [0x5e9700]
mov dword [esp], eax
call fcn.0040c420
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1a
lea ecx, [0x612bd6]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa4]
mov dword [eax + 8], ecx
lea ecx, [0x5e2140]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004382f0
lea eax, [0x5dda40]
mov dword [esp], eax
lea eax, [0x6590dc]
mov dword [esp + 4], eax
call fcn.004382f0
mov ecx, dword [0x65b044]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x600700]
mov dword [esp + 8], eax
call fcn.00409980
lea eax, [0x5dda40]
mov dword [esp], eax
lea eax, [0x6590d4]
mov dword [esp + 4], eax
call fcn.004382f0
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
call fcn.0048ca50
mov eax, dword [esp + 0x78]
inc eax
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x160]
mov esi, dword [esp + 0x98]
movzx ebp, byte [esp + 0x2f]
mov edi, dword [esp + 0x160]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x78]
cmp eax, esi
jge 0x4d6926
mov dword [esp + 0x74], ecx
and ecx, 0x1f
mov ebp, dword [edi + eax*4]
nop
cmp ecx, 0x16
jne 0x4d6824
mov dword [esp + 0x70], ebp
mov ecx, dword [esp + 0x74]
test ecx, 0x200
jne 0x4d67ff
mov dword [esp + 0x14c], edx
test ecx, 0x80
je 0x4d673b
mov edi, dword [edx]
mov edx, edi
mov edi, dword [esp + 0x160]
test edx, edx
je 0x4d674b
mov edx, dword [esp + 0x14c]
jmp 0x4d67ff
mov edx, ecx
and ecx, 0x160
cmp ecx, 0x100
jne 0x4d682d
mov dword [esp + 0x148], ebx
test edx, 0x200
jne 0x4d6776
lea ecx, [0x65b040]
jmp 0x4d6797
mov dword [esp], ebx
mov eax, dword [esp + 0x14c]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0048f510
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ecx, eax
mov eax, dword [ecx + 0x28]
mov dword [esp], ebx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0048ffe0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x148]
mov dword [esp], ebx
mov ebp, dword [esp + 0x14c]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x74]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.0048e460
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x14c]
mov ebx, dword [esp + 0x148]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0048c8a0
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x70]
jmp 0x4d66aa
mov ecx, dword [esp + 0x74]
jmp 0x4d66aa
test edx, 0x200
jne 0x4d683d
lea eax, [0x65b040]
jmp 0x4d685c
mov dword [esp], ebx
mov eax, dword [esp + 0x14c]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0048f510
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov dword [esp], ebx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
test eax, eax
je 0x4d6889
mov eax, dword [eax + 4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
lea eax, [0x61b507]
mov dword [esp], eax
mov dword [esp + 4], 0x3a
lea ecx, [esp + 0x18c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c4e90
mov eax, dword [esp + 0x1c0]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x4d691c
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.004d3a90
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c0]
mov dword [edx + 0x3c], eax
mov eax, dword [0x7c3fa0]
test eax, eax
je 0x4d6917
call fcn.00468410
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
mov eax, edx
xor ebp, ebp
xor ecx, ecx
xor ebx, ebx
xor edx, edx
jmp 0x4d692d
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x120], edx
mov dword [esp + 0x11c], ebx
xchg ebp, eax
mov byte [esp + 0x2f], al
xchg ebp, eax
mov esi, dword [eax + 0x38]
test esi, esi
jne 0x4d699f
lea eax, [0x5e9460]
mov dword [esp], eax
call fcn.0040c420
mov eax, dword [0x7c3fa0]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x4d6971
mov eax, dword [esp + 0x1c0]
jmp 0x4d6985
call fcn.00468410
mov dword [edi], ecx
mov eax, dword [esp + 0x1c0]
mov edx, dword [eax + 0x38]
mov dword [edi + 4], edx
mov dword [eax + 0x38], ecx
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x120]
mov ebx, dword [esp + 0x11c]
movzx ebp, byte [esp + 0x2f]
mov esi, dword [eax + 0x38]
mov edi, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
inc ecx
mov edx, dword [esi + 8]
mov ebx, dword [esp + 0x140]
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
cmp edi, ecx
jae 0x4d6a44
mov dword [esp + 0x144], esi
mov dword [esp + 0x98], ebx
mov dword [esp + 0x15c], ebp
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x5dda40]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x144]
mov dword [ebx + 0x10], eax
mov eax, dword [0x7c3fa0]
test eax, eax
je 0x4d6a24
call fcn.00468410
mov dword [edi], ecx
mov eax, dword [ebx + 8]
mov dword [edi + 4], eax
mov dword [ebx + 8], ecx
mov eax, dword [esp + 0x1c0]
mov ebp, dword [esp + 0x15c]
mov esi, ebx
mov ebx, dword [esp + 0x98]
mov edi, ecx
mov ecx, edx
mov edx, edi
mov dword [esi + 0xc], ecx
lea esi, [edx + ecx*8 - 4]
mov dword [esi], ebx
mov ebx, dword [0x7c3fa0]
lea ecx, [edx + ecx*8 - 8]
test ebx, ebx
je 0x4d6a67
call fcn.00468410
mov dword [edi], ebp
mov edx, dword [ecx]
mov dword [edi + 4], edx
mov dword [ecx], ebp
mov ecx, dword [eax + 0x38]
mov edx, dword [esp + 0x30]
mov dword [ecx], edx
mov ebx, dword [0x7c3fa0]
test ebx, ebx
jne 0x4d6a85
mov ebx, dword [esp + 0x110]
jmp 0x4d6a99
call fcn.00468410
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 + 0x3c]
mov ebx, dword [esp + 0x11c]
mov ebp, dword [esp + 0x120]
jmp 0x4d5867
lea eax, [0x5dda40]
mov dword [esp], eax
lea eax, [0x6590d4]
mov dword [esp + 4], eax
call fcn.004382f0
mov eax, esi
mov ecx, ebx
call fcn.004684c0
mov ecx, ebx
call fcn.004684a0
lea eax, [0x5dda40]
mov dword [esp], eax
lea eax, [0x6590d4]
mov dword [esp + 4], eax
call fcn.004382f0
mov ecx, dword [0x65b044]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x600700]
mov dword [esp + 8], eax
call fcn.00409980
nop
call fcn.00467000
jmp fcn.004d4e20