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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x258]
cmp eax, dword [ecx + 8]
jbe 0x4da35e
sub esp, 0x2d8
mov eax, dword [esp + 0x2dc]
mov dword [esp], eax
mov ecx, dword [esp + 0x2e0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x2e4]
mov dword [esp + 8], edx
call fcn.0047d3a0
lea edi, [esp + 0xc]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x2f4]
mov ebx, dword [esp + 0x2ec]
cmp edx, ebx
jne 0x4d75bd
mov eax, dword [esp + 0x2dc]
mov dword [esp], eax
mov eax, dword [esp + 0x2e0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 8], eax
lea esi, [esp + 0x2f8]
call fcn.00456324
call fcn.004da370
movzx eax, byte [esp + 0x24]
test al, al
je 0x4d759b
xor eax, eax
xor ecx, ecx
mov edx, dword [esp + 0x2f4]
mov dword [esp + 0x310], edx
mov dword [esp + 0x314], eax
mov dword [esp + 0x318], ecx
add esp, 0x2d8
ret
lea eax, [0x55dbde]
mov dword [esp], eax
mov dword [esp + 4], 0x12
call fcn.004080b0
mov ecx, dword [esp + 8]
lea eax, [0x58abf0]
jmp 0x4d7578
mov dword [esp + 0x13c], edi
mov dword [esp + 0x50], eax
mov dword [esp + 0xdc], ecx
mov edx, dword [eax + 0x50]
mov dword [esp], ecx
call edx
cmp dword [esp + 4], 0x14
je 0x4da312
xor eax, eax
lea ecx, [esp + 0xc]
mov dword [esp + 0x138], ecx
test al, al
je 0x4d7eed
mov eax, dword [esp + 0x2e8]
mov dword [esp], eax
mov ecx, dword [esp + 0x2ec]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x2f0]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x2f4]
mov dword [esp + 0xc], ebx
call fcn.004d6bd0
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], edx
mov dword [esp + 0xd4], ecx
mov byte [esp + 0xd8], al
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0xd0]
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0x24]
test edi, edi
jne 0x4d7ed1
mov dword [esp + 0x58], ecx
mov dword [esp + 0xa4], ebx
add ebx, ecx
cmp ebx, ecx
jge 0x4d76ce
lea eax, [0x55c9fb]
mov dword [esp], eax
mov dword [esp + 4], 0xe
call fcn.004080b0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x310], ecx
lea ecx, [0x58abf0]
mov dword [esp + 0x314], ecx
mov dword [esp + 0x318], eax
add esp, 0x2d8
ret
mov dword [esp + 0xc8], ebp
mov ebp, dword [esp + 0x2ec]
cmp ebx, ebp
jg 0x4d768e
mov dword [esp + 0xc4], ebx
test al, al
je 0x4d7803
xor eax, eax
xor ecx, ecx
test edi, edi
jne 0x4d77e7
mov dword [esp + 0x134], edx
mov dword [esp + 0xc0], edi
test ecx, ecx
je 0x4d779a
nop
movzx ebp, byte [0x66aa48]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4d7739
mov dword [0x66aa4c], ecx
mov ebp, dword [0x67bf10]
test ebp, ebp
jne 0x4d77d3
mov dword [0x66aa50], eax
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
mov ecx, dword [esp + 0x168]
test ecx, ecx
je 0x4d77cb
nop
movzx ebp, byte [ecx + 0xf]
mov esi, ebp
and ebp, 0x1f
xchg esi, eax
test al, 0x20
xchg esi, eax
jne 0x4d7769
or ebp, 0x80
mov edx, dword [esp + 0x2dc]
mov dword [esp], edx
mov edx, dword [esp + 0x2e0]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x2e4]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebp
call fcn.0047ca50
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x310], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x314], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x318], eax
add esp, 0x2d8
ret
xor ebp, ebp
xor eax, eax
xor ecx, ecx
jmp 0x4d7769
mov ebp, edi
lea edi, [0x66aa50]
call fcn.00455bf0
mov edi, ebp
jmp 0x4d7739
mov dword [esp + 0x310], ebx
mov dword [esp + 0x314], edi
mov dword [esp + 0x318], edx
add esp, 0x2d8
ret
test esi, esi
jne 0x4d76ef
mov ebp, dword [esp + 0x2f0]
cmp ebx, ebp
ja 0x4da354
cmp ecx, ebx
ja 0x4da34b
sub ebp, ecx
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ecx
mov eax, ebx
mov ebx, dword [esp + 0x2e8]
mov ecx, esi
lea esi, [ebx + ebp]
mov dword [esp + 0x114], esi
mov esi, dword [esp + 0xc8]
cmp esi, 0x12
jg 0x4d7c28
mov dword [esp + 0xc8], ecx
cmp esi, 4
jg 0x4d7a7a
cmp esi, 2
je 0x4d7a15
cmp esi, 3
jne 0x4d79bc
mov edx, dword [esp + 0xa4]
test edx, edx
je 0x4d798f
movzx ebx, byte [ebx + ebp]
movzx ebp, bl
cmp ebp, 7
jle 0x4d7926
lea eax, [0x562a61]
mov dword [esp], eax
mov dword [esp + 4], 0x22
call fcn.004080b0
mov eax, dword [esp + 8]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
lea ebp, [0x58abf0]
xor esi, esi
mov dword [esp + 0x108], eax
mov dword [esp + 0x9c], ebp
mov dword [esp + 0x188], edx
mov dword [esp + 0x18c], ebx
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], esi
lea ecx, [0x54b9c0]
mov dword [esp], ecx
lea ecx, [esp + 0x188]
mov dword [esp + 4], ecx
call fcn.00407f70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x108]
mov ebx, dword [esp + 0x9c]
mov edi, ebx
mov ebx, dword [esp + 0xc4]
jmp 0x4d76f3
cmp edx, 1
jne 0x4d7933
test ebp, ebp
jg 0x4d7897
cmp bl, 0x20
sbb esi, esi
mov edi, dword [esp + 0x114]
movzx eax, byte [edx + edi - 1]
mov ecx, ebx
mov edi, 1
shl edi, cl
and edi, esi
lea ebx, [edi - 1]
test bl, al
jne 0x4d7897
lea esi, [edx - 1]
mov ebx, esi
shl esi, 3
sub esi, ebp
mov edi, dword [esp + 0xc8]
lea ecx, [edi - 1]
mov edi, ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
mov eax, edi
mov edi, dword [esp + 0x114]
lea edx, [edi + ecx]
mov ecx, eax
xor eax, eax
xor ebp, ebp
jmp 0x4d78bf
lea eax, [0x55f2b5]
mov dword [esp], eax
mov dword [esp + 4], 0x16
call fcn.004080b0
mov eax, dword [esp + 8]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
lea ebp, [0x58abf0]
xor esi, esi
jmp 0x4d78bf
cmp esi, 4
je 0x4d79cc
xor eax, eax
xor ecx, ecx
mov ebx, edi
jmp 0x4d7918
mov dword [esp + 0x134], edx
mov dword [esp + 0xc0], edi
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408130
mov eax, dword [esp + 0xc]
lea ecx, [0x533c60]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xc0]
jmp 0x4d7918
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004d5540
mov eax, dword [esp + 0x18]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.00408040
mov eax, dword [esp + 8]
lea ecx, [0x53ab80]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xc0]
jmp 0x4d7918
cmp esi, 6
je 0x4d7bbb
cmp esi, 0xc
je 0x4d7af6
cmp esi, 0x12
jne 0x4d79c1
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004d6730
mov eax, dword [esp + 0x18]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.004080b0
mov eax, dword [esp + 8]
lea ecx, [0x53b300]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xc0]
jmp 0x4d7918
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov edx, dword [esp + 0xa4]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0045e770
movzx eax, byte [esp + 0xc]
test al, al
je 0x4d7b8d
mov dword [esp], 0
mov eax, dword [esp + 0x114]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xc], eax
call fcn.00443970
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
xor edx, edx
xor ebx, ebx
mov dword [esp + 0xa0], edx
mov dword [esp + 0x10c], ebx
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004080b0
mov eax, dword [esp + 8]
lea ecx, [0x53b300]
mov edx, dword [esp + 0x10c]
mov ebx, dword [esp + 0xa0]
jmp 0x4d7918
nop
lea eax, [0x53ff20]
mov dword [esp], eax
call fcn.0040a710
mov ebx, dword [esp + 4]
mov dword [ebx + 4], 0x1a
lea eax, [0x56056c]
mov dword [ebx], eax
lea edx, [0x58a9f0]
xor eax, eax
xor ecx, ecx
jmp 0x4d7b56
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004d5e00
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xc0], ebp
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00408130
mov eax, dword [esp + 0xc]
lea ecx, [0x5425a0]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xc0]
jmp 0x4d7918
cmp esi, 0x16
jg 0x4d7d5f
cmp esi, 0x13
je 0x4d7cfa
cmp esi, 0x14
je 0x4d7cad
cmp esi, 0x16
jne 0x4d79c1
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004d6910
mov eax, dword [esp + 0x18]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.004080b0
mov eax, dword [esp + 8]
lea ecx, [0x53b300]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xc0]
jmp 0x4d7918
mov dword [esp], 0
mov eax, dword [esp + 0x114]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.00443970
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004080b0
mov eax, dword [esp + 8]
lea ecx, [0x53b300]
xor edx, edx
xor ebx, ebx
jmp 0x4d7918
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004d6800
mov eax, dword [esp + 0x18]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.004080b0
mov eax, dword [esp + 8]
lea ecx, [0x53b300]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xc0]
jmp 0x4d7918
cmp esi, 0x17
je 0x4d7e56
cmp esi, 0x18
je 0x4d7ddb
cmp esi, 0x1e
jne 0x4d79c1
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004d69d0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.004080b0
mov eax, dword [esp + 8]
lea ecx, [0x53b300]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xc0]
jmp 0x4d7918
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004d6510
lea edi, [esp + 0x1ac]
mov esi, dword [esp + 0x138]
call fcn.0045632e
mov eax, dword [esp + 0x24]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xc0], ecx
lea edx, [0x558120]
mov dword [esp], edx
lea edx, [esp + 0x1ac]
mov dword [esp + 4], edx
call fcn.00407f70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xc0]
jmp 0x4d7918
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004d61d0
lea edi, [esp + 0x1c0]
mov esi, dword [esp + 0x138]
call fcn.0045632e
mov eax, dword [esp + 0x24]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xc0], ecx
lea edx, [0x558120]
mov dword [esp], edx
lea edx, [esp + 0x1c0]
mov dword [esp + 4], edx
call fcn.00407f70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xc0]
jmp 0x4d7918
mov dword [esp + 0x310], ecx
mov dword [esp + 0x314], edi
mov dword [esp + 0x318], edx
add esp, 0x2d8
ret
mov eax, dword [esp + 0x2e8]
mov dword [esp], eax
mov ecx, dword [esp + 0x2ec]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x2f0]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x2f4]
mov dword [esp + 0xc], ebx
call fcn.004d6bd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
movzx edx, byte [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], ebx
mov byte [esp + 0xd8], dl
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0xd0]
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0x24]
test edi, edi
jne 0x4da2f6
mov dword [esp + 0xc8], eax
movzx eax, byte [esp + 0x2f9]
test al, al
je 0x4da2d0
movzx eax, byte [esp + 0x2fa]
test al, al
je 0x4da2c6
mov eax, 1
mov dword [esp + 0x134], ecx
mov byte [esp + 0x43], dl
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x2ec]
cmp ecx, edx
je 0x4da283
mov dword [esp + 0xc0], edi
cmp eax, esi
jne 0x4da1e8
mov eax, dword [esp + 0x300]
cmp dword [eax], ebp
jne 0x4da1e8
test ebx, ebx
jne 0x4da1db
mov eax, dword [esp + 0x50]
cmp dword [0x66a6d0], eax
je 0x4da145
test ebx, ebx
jg 0x4d80ca
cmp dword [0x66a6b8], eax
je 0x4d8049
lea eax, [0x564d2f]
mov dword [esp], eax
mov dword [esp + 4], 0x2d
call fcn.004080b0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x310], ecx
lea ecx, [0x58abd0]
mov dword [esp + 0x314], ecx
mov dword [esp + 0x318], eax
add esp, 0x2d8
ret
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [0x66a6bc]
mov dword [esp + 8], eax
call fcn.00403350
movzx eax, byte [esp + 0xc]
test al, al
je 0x4d8006
mov eax, dword [esp + 0x2dc]
mov dword [esp], eax
mov eax, dword [esp + 0x2e0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.0047cb60
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x310], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x314], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x318], eax
add esp, 0x2d8
ret
mov eax, dword [esp + 0x2e8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x2f0]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.004d6bd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
movzx edx, byte [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], ebx
mov byte [esp + 0xd8], dl
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0xcc]
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0x28]
test ecx, ecx
jne 0x4da129
mov dword [esp + 0x134], edi
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x48], ebx
mov byte [esp + 0x42], dl
mov dword [esp + 0x44], esi
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x50]
mov dword [esp], ecx
mov edi, dword [esp + 0xdc]
mov dword [esp + 4], edi
call fcn.004dab60
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x10]
movzx ebx, byte [esp + 0x11]
test bl, bl
je 0x4da084
cmp ecx, 0x13
jne 0x4da075
mov ebx, dword [esp + 0x4c]
test ebx, ebx
jne 0x4da05d
mov ebp, dword [esp + 0x44]
cmp ebp, 0x14
jg 0x4da040
cmp ebp, 0xc
jne 0x4da023
mov ecx, ebp
cmp ebp, 0x17
jne 0x4d81d6
cmp ecx, 0x18
jne 0x4d81d6
test ebx, ebx
jne 0x4d81d6
mov ebp, 0x18
mov esi, ebx
movzx ebx, byte [esp + 0x30c]
test bl, bl
je 0x4da01c
mov ebx, 0x11
mov dword [esp + 0x70], ebx
movzx ebp, byte [esp + 0x2f9]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4d9fe4
mov edi, eax
mov eax, 0
mov dword [esp + 0x74], eax
mov eax, edi
je 0x4d9f91
mov ebp, dword [esp + 0x74]
je 0x4d9f4d
mov dword [esp + 0xc8], ebx
test al, al
je 0x4d9f38
xchg edi, eax
test al, al
xchg edi, eax
je 0x4d9ce3
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x54]
lea ebp, [eax + ebx]
cmp ebp, eax
jge 0x4d8288
lea eax, [0x55c9fb]
mov dword [esp], eax
mov dword [esp + 4], 0xe
call fcn.004080b0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x310], ecx
lea ecx, [0x58abf0]
mov dword [esp + 0x314], ecx
mov dword [esp + 0x318], eax
add esp, 0x2d8
ret
mov edi, dword [esp + 0x2ec]
cmp ebp, edi
jg 0x4d8248
mov edx, dword [esp + 0x2f0]
cmp ebp, edx
ja 0x4da344
cmp eax, ebp
ja 0x4da33d
mov dword [esp + 0xc8], ebp
sub edx, eax
mov dword [esp + 0xa8], edx
neg edx
sar edx, 0x1f
and edx, eax
mov dword [esp + 0xc4], edx
mov eax, dword [esp + 0x2e8]
lea edi, [eax + edx]
mov dword [esp + 0x110], edi
mov edi, dword [esp + 0x50]
cmp dword [0x66a6d0], edi
je 0x4d9ad8
cmp dword [0x66a6c0], edi
je 0x4d98ac
cmp dword [0x66a6a8], edi
je 0x4d964a
cmp dword [0x66a6d8], edi
je 0x4d93ef
cmp dword [0x66a6b0], edi
je 0x4d9308
cmp dword [0x66a6b8], edi
je 0x4d9265
cmp dword [0x66a6a0], edi
je 0x4d90f3
nop
mov ecx, dword [esp + 0x2e4]
mov esi, ecx
and ecx, 0x1f
cmp ecx, 6
ja 0x4d8649
cmp ecx, 1
jne 0x4d8448
cmp ebx, 1
jne 0x4d8413
movzx eax, byte [eax + edx]
test al, al
jne 0x4d83ce
xor eax, eax
xor ecx, ecx
xor edx, edx
test edx, edx
je 0x4d8387
mov dword [esp + 0x310], ebp
mov dword [esp + 0x314], edx
mov dword [esp + 0x318], ecx
add esp, 0x2d8
ret
mov dword [esp + 0x104], ecx
mov dword [esp + 0x84], edx
mov ecx, dword [esp + 0x2dc]
mov dword [esp], ecx
mov ecx, dword [esp + 0x2e0]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov byte [esp + 0xc], al
call fcn.0047cb60
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x84]
mov ebp, dword [esp + 0xc8]
jmp 0x4d836b
cmp al, 0xff
jne 0x4d83de
mov eax, 1
xor ecx, ecx
xor edx, edx
jmp 0x4d8367
lea eax, [0x55ce11]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call fcn.004080b0
mov ecx, dword [esp + 8]
mov ebp, dword [esp + 0xc8]
mov esi, dword [esp + 0x2e4]
xor eax, eax
lea edx, [0x58abf0]
jmp 0x4d8367
lea eax, [0x55ce11]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call fcn.004080b0
mov ecx, dword [esp + 8]
mov ebp, dword [esp + 0xc8]
mov esi, dword [esp + 0x2e4]
lea edx, [0x58abf0]
xor eax, eax
jmp 0x4d8367
cmp ecx, 2
jne 0x4d859d
mov eax, dword [esp + 0x2dc]
mov dword [esp], eax
mov ecx, dword [esp + 0x2e0]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.0047d3a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x7c]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 4
jne 0x4d8529
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.004d5790
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test edx, edx
je 0x4d84df
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x310], ecx
mov dword [esp + 0x314], edx
mov dword [esp + 0x318], eax
add esp, 0x2d8
ret
mov dword [esp + 0xe8], eax
mov dword [esp + 0x80], edx
mov eax, dword [esp + 0x2dc]
mov dword [esp], eax
mov eax, dword [esp + 0x2e0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 8], eax
sar ecx, 0x1f
mov dword [esp + 0x10], ecx
call fcn.0047ce90
mov eax, dword [esp + 0xe8]
mov edx, dword [esp + 0x80]
jmp 0x4d84bc
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.004d5540
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x4d8560
mov edx, eax
mov eax, ecx
jmp 0x4d84bc
mov dword [esp + 0x7c], eax
mov dword [esp + 0xf0], ecx
mov eax, dword [esp + 0x2dc]
mov dword [esp], eax
mov eax, dword [esp + 0x2e0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 8], eax
call fcn.0047ce90
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0xf0]
jmp 0x4d8557
lea eax, [ecx - 5]
cmp eax, 1
jbe 0x4d8451
mov eax, dword [esp + 0x2dc]
mov dword [esp], eax
mov eax, dword [esp + 0x2e0]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.0047d3a0
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 + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x55c7a7]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xd
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004437f0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004080b0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x310], ecx
lea ecx, [0x58abd0]
mov dword [esp + 0x314], ecx
mov dword [esp + 0x318], eax
add esp, 0x2d8
ret
cmp ecx, 0x17
je 0x4d8e84
cmp ecx, 0x18
jne 0x4d896f
mov eax, dword [esp + 0x70]
cmp eax, 0x13
jg 0x4d887a
cmp eax, 0xc
je 0x4d87e4
cmp eax, 0x12
je 0x4d87b1
cmp eax, 0x13
je 0x4d877e
mov dword [esp], eax
call fcn.00407fe0
mov eax, dword [esp + 4]
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0
lea ecx, [0x53aac0]
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], eax
lea eax, [0x56398f]
mov dword [esp], eax
mov dword [esp + 4], 0x26
lea eax, [esp + 0x180]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a61e0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004080b0
mov eax, dword [esp + 8]
xor ecx, ecx
xor edx, edx
lea ebx, [0x58abf0]
test ebx, ebx
je 0x4d8733
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x310], ecx
mov dword [esp + 0x314], ebx
mov dword [esp + 0x318], eax
add esp, 0x2d8
ret
mov dword [esp + 0x134], eax
mov dword [esp + 0xc0], ebx
mov eax, dword [esp + 0x2dc]
mov dword [esp], eax
mov eax, dword [esp + 0x2e0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.0047cf80
mov eax, dword [esp + 0x134]
mov ebx, dword [esp + 0xc0]
jmp 0x4d8710
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.004d6800
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
jmp 0x4d870c
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.004d6730
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
jmp 0x4d870c
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 8], ecx
call fcn.0045e770
movzx eax, byte [esp + 0xc]
test al, al
je 0x4d884c
mov dword [esp], 0
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xc], eax
call fcn.00443970
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
xor edx, edx
xor ebx, ebx
mov ebp, edx
mov edx, eax
mov eax, ebp
jmp 0x4d870c
nop
lea eax, [0x53ff20]
mov dword [esp], eax
call fcn.0040a710
mov edx, dword [esp + 4]
mov dword [edx + 4], 0x1a
lea eax, [0x56056c]
mov dword [edx], eax
lea ebx, [0x58a9f0]
xor eax, eax
xor ecx, ecx
jmp 0x4d8841
cmp eax, 0x16
jg 0x4d88f7
cmp eax, 0x14
je 0x4d88c0
cmp eax, 0x16
jne 0x4d8683
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.004d6910
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jmp 0x4d870c
mov dword [esp], 0
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xc], eax
call fcn.00443970
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
xor eax, eax
xor ebx, ebx
jmp 0x4d870c
cmp eax, 0x1b
je 0x4d8938
cmp eax, 0x1e
jne 0x4d8683
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.004d69d0
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4d870c
mov dword [esp], 0
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xc], eax
call fcn.00443970
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
xor eax, eax
xor ebx, ebx
jmp 0x4d870c
cmp ecx, 0x19
jne 0x4d85a9
lea ecx, [esp + 8]
mov dword [esp + 0x130], ecx
xor edx, edx
jmp 0x4d8992
mov eax, dword [esp + 0x6c]
lea edx, [eax + 1]
mov edi, dword [esp + 0x50]
mov dword [esp + 0x6c], edx
mov eax, dword [edi + 0x64]
mov ecx, dword [esp + 0xdc]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x6c]
cmp dword [esp + 4], eax
jle 0x4d8a27
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [esp + 0xdc]
mov dword [esp], ebx
mov dword [esp + 4], eax
call edx
lea edi, [esp + 0x2a4]
mov esi, dword [esp + 0x130]
call fcn.004562de
mov eax, dword [esp + 0x2b0]
test eax, eax
je 0x4d8987
lea eax, [0x562824]
mov dword [esp], eax
mov dword [esp + 4], 0x21
call fcn.004080b0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x310], ecx
lea ecx, [0x58abd0]
mov dword [esp + 0x314], ecx
mov dword [esp + 0x318], eax
add esp, 0x2d8
ret
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x64]
mov edx, dword [esp + 0xdc]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
jg 0x4d8e1c
xor eax, eax
test al, al
je 0x4d8b86
mov eax, dword [esp + 0x2f4]
mov ecx, dword [esp + 0xc8]
cmp eax, ecx
ja 0x4da333
mov eax, dword [esp + 0x2dc]
mov dword [esp], eax
mov ecx, dword [esp + 0x2e0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x2e4]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.0047b940
mov eax, dword [esp + 0x2f0]
mov ecx, dword [esp + 0x2f4]
sub eax, ecx
mov edx, eax
neg eax
sar eax, 0x1f
and eax, ecx
mov ebx, dword [esp + 0x2e8]
add eax, ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x12c], ebx
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xbc], ebp
mov esi, dword [esp + 0x14]
mov dword [esp + 0x128], esi
mov dword [esp], eax
mov eax, dword [esp + 0xc8]
sub eax, ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00408130
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0x66aa48]
test cl, cl
je 0x4d8e11
lea ecx, [0x53b7e0]
mov dword [0x66aa4c], ecx
mov edx, dword [0x67bf10]
test edx, edx
jne 0x4d8e01
mov dword [0x66aa50], eax
mov dword [esp + 0x140], ecx
mov dword [esp + 0x144], eax
mov ecx, dword [esp + 0x140]
test ecx, ecx
je 0x4d8df6
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4d8b55
or edx, 0x80
mov ebx, dword [esp + 0x12c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x128]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.0047ca50
lea eax, [esp + 8]
mov dword [esp + 0x124], eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x120], ecx
mov edx, dword [esp + 0xc0]
mov ebx, dword [esp + 0x134]
xor ebp, ebp
xor esi, esi
jmp 0x4d8bb7
lea ebp, [eax + 1]
mov esi, ebx
mov ebx, ecx
mov dword [esp + 0xc0], edx
mov dword [esp + 0x134], ebx
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], esi
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x64]
mov edi, dword [esp + 0xdc]
mov dword [esp], edi
call ecx
mov eax, dword [esp + 0x68]
cmp dword [esp + 4], eax
jle 0x4d8dc5
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [esp + 0xdc]
mov dword [esp], ebx
mov dword [esp + 4], eax
call edx
lea edi, [esp + 0x270]
mov esi, dword [esp + 0x130]
call fcn.004562de
mov eax, dword [esp + 0x68]
test eax, eax
jne 0x4d8dbe
mov ecx, dword [esp + 0x284]
mov edx, dword [esp + 0x280]
cmp dword [0x66a6c8], edx
je 0x4d8d9a
xor ecx, ecx
test cl, cl
je 0x4d8c5b
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0xc0]
mov ebx, dword [esp + 0x64]
jmp 0x4d8bb0
mov ecx, dword [esp + 0x2dc]
mov dword [esp], ecx
mov edx, dword [esp + 0x2e0]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x2e4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.0047b940
mov eax, dword [esp + 0x14]
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x12c], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0xbc], edx
mov ebx, dword [esp + 0x288]
mov ebp, dword [esp + 0x28c]
mov dword [esp], ebx
mov dword [esp + 4], ebp
lea ebx, [0x55acbe]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 4
call fcn.004761d0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004da600
lea edi, [esp + 0x1e8]
mov esi, dword [esp + 0x124]
call fcn.00456324
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov eax, dword [esp + 0x128]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x18], ebx
mov edi, dword [esp + 0x120]
lea esi, [esp + 0x1e8]
call fcn.00456324
call fcn.004d74d0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
test ecx, ecx
jne 0x4d8d77
mov ebx, eax
mov eax, dword [esp + 0x68]
mov ebp, ecx
mov ecx, edx
mov edx, ebp
jmp 0x4d8bb0
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x310], eax
mov dword [esp + 0x314], ecx
mov dword [esp + 0x318], edx
add esp, 0x2d8
ret
mov dword [esp], edx
mov dword [esp + 4], ecx
mov eax, dword [0x66a6cc]
mov dword [esp + 8], eax
call fcn.00403350
movzx ecx, byte [esp + 0xc]
mov eax, dword [esp + 0x68]
jmp 0x4d8c40
xor ecx, ecx
jmp 0x4d8c40
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x310], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x314], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x318], eax
add esp, 0x2d8
ret
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4d8b55
lea edi, [0x66aa50]
call fcn.00455bf0
jmp 0x4d8b23
lea ecx, [0x53b7e0]
jmp 0x4d8b23
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0xdc]
mov dword [esp], edx
mov dword [esp + 4], 0
call ecx
lea edi, [esp + 0x2a4]
mov esi, dword [esp + 0x130]
call fcn.004562de
mov eax, dword [esp + 0x2b8]
mov ecx, dword [esp + 0x2b4]
cmp dword [0x66a6c8], ecx
je 0x4d8e67
xor eax, eax
jmp 0x4d8a48
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [0x66a6cc]
mov dword [esp + 8], eax
call fcn.00403350
movzx eax, byte [esp + 0xc]
jmp 0x4d8e62
mov eax, dword [edi + 0x28]
mov ecx, dword [esp + 0xdc]
mov dword [esp], ecx
call eax
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 0x4d9017
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call fcn.0047d940
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x2dc]
mov dword [esp], ebx
mov ebp, dword [esp + 0x2e0]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x2e4]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.0047ca50
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.00408130
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0x66aa48]
test cl, cl
je 0x4d900c
lea ecx, [0x533c60]
mov dword [0x66aa4c], ecx
mov edx, dword [0x67bf10]
test edx, edx
jne 0x4d8ffc
mov dword [0x66aa50], eax
mov dword [esp + 0x178], ecx
mov dword [esp + 0x17c], eax
mov ecx, dword [esp + 0x178]
test ecx, ecx
je 0x4d8ff4
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4d8f92
or edx, 0x80
mov ebx, dword [esp + 0x2dc]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2e0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2e4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.0047d610
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x310], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x314], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x318], eax
add esp, 0x2d8
ret
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4d8f92
lea edi, [0x66aa50]
call fcn.00455bf0
jmp 0x4d8f64
lea ecx, [0x533c60]
jmp 0x4d8f64
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xdc]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x110]
mov dword [esp], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.004d7080
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x2c]
test eax, eax
je 0x4d90aa
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x310], ecx
mov dword [esp + 0x314], eax
mov dword [esp + 0x318], ebp
add esp, 0x2d8
ret
mov dword [esp + 0x78], eax
mov dword [esp + 0xf8], ebp
mov eax, dword [esp + 0x2dc]
mov dword [esp], eax
mov eax, dword [esp + 0x2e0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
call fcn.0047ca50
mov eax, dword [esp + 0x78]
mov ebp, dword [esp + 0xf8]
jmp 0x4d9087
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0x66a6a4]
mov dword [esp + 8], ecx
call fcn.00403350
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4d913b
mov eax, dword [esp + 0x2e8]
mov edx, dword [esp + 0xc4]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xc8]
mov edi, dword [esp + 0x50]
jmp 0x4d8331
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.004d5900
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edx, edx
je 0x4d9190
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x310], eax
mov dword [esp + 0x314], edx
mov dword [esp + 0x318], ecx
add esp, 0x2d8
ret
nop
movzx ebx, byte [0x66aa48]
test bl, bl
je 0x4d925a
lea ebx, [0x559b80]
mov dword [0x66aa4c], ebx
mov ebp, dword [0x67bf10]
test ebp, ebp
jne 0x4d924a
mov dword [0x66aa50], eax
mov dword [esp + 0xf4], ecx
mov dword [esp + 0x88], edx
mov dword [esp + 0x160], ebx
mov dword [esp + 0x164], eax
mov ebx, dword [esp + 0x160]
test ebx, ebx
je 0x4d9242
nop
movzx ebp, byte [ebx + 0xf]
mov esi, ebp
and ebp, 0x1f
xchg esi, eax
test al, 0x20
xchg esi, eax
jne 0x4d91fe
or ebp, 0x80
mov ecx, dword [esp + 0x2dc]
mov dword [esp], ecx
mov ecx, dword [esp + 0x2e0]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x2e4]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebp
call fcn.0047ca50
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0x88]
jmp 0x4d916d
xor ebp, ebp
xor eax, eax
xor ebx, ebx
jmp 0x4d91fe
lea edi, [0x66aa50]
call fcn.00455bf0
jmp 0x4d91c0
lea ebx, [0x559b80]
jmp 0x4d91c0
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0x66a6bc]
mov dword [esp + 8], ecx
call fcn.00403350
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4d92ad
mov eax, dword [esp + 0x2e8]
mov edx, dword [esp + 0xc4]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xc8]
mov edi, dword [esp + 0x50]
jmp 0x4d8325
mov eax, dword [esp + 0x2dc]
mov dword [esp], eax
mov eax, dword [esp + 0x2e0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.0047cb60
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x310], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x314], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x318], eax
add esp, 0x2d8
ret
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0x66a6b4]
mov dword [esp + 8], ecx
call fcn.00403350
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4d9350
mov eax, dword [esp + 0x2e8]
mov edx, dword [esp + 0xc4]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xc8]
mov edi, dword [esp + 0x50]
jmp 0x4d8319
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.004d5790
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test ecx, ecx
je 0x4d93a5
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x310], eax
mov dword [esp + 0x314], ecx
mov dword [esp + 0x318], edx
add esp, 0x2d8
ret
mov dword [esp + 0x8c], ecx
mov dword [esp + 0xe4], edx
mov ecx, dword [esp + 0x2dc]
mov dword [esp], ecx
mov ecx, dword [esp + 0x2e0]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x2e4]
mov dword [esp + 8], ecx
sar eax, 0x1f
mov dword [esp + 0x10], eax
call fcn.0047ce90
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0xe4]
jmp 0x4d9382
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0x66a6dc]
mov dword [esp + 8], ecx
call fcn.00403350
movzx eax, byte [esp + 0xc]
test al, al
je 0x4d9628
lea edi, [esp + 0x198]
xor eax, eax
call fcn.00455e4b
mov ecx, dword [esp + 0x70]
cmp ecx, 0x17
jne 0x4d95c7
lea edi, [esp + 0x1d4]
call fcn.00455e4b
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 8], ecx
call fcn.004d61d0
lea edi, [esp + 0x1d4]
mov esi, dword [esp + 0x138]
call fcn.0045632e
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0x24]
lea edi, [esp + 0x198]
mov esi, dword [esp + 0x138]
call fcn.0045632e
mov eax, dword [esp + 0x94]
test eax, eax
je 0x4d94c5
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x310], ecx
mov dword [esp + 0x314], eax
mov dword [esp + 0x318], edx
add esp, 0x2d8
ret
mov dword [esp + 0xec], edx
mov dword [esp + 0x94], eax
lea edi, [esp + 0x1d4]
lea esi, [esp + 0x198]
call fcn.0045632e
lea eax, [0x558120]
mov dword [esp], eax
lea eax, [esp + 0x1d4]
mov dword [esp + 4], eax
call fcn.00407f70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x4d95bf
nop
movzx edx, byte [0x66aa48]
test dl, dl
je 0x4d9535
mov dword [0x66aa4c], ecx
mov edx, dword [0x67bf10]
test edx, edx
jne 0x4d95af
mov dword [0x66aa50], eax
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], eax
mov ecx, dword [esp + 0x170]
test ecx, ecx
je 0x4d95a7
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4d9563
or edx, 0x80
mov ebx, dword [esp + 0x2dc]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2e0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2e4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.0047ca50
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0xec]
jmp 0x4d94a2
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4d9563
lea edi, [0x66aa50]
call fcn.00455bf0
jmp 0x4d9535
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4d9563
lea edi, [esp + 0x1d4]
call fcn.00455e4b
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 8], ecx
call fcn.004d6510
lea edi, [esp + 0x1d4]
mov esi, dword [esp + 0x138]
call fcn.0045632e
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
lea edi, [esp + 0x198]
mov esi, dword [esp + 0x138]
call fcn.0045632e
jmp 0x4d949e
mov eax, dword [esp + 0x2e8]
mov edx, dword [esp + 0xc4]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xc8]
mov edi, dword [esp + 0x50]
jmp 0x4d830d
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0x66a6ac]
mov dword [esp + 8], ecx
call fcn.00403350
movzx eax, byte [esp + 0xc]
test al, al
je 0x4d988a
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4d985d
mov edx, dword [esp + 0xc4]
mov ebx, dword [esp + 0x2e8]
movzx ecx, byte [ebx + edx]
movzx edx, cl
cmp edx, 7
jle 0x4d97f8
lea eax, [0x562a61]
mov dword [esp], eax
mov dword [esp + 4], 0x22
call fcn.004080b0
mov eax, dword [esp + 8]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
lea ebp, [0x58abf0]
xor esi, esi
test ebp, ebp
je 0x4d96ed
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x310], ecx
mov dword [esp + 0x314], ebp
mov dword [esp + 0x318], eax
add esp, 0x2d8
ret
mov dword [esp + 0x100], eax
mov dword [esp + 0x98], ebp
mov dword [esp + 0x188], ecx
mov dword [esp + 0x18c], edx
mov dword [esp + 0x190], ebx
mov dword [esp + 0x194], esi
lea eax, [0x54b9c0]
mov dword [esp], eax
lea eax, [esp + 0x188]
mov dword [esp + 4], eax
call fcn.00407f70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x4d97f0
nop
movzx edx, byte [0x66aa48]
test dl, dl
je 0x4d9766
mov dword [0x66aa4c], ecx
mov edx, dword [0x67bf10]
test edx, edx
jne 0x4d97e0
mov dword [0x66aa50], eax
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], eax
mov ecx, dword [esp + 0x158]
test ecx, ecx
je 0x4d97d8
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4d9794
or edx, 0x80
mov ebx, dword [esp + 0x2dc]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2e0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2e4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.0047ca50
mov eax, dword [esp + 0x100]
mov ebp, dword [esp + 0x98]
jmp 0x4d96ca
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4d9794
lea edi, [0x66aa50]
call fcn.00455bf0
jmp 0x4d9766
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x4d9794
cmp eax, 1
jne 0x4d9805
test edx, edx
jg 0x4d969e
cmp cl, 0x20
sbb ebx, ebx
mov ebp, dword [esp + 0x110]
movzx esi, byte [eax + ebp - 1]
mov edi, 1
shl edi, cl
and edi, ebx
lea ebx, [edi - 1]
xchg esi, eax
test bl, al
xchg esi, eax
jne 0x4d969e
lea esi, [eax - 1]
mov edi, esi
shl esi, 3
sub esi, edx
mov eax, edi
mov edi, dword [esp + 0xa8]
lea ebx, [edi - 1]
mov edi, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
lea ecx, [ebp + ebx]
mov edx, eax
mov ebx, edi
xor ebp, ebp
xor eax, eax
jmp 0x4d96c6
lea eax, [0x55f2b5]
mov dword [esp], eax
mov dword [esp + 4], 0x16
call fcn.004080b0
mov eax, dword [esp + 8]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
lea ebp, [0x58abf0]
xor esi, esi
jmp 0x4d96c6
mov eax, dword [esp + 0x2e8]
mov edx, dword [esp + 0xc4]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xc8]
mov edi, dword [esp + 0x50]
jmp 0x4d8301
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0x66a6c4]
mov dword [esp + 8], ecx
call fcn.00403350
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4d98f4
mov eax, dword [esp + 0x2e8]
mov edx, dword [esp + 0xc4]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xc8]
mov edi, dword [esp + 0x50]
jmp 0x4d82f5
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.004d5e00
mov eax, dword [esp + 0x18]
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xe0], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0xfc], ebx
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x2dc]
mov dword [esp], esi
mov edi, dword [esp + 0x2e0]
mov dword [esp + 4], edi
mov ebp, dword [esp + 0x2e4]
mov dword [esp + 8], ebp
call fcn.0047d3a0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call fcn.0047d940
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x2dc]
mov dword [esp], ebx
mov ebp, dword [esp + 0x2e0]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x2e4]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.0047ca50
mov eax, dword [esp + 0x90]
test eax, eax
je 0x4d99fe
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x310], ecx
mov dword [esp + 0x314], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x318], eax
add esp, 0x2d8
ret
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.00408130
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0x66aa48]
test cl, cl
je 0x4d9acd
lea ecx, [0x5425a0]
mov dword [0x66aa4c], ecx
mov edx, dword [0x67bf10]
test edx, edx
jne 0x4d9ac0
mov dword [0x66aa50], eax
mov dword [esp + 0x150], ecx
mov dword [esp + 0x154], eax
mov ecx, dword [esp + 0x150]
test ecx, ecx
je 0x4d9ab8
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4d9a7b
or edx, 0x80
mov ebx, dword [esp + 0x2dc]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2e0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2e4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.0047d610
mov eax, dword [esp + 0x90]
jmp 0x4d99d4
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4d9a7b
lea edi, [0x66aa50]
call fcn.00455bf0
jmp 0x4d9a4d
lea ecx, [0x5425a0]
jmp 0x4d9a4d
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0x66a6d4]
mov dword [esp + 8], ecx
call fcn.00403350
movzx eax, byte [esp + 0xc]
test al, al
je 0x4d9cc1
mov eax, dword [esp + 0x2f4]
mov ecx, dword [esp + 0xc8]
cmp eax, ecx
ja 0x4da338
lea edi, [esp + 0x200]
lea esi, [0x58b9e0]
call fcn.00456306
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x200], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x204], ecx
movzx ecx, byte [esp + 0x42]
mov byte [esp + 0x208], cl
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x20c], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x210], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x214], ecx
mov ecx, dword [esp + 0x2f0]
sub ecx, eax
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov ebx, dword [esp + 0x2e8]
add ecx, ebx
mov dword [esp + 0x218], ecx
mov ecx, dword [esp + 0xc8]
sub ecx, eax
mov dword [esp + 0x21c], ecx
mov dword [esp + 0x220], edx
lea edi, [esp + 0x224]
lea esi, [esp + 0x200]
call fcn.00456306
lea eax, [0x54bdc0]
mov dword [esp], eax
lea eax, [esp + 0x224]
mov dword [esp + 4], eax
call fcn.00407f70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x4d9cb6
nop
movzx edx, byte [0x66aa48]
test dl, dl
je 0x4d9c0e
mov dword [0x66aa4c], ecx
mov edx, dword [0x67bf10]
test edx, edx
jne 0x4d9ca6
mov dword [0x66aa50], eax
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], eax
mov ecx, dword [esp + 0x148]
test ecx, ecx
je 0x4d9c9e
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4d9c3c
or edx, 0x80
mov ebx, dword [esp + 0x2dc]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2e0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2e4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.0047ca50
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x310], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x314], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x318], eax
add esp, 0x2d8
ret
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4d9c3c
lea edi, [0x66aa50]
call fcn.00455bf0
jmp 0x4d9c0e
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4d9c3c
mov eax, dword [esp + 0x2e8]
mov edx, dword [esp + 0xc4]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xc8]
mov edi, dword [esp + 0x50]
jmp 0x4d82e9
movzx ebp, byte [esp + 0x42]
xchg ebp, eax
cmp al, dl
xchg ebp, eax
je 0x4d8239
mov eax, dword [esp + 0x2dc]
mov dword [esp], eax
mov eax, dword [esp + 0x2e0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x13c]
lea esi, [esp + 0x2f8]
call fcn.00456324
call fcn.004da370
movzx eax, byte [esp + 0x24]
test al, al
je 0x4d9d64
mov eax, dword [esp + 0x2f4]
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x134]
mov dword [esp + 0x310], eax
mov dword [esp + 0x314], ecx
mov dword [esp + 0x318], edx
add esp, 0x2d8
ret
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xd4], eax
movzx eax, byte [esp + 0x42]
mov byte [esp + 0xd8], al
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x2f8]
call fcn.00456324
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x60]
mov ecx, dword [esp + 0xdc]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x134], ecx
mov edx, dword [esp + 0xc8]
mov dword [esp], edx
call fcn.00407fe0
mov eax, dword [esp + 4]
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x134]
mov dword [esp], ecx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
call fcn.004080b0
mov eax, dword [esp + 8]
mov dword [esp + 0x11c], eax
mov ecx, dword [esp + 0x54]
mov dword [esp], ecx
call fcn.00407fe0
mov eax, dword [esp + 4]
mov dword [esp + 0x118], eax
lea edi, [esp + 0x248]
xor eax, eax
call fcn.00455e46
lea eax, [0x53aac0]
mov dword [esp + 0x248], eax
mov ecx, dword [esp + 0x128]
mov dword [esp + 0x24c], ecx
lea ecx, [0x549f60]
mov dword [esp], ecx
lea ecx, [esp + 0xcc]
mov dword [esp + 4], ecx
call fcn.004081b0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x250], eax
mov dword [esp + 0x254], ecx
lea eax, [0x550100]
mov dword [esp], eax
lea eax, [esp + 0x1e8]
mov dword [esp + 4], eax
call fcn.00407f70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x258], ecx
mov dword [esp + 0x25c], eax
lea eax, [0x53b300]
mov dword [esp + 0x260], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x264], eax
lea eax, [0x53aac0]
mov dword [esp + 0x268], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x26c], eax
lea eax, [0x563cdf]
mov dword [esp], eax
mov dword [esp + 4], 0x27
lea eax, [esp + 0x248]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 5
mov dword [esp + 0x10], 5
call fcn.004a61e0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004080b0
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x54]
lea ecx, [0x58abd0]
jmp 0x4d9d48
cmp ebp, esi
jne 0x4d9cf2
cmp ebx, ecx
jne 0x4d9cf2
jmp 0x4d822f
mov dword [esp + 0xc4], ebx
movzx ebx, byte [esp + 0x2fb]
test bl, bl
je 0x4d9f85
mov ebx, dword [esp + 0x300]
test ebx, ebx
je 0x4d9f79
mov ebx, dword [ebx]
xor eax, eax
mov ebp, 3
jmp 0x4d8220
mov ebx, dword [esp + 0xc4]
jmp 0x4d8220
mov ebx, dword [esp + 0xc4]
jmp 0x4d8220
mov dword [esp + 0xb8], ebx
movzx ebx, byte [esp + 0x2fa]
test bl, bl
je 0x4d9fd4
mov ebx, dword [esp + 0x300]
test ebx, ebx
je 0x4d9fc4
mov ebx, dword [ebx]
xchg ebp, eax
test al, al
xchg ebp, eax
mov eax, 0
mov ebp, 1
jmp 0x4d821a
xchg ebp, eax
test al, al
xchg ebp, eax
mov ebx, dword [esp + 0xb8]
jmp 0x4d8216
xchg ebp, eax
test al, al
xchg ebp, eax
mov ebx, dword [esp + 0xb8]
jmp 0x4d8216
mov edi, ebx
mov ebx, dword [esp + 0x300]
test ebx, ebx
je 0x4da011
mov ebx, dword [ebx]
xchg ebp, eax
test al, al
xchg ebp, eax
mov edi, eax
mov eax, 0
mov eax, 2
mov dword [esp + 0x74], eax
mov eax, 0
jmp 0x4d8210
xchg ebp, eax
test al, al
xchg ebp, eax
mov ebx, edi
jmp 0x4d8203
mov ebx, ebp
jmp 0x4d81ed
cmp ebp, 0x12
je 0x4d81c1
cmp ebp, 0x14
je 0x4d81c1
mov ebp, ecx
mov ecx, dword [esp + 0x44]
jmp 0x4d81c3
cmp ebp, 0x16
je 0x4d81c1
cmp ebp, 0x1b
je 0x4d81c1
cmp ebp, 0x1e
je 0x4d81c1
jmp 0x4da035
mov ebp, dword [esp + 0x304]
test ebp, ebp
je 0x4da071
mov ecx, dword [esp + 0x44]
jmp 0x4d81c3
mov ebp, ecx
jmp 0x4da068
mov ebx, dword [esp + 0x4c]
mov ebp, ecx
mov ecx, dword [esp + 0x44]
jmp 0x4d81c3
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4da08f
mov eax, dword [eax + 4]
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x184], eax
lea eax, [0x55e284]
mov dword [esp], eax
mov dword [esp + 4], 0x13
lea eax, [esp + 0x180]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a61e0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004080b0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x310], ecx
lea ecx, [0x58abd0]
mov dword [esp + 0x314], ecx
mov dword [esp + 0x318], eax
add esp, 0x2d8
ret
mov dword [esp + 0x310], eax
mov dword [esp + 0x314], ecx
mov dword [esp + 0x318], edi
add esp, 0x2d8
ret
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb0], ebp
mov dword [esp + 0xac], esi
mov dword [esp], eax
mov ecx, dword [esp + 0xdc]
mov dword [esp + 4], ecx
mov edx, dword [0x66a6d4]
mov dword [esp + 8], edx
call fcn.00403350
movzx eax, byte [esp + 0xc]
test al, al
je 0x4da1b4
mov ecx, dword [esp + 0xc0]
mov edi, dword [esp + 0x134]
mov ebx, dword [esp + 0xb4]
mov esi, dword [esp + 0xb0]
mov ebp, dword [esp + 0xac]
movzx edx, byte [esp + 0x43]
mov eax, dword [esp + 0xc8]
jmp 0x4d8142
mov ebx, dword [esp + 0xb4]
test ebx, ebx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x2ec]
mov edi, dword [esp + 0xc0]
jmp 0x4d7ff8
movzx eax, byte [esp + 0x43]
test al, al
jne 0x4d7fe6
mov eax, dword [esp + 0x2dc]
mov dword [esp], eax
mov eax, dword [esp + 0x2e0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x13c]
lea esi, [esp + 0x2f8]
call fcn.00456324
call fcn.004da370
movzx eax, byte [esp + 0x24]
test al, al
je 0x4da25a
mov eax, dword [esp + 0x2f4]
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x310], eax
mov dword [esp + 0x314], edx
mov dword [esp + 0x318], ecx
add esp, 0x2d8
ret
lea eax, [0x5634e3]
mov dword [esp], eax
mov dword [esp + 4], 0x25
call fcn.004080b0
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc8]
lea edx, [0x58abd0]
jmp 0x4da23e
lea eax, [0x5600a8]
mov dword [esp], eax
mov dword [esp + 4], 0x19
call fcn.004080b0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x310], ecx
lea ecx, [0x58abd0]
mov dword [esp + 0x314], ecx
mov dword [esp + 0x318], eax
add esp, 0x2d8
ret
mov eax, 2
jmp 0x4d7f9f
mov eax, dword [esp + 0xc8]
mov eax, edi
mov edi, ecx
mov ecx, eax
mov eax, dword [esp + 0xc8]
mov eax, esi
mov esi, ebp
mov ebp, eax
mov eax, dword [esp + 0xc8]
jmp 0x4d8142
mov dword [esp + 0x310], eax
mov dword [esp + 0x314], edi
mov dword [esp + 0x318], ecx
add esp, 0x2d8
ret
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x6c]
mov edx, dword [esp + 0xdc]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
sete al
jmp 0x4d75e4
call fcn.00455cd0
call fcn.00455cd0
mov ecx, ebp
call fcn.00455cd0
mov ecx, ebp
call fcn.00455cb0
mov eax, ecx
mov ecx, ebx
call fcn.00455cd0
mov ecx, ebx
mov edx, ebp
call fcn.00455cb0
nop
call fcn.004543b0
jmp fcn.004d74d0