Function at 0x4c9c20
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 0x4ccaae
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.004783e0
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 0x4c9d0d
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.00456674
call fcn.004ccac0
movzx eax, byte [esp + 0x24]
test al, al
je 0x4c9ceb
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, [0x51e851]
mov dword [esp], eax
mov dword [esp + 4], 0x12
call fcn.00407f70
mov ecx, dword [esp + 8]
lea eax, [0x5447a0]
jmp 0x4c9cc8
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 0x4cca62
xor eax, eax
lea ecx, [esp + 0xc]
mov dword [esp + 0x138], ecx
test al, al
je 0x4ca63d
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.004c9320
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 0x4ca621
mov dword [esp + 0x58], ecx
mov dword [esp + 0xa4], ebx
add ebx, ecx
cmp ebx, ecx
jge 0x4c9e1e
lea eax, [0x51d73b]
mov dword [esp], eax
mov dword [esp + 4], 0xe
call fcn.00407f70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x310], ecx
lea ecx, [0x5447a0]
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 0x4c9dde
mov dword [esp + 0xc4], ebx
test al, al
je 0x4c9f53
xor eax, eax
xor ecx, ecx
test edi, edi
jne 0x4c9f37
mov dword [esp + 0x134], edx
mov dword [esp + 0xc0], edi
test ecx, ecx
je 0x4c9eea
nop
movzx ebp, byte [0x601e80]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4c9e89
mov dword [0x601e84], ecx
mov ebp, dword [0x613370]
test ebp, ebp
jne 0x4c9f23
mov dword [0x601e88], eax
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
mov ecx, dword [esp + 0x168]
test ecx, ecx
je 0x4c9f1b
nop
movzx ebp, byte [ecx + 0xf]
mov esi, ebp
and ebp, 0x1f
xchg esi, eax
test al, 0x20
xchg esi, eax
jne 0x4c9eb9
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.00477a90
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 0x4c9eb9
mov ebp, edi
lea edi, [0x601e88]
call fcn.00455f20
mov edi, ebp
jmp 0x4c9e89
mov dword [esp + 0x310], ebx
mov dword [esp + 0x314], edi
mov dword [esp + 0x318], edx
add esp, 0x2d8
ret
test esi, esi
jne 0x4c9e3f
mov ebp, dword [esp + 0x2f0]
cmp ebx, ebp
ja 0x4ccaa4
cmp ecx, ebx
ja 0x4cca9b
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 0x4ca378
mov dword [esp + 0xc8], ecx
cmp esi, 4
jg 0x4ca1ca
cmp esi, 2
je 0x4ca165
cmp esi, 3
jne 0x4ca10c
mov edx, dword [esp + 0xa4]
test edx, edx
je 0x4ca0df
movzx ebx, byte [ebx + ebp]
movzx ebp, bl
cmp ebp, 7
jle 0x4ca076
lea eax, [0x52311d]
mov dword [esp], eax
mov dword [esp + 4], 0x22
call fcn.00407f70
mov eax, dword [esp + 8]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
lea ebp, [0x5447a0]
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, [0x50d7c0]
mov dword [esp], ecx
lea ecx, [esp + 0x188]
mov dword [esp + 4], ecx
call fcn.00407e30
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 0x4c9e43
cmp edx, 1
jne 0x4ca083
test ebp, ebp
jg 0x4c9fe7
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 0x4c9fe7
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 0x4ca00f
lea eax, [0x51fdd4]
mov dword [esp], eax
mov dword [esp + 4], 0x16
call fcn.00407f70
mov eax, dword [esp + 8]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
lea ebp, [0x5447a0]
xor esi, esi
jmp 0x4ca00f
cmp esi, 4
je 0x4ca11c
xor eax, eax
xor ecx, ecx
mov ebx, edi
jmp 0x4ca068
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.00407ff0
mov eax, dword [esp + 0xc]
lea ecx, [0x4f9520]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xc0]
jmp 0x4ca068
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.004c7c90
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.00407f00
mov eax, dword [esp + 8]
lea ecx, [0x4ff780]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xc0]
jmp 0x4ca068
cmp esi, 6
je 0x4ca30b
cmp esi, 0xc
je 0x4ca246
cmp esi, 0x12
jne 0x4ca111
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.004c8e80
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.00407f70
mov eax, dword [esp + 8]
lea ecx, [0x4fff00]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xc0]
jmp 0x4ca068
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.0045ebc0
movzx eax, byte [esp + 0xc]
test al, al
je 0x4ca2dd
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.00443700
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.00407f70
mov eax, dword [esp + 8]
lea ecx, [0x4fff00]
mov edx, dword [esp + 0x10c]
mov ebx, dword [esp + 0xa0]
jmp 0x4ca068
nop
lea eax, [0x503ce0]
mov dword [esp], eax
call fcn.0040a5d0
mov ebx, dword [esp + 4]
mov dword [ebx + 4], 0x1a
lea eax, [0x520ffe]
mov dword [ebx], eax
lea edx, [0x544560]
xor eax, eax
xor ecx, ecx
jmp 0x4ca2a6
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.004c8550
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.00407ff0
mov eax, dword [esp + 0xc]
lea ecx, [0x505980]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xc0]
jmp 0x4ca068
cmp esi, 0x16
jg 0x4ca4af
cmp esi, 0x13
je 0x4ca44a
cmp esi, 0x14
je 0x4ca3fd
cmp esi, 0x16
jne 0x4ca111
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.004c9060
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.00407f70
mov eax, dword [esp + 8]
lea ecx, [0x4fff00]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xc0]
jmp 0x4ca068
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.00443700
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00407f70
mov eax, dword [esp + 8]
lea ecx, [0x4fff00]
xor edx, edx
xor ebx, ebx
jmp 0x4ca068
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.004c8f50
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.00407f70
mov eax, dword [esp + 8]
lea ecx, [0x4fff00]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xc0]
jmp 0x4ca068
cmp esi, 0x17
je 0x4ca5a6
cmp esi, 0x18
je 0x4ca52b
cmp esi, 0x1e
jne 0x4ca111
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.004c9120
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.00407f70
mov eax, dword [esp + 8]
lea ecx, [0x4fff00]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xc0]
jmp 0x4ca068
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.004c8c60
lea edi, [esp + 0x1ac]
mov esi, dword [esp + 0x138]
call fcn.0045667e
mov eax, dword [esp + 0x24]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xc0], ecx
lea edx, [0x518fe0]
mov dword [esp], edx
lea edx, [esp + 0x1ac]
mov dword [esp + 4], edx
call fcn.00407e30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xc0]
jmp 0x4ca068
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.004c8920
lea edi, [esp + 0x1c0]
mov esi, dword [esp + 0x138]
call fcn.0045667e
mov eax, dword [esp + 0x24]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xc0], ecx
lea edx, [0x518fe0]
mov dword [esp], edx
lea edx, [esp + 0x1c0]
mov dword [esp + 4], edx
call fcn.00407e30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xc0]
jmp 0x4ca068
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.004c9320
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 0x4cca46
mov dword [esp + 0xc8], eax
movzx eax, byte [esp + 0x2f9]
test al, al
je 0x4cca20
movzx eax, byte [esp + 0x2fa]
test al, al
je 0x4cca16
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 0x4cc9d3
mov dword [esp + 0xc0], edi
cmp eax, esi
jne 0x4cc938
mov eax, dword [esp + 0x300]
cmp dword [eax], ebp
jne 0x4cc938
test ebx, ebx
jne 0x4cc92b
mov eax, dword [esp + 0x50]
cmp dword [0x601b30], eax
je 0x4cc895
test ebx, ebx
jg 0x4ca81a
cmp dword [0x601b18], eax
je 0x4ca799
lea eax, [0x524f4e]
mov dword [esp], eax
mov dword [esp + 4], 0x2d
call fcn.00407f70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x310], ecx
lea ecx, [0x544780]
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 [0x601b1c]
mov dword [esp + 8], eax
call fcn.004031c0
movzx eax, byte [esp + 0xc]
test al, al
je 0x4ca756
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.00477ba0
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.004c9320
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 0x4cc879
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.004cd2b0
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x10]
movzx ebx, byte [esp + 0x11]
test bl, bl
je 0x4cc7d4
cmp ecx, 0x13
jne 0x4cc7c5
mov ebx, dword [esp + 0x4c]
test ebx, ebx
jne 0x4cc7ad
mov ebp, dword [esp + 0x44]
cmp ebp, 0x14
jg 0x4cc790
cmp ebp, 0xc
jne 0x4cc773
mov ecx, ebp
cmp ebp, 0x17
jne 0x4ca926
cmp ecx, 0x18
jne 0x4ca926
test ebx, ebx
jne 0x4ca926
mov ebp, 0x18
mov esi, ebx
movzx ebx, byte [esp + 0x30c]
test bl, bl
je 0x4cc76c
mov ebx, 0x11
mov dword [esp + 0x70], ebx
movzx ebp, byte [esp + 0x2f9]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4cc734
mov edi, eax
mov eax, 0
mov dword [esp + 0x74], eax
mov eax, edi
je 0x4cc6e1
mov ebp, dword [esp + 0x74]
je 0x4cc69d
mov dword [esp + 0xc8], ebx
test al, al
je 0x4cc688
xchg edi, eax
test al, al
xchg edi, eax
je 0x4cc433
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x54]
lea ebp, [eax + ebx]
cmp ebp, eax
jge 0x4ca9d8
lea eax, [0x51d73b]
mov dword [esp], eax
mov dword [esp + 4], 0xe
call fcn.00407f70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x310], ecx
lea ecx, [0x5447a0]
mov dword [esp + 0x314], ecx
mov dword [esp + 0x318], eax
add esp, 0x2d8
ret
mov edi, dword [esp + 0x2ec]
cmp ebp, edi
jg 0x4ca998
mov edx, dword [esp + 0x2f0]
cmp ebp, edx
ja 0x4cca94
cmp eax, ebp
ja 0x4cca8d
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 [0x601b30], edi
je 0x4cc228
cmp dword [0x601b20], edi
je 0x4cbffc
cmp dword [0x601b08], edi
je 0x4cbd9a
cmp dword [0x601b38], edi
je 0x4cbb3f
cmp dword [0x601b10], edi
je 0x4cba58
cmp dword [0x601b18], edi
je 0x4cb9b5
cmp dword [0x601b00], edi
je 0x4cb843
nop
mov ecx, dword [esp + 0x2e4]
mov esi, ecx
and ecx, 0x1f
cmp ecx, 6
ja 0x4cad99
cmp ecx, 1
jne 0x4cab98
cmp ebx, 1
jne 0x4cab63
movzx eax, byte [eax + edx]
test al, al
jne 0x4cab1e
xor eax, eax
xor ecx, ecx
xor edx, edx
test edx, edx
je 0x4caad7
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.00477ba0
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x84]
mov ebp, dword [esp + 0xc8]
jmp 0x4caabb
cmp al, 0xff
jne 0x4cab2e
mov eax, 1
xor ecx, ecx
xor edx, edx
jmp 0x4caab7
lea eax, [0x51db07]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call fcn.00407f70
mov ecx, dword [esp + 8]
mov ebp, dword [esp + 0xc8]
mov esi, dword [esp + 0x2e4]
xor eax, eax
lea edx, [0x5447a0]
jmp 0x4caab7
lea eax, [0x51db07]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call fcn.00407f70
mov ecx, dword [esp + 8]
mov ebp, dword [esp + 0xc8]
mov esi, dword [esp + 0x2e4]
lea edx, [0x5447a0]
xor eax, eax
jmp 0x4caab7
cmp ecx, 2
jne 0x4caced
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.004783e0
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 0x4cac79
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.004c7ee0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test edx, edx
je 0x4cac2f
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.00477ed0
mov eax, dword [esp + 0xe8]
mov edx, dword [esp + 0x80]
jmp 0x4cac0c
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.004c7c90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x4cacb0
mov edx, eax
mov eax, ecx
jmp 0x4cac0c
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.00477ed0
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0xf0]
jmp 0x4caca7
lea eax, [ecx - 5]
cmp eax, 1
jbe 0x4caba1
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.004783e0
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, [0x51d502]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xd
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00443580
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00407f70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x310], ecx
lea ecx, [0x544780]
mov dword [esp + 0x314], ecx
mov dword [esp + 0x318], eax
add esp, 0x2d8
ret
cmp ecx, 0x17
je 0x4cb5d4
cmp ecx, 0x18
jne 0x4cb0bf
mov eax, dword [esp + 0x70]
cmp eax, 0x13
jg 0x4cafca
cmp eax, 0xc
je 0x4caf34
cmp eax, 0x12
je 0x4caf01
cmp eax, 0x13
je 0x4caece
mov dword [esp], eax
call fcn.00407ea0
mov eax, dword [esp + 4]
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0
lea ecx, [0x4ff6c0]
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], eax
lea eax, [0x523f21]
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.004a4070
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00407f70
mov eax, dword [esp + 8]
xor ecx, ecx
xor edx, edx
lea ebx, [0x5447a0]
test ebx, ebx
je 0x4cae83
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.00477fc0
mov eax, dword [esp + 0x134]
mov ebx, dword [esp + 0xc0]
jmp 0x4cae60
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.004c8f50
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
jmp 0x4cae5c
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.004c8e80
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
jmp 0x4cae5c
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.0045ebc0
movzx eax, byte [esp + 0xc]
test al, al
je 0x4caf9c
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.00443700
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 0x4cae5c
nop
lea eax, [0x503ce0]
mov dword [esp], eax
call fcn.0040a5d0
mov edx, dword [esp + 4]
mov dword [edx + 4], 0x1a
lea eax, [0x520ffe]
mov dword [edx], eax
lea ebx, [0x544560]
xor eax, eax
xor ecx, ecx
jmp 0x4caf91
cmp eax, 0x16
jg 0x4cb047
cmp eax, 0x14
je 0x4cb010
cmp eax, 0x16
jne 0x4cadd3
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.004c9060
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jmp 0x4cae5c
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.00443700
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
xor eax, eax
xor ebx, ebx
jmp 0x4cae5c
cmp eax, 0x1b
je 0x4cb088
cmp eax, 0x1e
jne 0x4cadd3
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.004c9120
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4cae5c
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.00443700
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
xor eax, eax
xor ebx, ebx
jmp 0x4cae5c
cmp ecx, 0x19
jne 0x4cacf9
lea ecx, [esp + 8]
mov dword [esp + 0x130], ecx
xor edx, edx
jmp 0x4cb0e2
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 0x4cb177
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.0045662e
mov eax, dword [esp + 0x2b0]
test eax, eax
je 0x4cb0d7
lea eax, [0x522f45]
mov dword [esp], eax
mov dword [esp + 4], 0x21
call fcn.00407f70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x310], ecx
lea ecx, [0x544780]
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 0x4cb56c
xor eax, eax
test al, al
je 0x4cb2d6
mov eax, dword [esp + 0x2f4]
mov ecx, dword [esp + 0xc8]
cmp eax, ecx
ja 0x4cca83
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.00476dd0
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.00407ff0
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0x601e80]
test cl, cl
je 0x4cb561
lea ecx, [0x5003c0]
mov dword [0x601e84], ecx
mov edx, dword [0x613370]
test edx, edx
jne 0x4cb551
mov dword [0x601e88], eax
mov dword [esp + 0x140], ecx
mov dword [esp + 0x144], eax
mov ecx, dword [esp + 0x140]
test ecx, ecx
je 0x4cb546
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4cb2a5
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.00477a90
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 0x4cb307
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 0x4cb515
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.0045662e
mov eax, dword [esp + 0x68]
test eax, eax
jne 0x4cb50e
mov ecx, dword [esp + 0x284]
mov edx, dword [esp + 0x280]
cmp dword [0x601b28], edx
je 0x4cb4ea
xor ecx, ecx
test cl, cl
je 0x4cb3ab
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0xc0]
mov ebx, dword [esp + 0x64]
jmp 0x4cb300
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.00476dd0
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, [0x51bb77]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 4
call fcn.00471660
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004ccd50
lea edi, [esp + 0x1e8]
mov esi, dword [esp + 0x124]
call fcn.00456674
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.00456674
call fcn.004c9c20
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
test ecx, ecx
jne 0x4cb4c7
mov ebx, eax
mov eax, dword [esp + 0x68]
mov ebp, ecx
mov ecx, edx
mov edx, ebp
jmp 0x4cb300
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 [0x601b2c]
mov dword [esp + 8], eax
call fcn.004031c0
movzx ecx, byte [esp + 0xc]
mov eax, dword [esp + 0x68]
jmp 0x4cb390
xor ecx, ecx
jmp 0x4cb390
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 0x4cb2a5
lea edi, [0x601e88]
call fcn.00455f20
jmp 0x4cb273
lea ecx, [0x5003c0]
jmp 0x4cb273
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.0045662e
mov eax, dword [esp + 0x2b8]
mov ecx, dword [esp + 0x2b4]
cmp dword [0x601b28], ecx
je 0x4cb5b7
xor eax, eax
jmp 0x4cb198
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [0x601b2c]
mov dword [esp + 8], eax
call fcn.004031c0
movzx eax, byte [esp + 0xc]
jmp 0x4cb5b2
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 0x4cb767
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.00478980
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.00477a90
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.00407ff0
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0x601e80]
test cl, cl
je 0x4cb75c
lea ecx, [0x4f9520]
mov dword [0x601e84], ecx
mov edx, dword [0x613370]
test edx, edx
jne 0x4cb74c
mov dword [0x601e88], eax
mov dword [esp + 0x178], ecx
mov dword [esp + 0x17c], eax
mov ecx, dword [esp + 0x178]
test ecx, ecx
je 0x4cb744
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4cb6e2
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.00478650
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 0x4cb6e2
lea edi, [0x601e88]
call fcn.00455f20
jmp 0x4cb6b4
lea ecx, [0x4f9520]
jmp 0x4cb6b4
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.004c97d0
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 0x4cb7fa
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.00477a90
mov eax, dword [esp + 0x78]
mov ebp, dword [esp + 0xf8]
jmp 0x4cb7d7
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0x601b04]
mov dword [esp + 8], ecx
call fcn.004031c0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4cb88b
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 0x4caa81
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.004c8050
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edx, edx
je 0x4cb8e0
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 [0x601e80]
test bl, bl
je 0x4cb9aa
lea ebx, [0x51aa40]
mov dword [0x601e84], ebx
mov ebp, dword [0x613370]
test ebp, ebp
jne 0x4cb99a
mov dword [0x601e88], 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 0x4cb992
nop
movzx ebp, byte [ebx + 0xf]
mov esi, ebp
and ebp, 0x1f
xchg esi, eax
test al, 0x20
xchg esi, eax
jne 0x4cb94e
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.00477a90
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0x88]
jmp 0x4cb8bd
xor ebp, ebp
xor eax, eax
xor ebx, ebx
jmp 0x4cb94e
lea edi, [0x601e88]
call fcn.00455f20
jmp 0x4cb910
lea ebx, [0x51aa40]
jmp 0x4cb910
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0x601b1c]
mov dword [esp + 8], ecx
call fcn.004031c0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4cb9fd
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 0x4caa75
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.00477ba0
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 [0x601b14]
mov dword [esp + 8], ecx
call fcn.004031c0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4cbaa0
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 0x4caa69
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.004c7ee0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test ecx, ecx
je 0x4cbaf5
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.00477ed0
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0xe4]
jmp 0x4cbad2
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0x601b3c]
mov dword [esp + 8], ecx
call fcn.004031c0
movzx eax, byte [esp + 0xc]
test al, al
je 0x4cbd78
lea edi, [esp + 0x198]
xor eax, eax
call fcn.0045619b
mov ecx, dword [esp + 0x70]
cmp ecx, 0x17
jne 0x4cbd17
lea edi, [esp + 0x1d4]
call fcn.0045619b
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.004c8920
lea edi, [esp + 0x1d4]
mov esi, dword [esp + 0x138]
call fcn.0045667e
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.0045667e
mov eax, dword [esp + 0x94]
test eax, eax
je 0x4cbc15
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.0045667e
lea eax, [0x518fe0]
mov dword [esp], eax
lea eax, [esp + 0x1d4]
mov dword [esp + 4], eax
call fcn.00407e30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x4cbd0f
nop
movzx edx, byte [0x601e80]
test dl, dl
je 0x4cbc85
mov dword [0x601e84], ecx
mov edx, dword [0x613370]
test edx, edx
jne 0x4cbcff
mov dword [0x601e88], eax
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], eax
mov ecx, dword [esp + 0x170]
test ecx, ecx
je 0x4cbcf7
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4cbcb3
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.00477a90
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0xec]
jmp 0x4cbbf2
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4cbcb3
lea edi, [0x601e88]
call fcn.00455f20
jmp 0x4cbc85
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4cbcb3
lea edi, [esp + 0x1d4]
call fcn.0045619b
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.004c8c60
lea edi, [esp + 0x1d4]
mov esi, dword [esp + 0x138]
call fcn.0045667e
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
lea edi, [esp + 0x198]
mov esi, dword [esp + 0x138]
call fcn.0045667e
jmp 0x4cbbee
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 0x4caa5d
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0x601b0c]
mov dword [esp + 8], ecx
call fcn.004031c0
movzx eax, byte [esp + 0xc]
test al, al
je 0x4cbfda
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4cbfad
mov edx, dword [esp + 0xc4]
mov ebx, dword [esp + 0x2e8]
movzx ecx, byte [ebx + edx]
movzx edx, cl
cmp edx, 7
jle 0x4cbf48
lea eax, [0x52311d]
mov dword [esp], eax
mov dword [esp + 4], 0x22
call fcn.00407f70
mov eax, dword [esp + 8]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
lea ebp, [0x5447a0]
xor esi, esi
test ebp, ebp
je 0x4cbe3d
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, [0x50d7c0]
mov dword [esp], eax
lea eax, [esp + 0x188]
mov dword [esp + 4], eax
call fcn.00407e30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x4cbf40
nop
movzx edx, byte [0x601e80]
test dl, dl
je 0x4cbeb6
mov dword [0x601e84], ecx
mov edx, dword [0x613370]
test edx, edx
jne 0x4cbf30
mov dword [0x601e88], eax
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], eax
mov ecx, dword [esp + 0x158]
test ecx, ecx
je 0x4cbf28
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4cbee4
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.00477a90
mov eax, dword [esp + 0x100]
mov ebp, dword [esp + 0x98]
jmp 0x4cbe1a
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4cbee4
lea edi, [0x601e88]
call fcn.00455f20
jmp 0x4cbeb6
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x4cbee4
cmp eax, 1
jne 0x4cbf55
test edx, edx
jg 0x4cbdee
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 0x4cbdee
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 0x4cbe16
lea eax, [0x51fdd4]
mov dword [esp], eax
mov dword [esp + 4], 0x16
call fcn.00407f70
mov eax, dword [esp + 8]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
lea ebp, [0x5447a0]
xor esi, esi
jmp 0x4cbe16
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 0x4caa51
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0x601b24]
mov dword [esp + 8], ecx
call fcn.004031c0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4cc044
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 0x4caa45
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.004c8550
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.004783e0
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.00478980
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.00477a90
mov eax, dword [esp + 0x90]
test eax, eax
je 0x4cc14e
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.00407ff0
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0x601e80]
test cl, cl
je 0x4cc21d
lea ecx, [0x505980]
mov dword [0x601e84], ecx
mov edx, dword [0x613370]
test edx, edx
jne 0x4cc210
mov dword [0x601e88], eax
mov dword [esp + 0x150], ecx
mov dword [esp + 0x154], eax
mov ecx, dword [esp + 0x150]
test ecx, ecx
je 0x4cc208
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4cc1cb
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.00478650
mov eax, dword [esp + 0x90]
jmp 0x4cc124
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4cc1cb
lea edi, [0x601e88]
call fcn.00455f20
jmp 0x4cc19d
lea ecx, [0x505980]
jmp 0x4cc19d
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0x601b34]
mov dword [esp + 8], ecx
call fcn.004031c0
movzx eax, byte [esp + 0xc]
test al, al
je 0x4cc411
mov eax, dword [esp + 0x2f4]
mov ecx, dword [esp + 0xc8]
cmp eax, ecx
ja 0x4cca88
lea edi, [esp + 0x200]
lea esi, [0x5451c0]
call fcn.00456656
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.00456656
lea eax, [0x50dbc0]
mov dword [esp], eax
lea eax, [esp + 0x224]
mov dword [esp + 4], eax
call fcn.00407e30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x4cc406
nop
movzx edx, byte [0x601e80]
test dl, dl
je 0x4cc35e
mov dword [0x601e84], ecx
mov edx, dword [0x613370]
test edx, edx
jne 0x4cc3f6
mov dword [0x601e88], eax
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], eax
mov ecx, dword [esp + 0x148]
test ecx, ecx
je 0x4cc3ee
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4cc38c
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.00477a90
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 0x4cc38c
lea edi, [0x601e88]
call fcn.00455f20
jmp 0x4cc35e
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4cc38c
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 0x4caa39
movzx ebp, byte [esp + 0x42]
xchg ebp, eax
cmp al, dl
xchg ebp, eax
je 0x4ca989
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.00456674
call fcn.004ccac0
movzx eax, byte [esp + 0x24]
test al, al
je 0x4cc4b4
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.00456674
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.00407ea0
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.00407f70
mov eax, dword [esp + 8]
mov dword [esp + 0x11c], eax
mov ecx, dword [esp + 0x54]
mov dword [esp], ecx
call fcn.00407ea0
mov eax, dword [esp + 4]
mov dword [esp + 0x118], eax
lea edi, [esp + 0x248]
xor eax, eax
call fcn.00456196
lea eax, [0x4ff6c0]
mov dword [esp + 0x248], eax
mov ecx, dword [esp + 0x128]
mov dword [esp + 0x24c], ecx
lea ecx, [0x50bce0]
mov dword [esp], ecx
lea ecx, [esp + 0xcc]
mov dword [esp + 4], ecx
call fcn.00408070
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x250], eax
mov dword [esp + 0x254], ecx
lea eax, [0x5115e0]
mov dword [esp], eax
lea eax, [esp + 0x1e8]
mov dword [esp + 4], eax
call fcn.00407e30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x258], ecx
mov dword [esp + 0x25c], eax
lea eax, [0x4fff00]
mov dword [esp + 0x260], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x264], eax
lea eax, [0x4ff6c0]
mov dword [esp + 0x268], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x26c], eax
lea eax, [0x52418c]
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.004a4070
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00407f70
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x54]
lea ecx, [0x544780]
jmp 0x4cc498
cmp ebp, esi
jne 0x4cc442
cmp ebx, ecx
jne 0x4cc442
jmp 0x4ca97f
mov dword [esp + 0xc4], ebx
movzx ebx, byte [esp + 0x2fb]
test bl, bl
je 0x4cc6d5
mov ebx, dword [esp + 0x300]
test ebx, ebx
je 0x4cc6c9
mov ebx, dword [ebx]
xor eax, eax
mov ebp, 3
jmp 0x4ca970
mov ebx, dword [esp + 0xc4]
jmp 0x4ca970
mov ebx, dword [esp + 0xc4]
jmp 0x4ca970
mov dword [esp + 0xb8], ebx
movzx ebx, byte [esp + 0x2fa]
test bl, bl
je 0x4cc724
mov ebx, dword [esp + 0x300]
test ebx, ebx
je 0x4cc714
mov ebx, dword [ebx]
xchg ebp, eax
test al, al
xchg ebp, eax
mov eax, 0
mov ebp, 1
jmp 0x4ca96a
xchg ebp, eax
test al, al
xchg ebp, eax
mov ebx, dword [esp + 0xb8]
jmp 0x4ca966
xchg ebp, eax
test al, al
xchg ebp, eax
mov ebx, dword [esp + 0xb8]
jmp 0x4ca966
mov edi, ebx
mov ebx, dword [esp + 0x300]
test ebx, ebx
je 0x4cc761
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 0x4ca960
xchg ebp, eax
test al, al
xchg ebp, eax
mov ebx, edi
jmp 0x4ca953
mov ebx, ebp
jmp 0x4ca93d
cmp ebp, 0x12
je 0x4ca911
cmp ebp, 0x14
je 0x4ca911
mov ebp, ecx
mov ecx, dword [esp + 0x44]
jmp 0x4ca913
cmp ebp, 0x16
je 0x4ca911
cmp ebp, 0x1b
je 0x4ca911
cmp ebp, 0x1e
je 0x4ca911
jmp 0x4cc785
mov ebp, dword [esp + 0x304]
test ebp, ebp
je 0x4cc7c1
mov ecx, dword [esp + 0x44]
jmp 0x4ca913
mov ebp, ecx
jmp 0x4cc7b8
mov ebx, dword [esp + 0x4c]
mov ebp, ecx
mov ecx, dword [esp + 0x44]
jmp 0x4ca913
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4cc7df
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, [0x51ee73]
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.004a4070
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00407f70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x310], ecx
lea ecx, [0x544780]
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 [0x601b34]
mov dword [esp + 8], edx
call fcn.004031c0
movzx eax, byte [esp + 0xc]
test al, al
je 0x4cc904
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 0x4ca892
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 0x4ca748
movzx eax, byte [esp + 0x43]
test al, al
jne 0x4ca736
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.00456674
call fcn.004ccac0
movzx eax, byte [esp + 0x24]
test al, al
je 0x4cc9aa
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, [0x523b30]
mov dword [esp], eax
mov dword [esp + 4], 0x25
call fcn.00407f70
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc8]
lea edx, [0x544780]
jmp 0x4cc98e
lea eax, [0x520b85]
mov dword [esp], eax
mov dword [esp + 4], 0x19
call fcn.00407f70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x310], ecx
lea ecx, [0x544780]
mov dword [esp + 0x314], ecx
mov dword [esp + 0x318], eax
add esp, 0x2d8
ret
mov eax, 2
jmp 0x4ca6ef
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 0x4ca892
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 0x4c9d34
call fcn.00456000
call fcn.00456000
mov ecx, ebp
call fcn.00456000
mov ecx, ebp
call fcn.00455fe0
mov eax, ecx
mov ecx, ebx
call fcn.00456000
mov ecx, ebx
mov edx, ebp
call fcn.00455fe0
nop
call fcn.004546e0
jmp fcn.004c9c20