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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x260]
cmp eax, dword [ecx + 8]
jbe 0x54d2ca
sub esp, 0x2e0
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov ecx, dword [esp + 0x2e8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x2ec]
mov dword [esp + 8], edx
call fcn.00487dd0
lea edi, [esp + 0xc]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x2fc]
mov ebx, dword [esp + 0x2f4]
cmp edx, ebx
jne 0x54a59d
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 8], eax
lea esi, [esp + 0x300]
call fcn.00457784
call fcn.0054d2e0
movzx eax, byte [esp + 0x24]
test al, al
je 0x54a57b
xor eax, eax
xor ecx, ecx
mov edx, dword [esp + 0x2fc]
mov dword [esp + 0x318], edx
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
lea eax, [0x98d291]
mov dword [esp], eax
mov dword [esp + 4], 0x12
call fcn.004086a0
mov eax, dword [esp + 8]
lea ecx, [0xa4e880]
jmp 0x54a558
mov dword [esp + 0x144], edi
mov dword [esp + 0x50], eax
mov dword [esp + 0xe4], ecx
mov edx, dword [eax + 0x50]
mov dword [esp], ecx
call edx
cmp dword [esp + 4], 0x14
je 0x54d280
xor eax, eax
lea ecx, [esp + 0xc]
mov dword [esp + 0x140], ecx
test al, al
je 0x54ae7b
mov eax, dword [esp + 0x2f0]
mov dword [esp], eax
mov ecx, dword [esp + 0x2f4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x2f8]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x2fc]
mov dword [esp + 0xc], ebx
call fcn.00549ba0
mov eax, dword [esp + 0x18]
movzx ecx, byte [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], eax
mov byte [esp + 0xe0], cl
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0xdc]
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0xd4]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
test esi, esi
jne 0x54ae5f
mov dword [esp + 0xa4], edx
mov dword [esp + 0xc8], esi
lea esi, [edx + eax]
cmp esi, eax
jge 0x54ae43
mov dword [esp + 0xcc], eax
mov eax, 1
mov byte [esp + 0x41], al
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc4], ebx
movzx ebx, byte [esp + 0x41]
test bl, bl
jne 0x54adff
mov dword [esp + 0xc0], esi
test cl, cl
je 0x54a7cf
mov eax, dword [esp + 0xc8]
xor ecx, ecx
xor edx, edx
test eax, eax
jne 0x54a7b3
mov dword [esp + 0x13c], edi
mov dword [esp + 0xc8], eax
test edx, edx
je 0x54a760
nop
movzx ebx, byte [0xdc3668]
test bl, bl
je 0x54a6ff
mov dword [0xdc366c], edx
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x54a799
mov dword [0xdc3670], ecx
mov dword [esp + 0x150], edx
mov dword [esp + 0x154], ecx
mov edx, dword [esp + 0x150]
test edx, edx
je 0x54a791
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x54a72f
or ebx, 0x80
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
call fcn.004867f0
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x318], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
xor ebx, ebx
xor ecx, ecx
xor edx, edx
jmp 0x54a72f
mov ebx, edi
lea edi, [0xdc3670]
mov ebp, eax
mov eax, ecx
call fcn.00456fe0
mov eax, ebp
mov edi, ebx
jmp 0x54a6ff
mov dword [esp + 0x318], esi
mov dword [esp + 0x31c], eax
mov dword [esp + 0x320], edi
add esp, 0x2e0
ret
test ebp, ebp
jne 0x54a6b0
mov ebx, dword [esp + 0x2f8]
cmp esi, ebx
ja 0x54d2c0
cmp eax, esi
ja 0x54d2b9
sub ebx, eax
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, eax
mov eax, ebp
mov ebp, dword [esp + 0x2f0]
mov ecx, esi
lea esi, [ebp + ebx]
mov dword [esp + 0x118], esi
mov esi, dword [esp + 0xc4]
cmp esi, 0xc
jg 0x54ab80
mov dword [esp + 0xc4], eax
cmp esi, 3
jg 0x54aa06
cmp esi, 2
je 0x54a9a8
cmp esi, 3
jne 0x54a996
test edx, edx
je 0x54a969
movzx ebx, byte [ebp + ebx]
movzx ebp, bl
cmp ebp, 7
jle 0x54a8ef
lea eax, [0x99a30a]
mov dword [esp], eax
mov dword [esp + 4], 0x22
call fcn.004086a0
mov eax, dword [esp + 8]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
lea ebp, [0xa4e880]
xor esi, esi
mov dword [esp + 0x114], eax
mov dword [esp + 0x9c], ebp
mov dword [esp + 0x190], ebx
mov dword [esp + 0x194], edx
mov dword [esp + 0x198], ecx
mov dword [esp + 0x19c], esi
lea ecx, [0x93be40]
mov dword [esp], ecx
lea ecx, [esp + 0x190]
mov dword [esp + 4], ecx
call fcn.00408500
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x9c]
mov esi, dword [esp + 0xc0]
mov edi, edx
mov edx, ecx
mov ecx, eax
mov eax, ebx
jmp 0x54a6bb
cmp edx, 1
jne 0x54a965
test ebp, ebp
xchg esi, ebx
setg bl
xchg esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
jne 0x54a85a
cmp bl, 0x20
sbb esi, esi
mov edi, dword [esp + 0x118]
movzx edi, byte [edx + edi - 1]
mov ecx, ebx
mov eax, 1
shl eax, cl
and eax, esi
dec eax
xchg edi, ebx
test al, bl
xchg edi, ebx
jne 0x54a85a
lea esi, [edx - 1]
mov edx, esi
shl esi, 3
sub esi, ebp
mov edi, dword [esp + 0xc4]
lea ecx, [edi - 1]
mov edi, ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
mov eax, edi
mov edi, dword [esp + 0x118]
lea ebx, [edi + ecx]
mov ecx, eax
xor eax, eax
xor ebp, ebp
jmp 0x54a882
xor esi, esi
jmp 0x54a8fd
lea eax, [0x990a72]
mov dword [esp], eax
mov dword [esp + 4], 0x16
call fcn.004086a0
mov eax, dword [esp + 8]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
lea ebp, [0xa4e880]
xor esi, esi
jmp 0x54a882
xor eax, eax
xor ecx, ecx
mov edx, edi
mov ebx, dword [esp + 0xc8]
jmp 0x54a8db
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.005485f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x13c], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xc8], ebx
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00408630
mov eax, dword [esp + 8]
lea ecx, [0x8eadc0]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
jmp 0x54a8db
cmp esi, 4
je 0x54ab45
cmp esi, 6
je 0x54aadf
cmp esi, 0xc
jne 0x54a996
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004632b0
movzx eax, byte [esp + 0xc]
test al, al
je 0x54aab1
mov dword [esp], 0
mov eax, dword [esp + 0x118]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xc], eax
call fcn.00443a80
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
xor edx, edx
xor ebx, ebx
mov dword [esp + 0x110], edx
mov dword [esp + 0xa0], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004086a0
mov eax, dword [esp + 8]
lea ecx, [0x8eba40]
mov edx, dword [esp + 0x110]
mov ebx, dword [esp + 0xa0]
jmp 0x54a8db
nop
lea eax, [0x909320]
mov dword [esp], eax
call fcn.0040ae10
mov edx, dword [esp + 4]
mov dword [edx + 4], 0x1a
lea eax, [0x9939ca]
mov dword [edx], eax
lea ebx, [0xa4d860]
xor eax, eax
xor ecx, ecx
jmp 0x54aa7a
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00548f70
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x13c], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.00408720
mov eax, dword [esp + 0xc]
lea ecx, [0x913e40]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
jmp 0x54a8db
mov dword [esp + 0x13c], edi
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00408720
mov eax, dword [esp + 0xc]
lea ecx, [0x8c74c0]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
jmp 0x54a8db
cmp esi, 0x14
jg 0x54aca2
cmp esi, 0x12
je 0x54ac44
cmp esi, 0x13
je 0x54abe6
cmp esi, 0x14
jne 0x54a996
mov dword [esp], 0
mov ecx, dword [esp + 0x118]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call fcn.00443a80
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004086a0
mov eax, dword [esp + 8]
lea ecx, [0x8eba40]
xor edx, edx
xor ebx, ebx
jmp 0x54a8db
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00549960
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x13c], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0xc8], edx
mov ebx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.004086a0
mov eax, dword [esp + 8]
lea ecx, [0x8eba40]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
jmp 0x54a8db
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00549890
mov eax, dword [esp + 0x18]
mov dword [esp + 0x13c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.004086a0
mov eax, dword [esp + 8]
lea ecx, [0x8eba40]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
jmp 0x54a8db
cmp esi, 0x16
je 0x54ada1
cmp esi, 0x17
je 0x54ad2d
cmp esi, 0x18
jne 0x54a996
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00549670
lea edi, [esp + 0x1b4]
mov esi, dword [esp + 0x140]
call fcn.0045778e
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x13c], ecx
lea edx, [0x97c960]
mov dword [esp], edx
lea edx, [esp + 0x1b4]
mov dword [esp + 4], edx
call fcn.00408500
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
jmp 0x54a8db
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00549330
lea edi, [esp + 0x1c8]
mov esi, dword [esp + 0x140]
call fcn.0045778e
mov eax, dword [esp + 0x24]
mov dword [esp + 0x13c], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xc8], ecx
lea edx, [0x97c960]
mov dword [esp], edx
lea edx, [esp + 0x1c8]
mov dword [esp + 4], edx
call fcn.00408500
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
jmp 0x54a8db
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00549ae0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x13c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.004086a0
mov eax, dword [esp + 8]
lea ecx, [0x8eba40]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
jmp 0x54a8db
mov dword [esp + 0x58], eax
lea eax, [0x989eea]
mov dword [esp], eax
mov dword [esp + 4], 0xe
call fcn.004086a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x318], ecx
lea ecx, [0xa4e880]
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov edx, dword [esp + 0x2f4]
cmp esi, edx
setg dl
mov byte [esp + 0x41], dl
mov edx, dword [esp + 0xa4]
jmp 0x54a68d
mov dword [esp + 0x318], eax
mov dword [esp + 0x31c], esi
mov dword [esp + 0x320], edi
add esp, 0x2e0
ret
mov eax, dword [esp + 0x2f0]
mov dword [esp], eax
mov ecx, dword [esp + 0x2f4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x2f8]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x2fc]
mov dword [esp + 0xc], ebx
call fcn.00549ba0
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], ecx
mov byte [esp + 0xe0], al
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0xd8]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0xdc]
test esi, esi
jne 0x54d264
mov byte [esp + 0x43], al
movzx eax, byte [esp + 0x301]
test al, al
je 0x54d249
movzx eax, byte [esp + 0x302]
test al, al
je 0x54d23f
mov eax, 1
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x13c], ebp
mov ebp, dword [esp + 0x2f4]
cmp ecx, ebp
je 0x54d1fc
mov dword [esp + 0xc8], esi
cmp eax, ebx
jne 0x54d161
mov eax, dword [esp + 0x308]
cmp dword [eax], edx
jne 0x54d161
mov dword [esp + 0xc0], edx
test edi, edi
sete al
movzx edx, byte [esp + 0x43]
or eax, edx
test al, al
je 0x54d161
mov eax, dword [esp + 0x50]
cmp dword [0xdc1c90], eax
je 0x54d0d2
test edi, edi
jg 0x54b064
cmp dword [0xdc1c78], eax
je 0x54afe3
lea eax, [0x9a14e9]
mov dword [esp], eax
mov dword [esp + 4], 0x2d
call fcn.004086a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x318], ecx
lea ecx, [0xa4e860]
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov dword [esp], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov eax, dword [0xdc1c7c]
mov dword [esp + 8], eax
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
je 0x54afa0
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.00486900
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x318], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov eax, dword [esp + 0x2f0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov edx, dword [esp + 0x2f8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call fcn.00549ba0
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], ebx
mov byte [esp + 0xe0], al
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0xdc]
mov esi, dword [esp + 0xd8]
mov edi, dword [esp + 0xd4]
test ebx, ebx
jne 0x54d0b6
mov dword [esp + 0x13c], edx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], esi
mov byte [esp + 0x42], al
mov dword [esp + 0x54], ecx
mov dword [esp + 0xc8], ebx
mov edx, dword [esp + 0x50]
mov dword [esp], edx
mov ebx, dword [esp + 0xe4]
mov dword [esp + 4], ebx
call fcn.0054dad0
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x10]
movzx ebx, byte [esp + 0x11]
test bl, bl
je 0x54d011
cmp ecx, 0x13
jne 0x54d002
mov ebx, dword [esp + 0x4c]
test ebx, ebx
jne 0x54cfea
mov ebp, dword [esp + 0x44]
cmp ebp, 0x12
jg 0x54cfcd
cmp ebp, 0xc
jne 0x54cfb9
mov ecx, ebp
cmp ebp, 0x17
jne 0x54b170
cmp ecx, 0x18
jne 0x54b170
test ebx, ebx
jne 0x54b170
mov ebp, 0x18
mov esi, ebx
movzx ebx, byte [esp + 0x314]
test bl, bl
je 0x54cfb2
mov ebx, 0x11
mov dword [esp + 0x70], ebx
movzx ebp, byte [esp + 0x301]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x54cf7a
mov edi, eax
mov eax, 0
mov dword [esp + 0x74], eax
mov eax, edi
je 0x54cf27
mov ebp, dword [esp + 0x74]
je 0x54cee3
mov dword [esp + 0xc4], ebx
test al, al
je 0x54cec6
xchg edi, eax
test al, al
xchg edi, eax
je 0x54ceb5
xor eax, eax
test al, al
je 0x54b423
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x144]
lea esi, [esp + 0x300]
call fcn.00457784
call fcn.0054d2e0
movzx eax, byte [esp + 0x24]
test al, al
je 0x54b24f
mov eax, dword [esp + 0x2fc]
mov ecx, dword [esp + 0x13c]
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x318], eax
mov dword [esp + 0x31c], edx
mov dword [esp + 0x320], ecx
add esp, 0x2e0
ret
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xdc], eax
movzx eax, byte [esp + 0x42]
mov byte [esp + 0xe0], al
lea edi, [esp + 0x1f0]
lea esi, [esp + 0x300]
call fcn.00457784
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x60]
mov ecx, dword [esp + 0xe4]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0xc0], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x13c], ecx
mov edx, dword [esp + 0xc4]
mov dword [esp], edx
call fcn.004085d0
mov eax, dword [esp + 4]
mov dword [esp + 0x138], eax
mov ecx, dword [esp + 0x13c]
mov dword [esp], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 4], ecx
call fcn.004086a0
mov eax, dword [esp + 8]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x54]
mov dword [esp], ecx
call fcn.004085d0
mov eax, dword [esp + 4]
mov dword [esp + 0x130], eax
lea edi, [esp + 0x250]
xor eax, eax
call fcn.004572a6
lea eax, [0x8ead00]
mov dword [esp + 0x250], eax
mov ecx, dword [esp + 0x138]
mov dword [esp + 0x254], ecx
lea ecx, [0x934400]
mov dword [esp], ecx
lea ecx, [esp + 0xd4]
mov dword [esp + 4], ecx
call fcn.004087a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x258], ecx
mov dword [esp + 0x25c], eax
lea eax, [0x95b5c0]
mov dword [esp], eax
lea eax, [esp + 0x1f0]
mov dword [esp + 4], eax
call fcn.00408500
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x260], ecx
mov dword [esp + 0x264], eax
lea eax, [0x8eba40]
mov dword [esp + 0x268], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x26c], eax
lea eax, [0x8ead00]
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x274], eax
lea eax, [0x99da84]
mov dword [esp], eax
mov dword [esp + 4], 0x27
lea eax, [esp + 0x250]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 5
mov dword [esp + 0x10], 5
call fcn.004c9200
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004086a0
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x54]
lea edx, [0xa4e860]
jmp 0x54b233
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x54]
lea ebp, [eax + ebx]
cmp ebp, eax
jge 0x54cea4
mov edx, 1
test dl, dl
jne 0x54ce64
mov edx, dword [esp + 0x2f8]
cmp ebp, edx
ja 0x54d2b2
cmp eax, ebp
ja 0x54d2ab
mov dword [esp + 0xc4], ebp
sub edx, eax
mov dword [esp + 0xa8], edx
neg edx
sar edx, 0x1f
and eax, edx
mov dword [esp + 0xc0], eax
mov edx, dword [esp + 0x2f0]
lea edi, [edx + eax]
mov dword [esp + 0x11c], edi
mov edi, dword [esp + 0x50]
cmp dword [0xdc1c90], edi
je 0x54cc59
cmp dword [0xdc1c80], edi
je 0x54ca2d
cmp dword [0xdc1c68], edi
je 0x54c7c4
cmp dword [0xdc1c98], edi
je 0x54c573
cmp dword [0xdc1c70], edi
je 0x54c48c
cmp dword [0xdc1c78], edi
je 0x54c3e9
cmp dword [0xdc1c60], edi
je 0x54c271
nop
mov ecx, dword [esp + 0x2ec]
mov esi, ecx
and ecx, 0x1f
cmp ecx, 6
ja 0x54b7fb
cmp ecx, 1
jne 0x54b5f8
cmp ebx, 1
jne 0x54b5c3
movzx eax, byte [edx + eax]
test al, al
jne 0x54b57e
xor eax, eax
xor ecx, ecx
xor edx, edx
test eax, eax
je 0x54b537
mov dword [esp + 0x318], ebp
mov dword [esp + 0x31c], eax
mov dword [esp + 0x320], ecx
add esp, 0x2e0
ret
mov dword [esp + 0x104], ecx
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov byte [esp + 0xc], dl
call fcn.00486900
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x104]
mov ebp, dword [esp + 0xc4]
jmp 0x54b51b
cmp al, 0xff
jne 0x54b58e
xor eax, eax
xor ecx, ecx
mov edx, 1
jmp 0x54b517
lea eax, [0x98ab4b]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call fcn.004086a0
mov ecx, dword [esp + 8]
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0x2ec]
lea eax, [0xa4e880]
xor edx, edx
jmp 0x54b517
lea eax, [0x98ab4b]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call fcn.004086a0
mov ecx, dword [esp + 8]
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0x2ec]
lea eax, [0xa4e880]
xor edx, edx
jmp 0x54b517
cmp ecx, 2
jne 0x54b74f
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov ecx, dword [esp + 0x2e8]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.00487dd0
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 0x54b6d3
mov eax, dword [esp + 0x11c]
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.00548860
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
test eax, eax
je 0x54b68f
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x318], edx
mov dword [esp + 0x31c], eax
mov dword [esp + 0x320], ecx
add esp, 0x2e0
ret
mov dword [esp + 0x7c], eax
mov dword [esp + 0x108], ecx
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 8], eax
sar edx, 0x1f
mov dword [esp + 0x10], edx
call fcn.00486e10
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x108]
jmp 0x54b66c
mov eax, dword [esp + 0x11c]
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.005485f0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x54b70c
mov edx, eax
mov eax, ecx
mov ecx, edx
jmp 0x54b66c
mov dword [esp + 0xec], eax
mov dword [esp + 0x80], ecx
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 8], eax
call fcn.00486e10
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0x80]
jmp 0x54b701
lea eax, [ecx - 5]
cmp eax, 1
jbe 0x54b601
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.00487dd0
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, [0x98975a]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xd
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00443900
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004086a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x318], ecx
lea ecx, [0xa4e860]
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
cmp ecx, 0x17
je 0x54bffc
cmp ecx, 0x18
jne 0x54bae8
mov eax, dword [esp + 0x70]
cmp eax, 0x13
jg 0x54ba32
cmp eax, 0xc
je 0x54b996
cmp eax, 0x12
je 0x54b963
cmp eax, 0x13
je 0x54b930
mov dword [esp], eax
call fcn.004085d0
mov eax, dword [esp + 4]
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
lea ecx, [0x8ead00]
mov dword [esp + 0x188], ecx
mov dword [esp + 0x18c], eax
lea eax, [0x99cf14]
mov dword [esp], eax
mov dword [esp + 4], 0x26
lea eax, [esp + 0x188]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c9200
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004086a0
mov eax, dword [esp + 8]
lea ecx, [0xa4e880]
xor edx, edx
xor ebx, ebx
test ecx, ecx
je 0x54b8e5
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x318], edx
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov dword [esp + 0x13c], eax
mov dword [esp + 0xc8], ecx
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.004875d0
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0xc8]
jmp 0x54b8c2
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.00549960
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
jmp 0x54b8be
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.00549890
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
jmp 0x54b8be
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 8], ecx
call fcn.004632b0
movzx eax, byte [esp + 0xc]
test al, al
je 0x54ba04
mov dword [esp], 0
mov eax, dword [esp + 0x11c]
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.00443a80
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
xor edx, edx
xor ebx, ebx
mov ebp, eax
mov eax, ebx
mov ebx, ebp
mov esi, ecx
mov ecx, edx
mov edx, esi
jmp 0x54b8be
nop
lea eax, [0x909320]
mov dword [esp], eax
call fcn.0040ae10
mov ebx, dword [esp + 4]
mov dword [ebx + 4], 0x1a
lea eax, [0x9939ca]
mov dword [ebx], eax
xor ecx, ecx
lea edx, [0xa4d860]
xor eax, eax
jmp 0x54b9f3
cmp eax, 0x14
je 0x54bab0
cmp eax, 0x16
je 0x54ba7d
cmp eax, 0x1b
jne 0x54b835
nop
mov dword [esp], 0
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xc], eax
call fcn.00443a80
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
xor eax, eax
xor ecx, ecx
jmp 0x54b8be
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.00549ae0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
jmp 0x54b8be
nop
mov dword [esp], 0
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xc], eax
call fcn.00443a80
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
xor eax, eax
xor ecx, ecx
jmp 0x54b8be
cmp ecx, 0x19
jne 0x54b75b
lea eax, [esp + 8]
mov dword [esp + 0x12c], eax
xor ecx, ecx
jmp 0x54bb0b
mov eax, dword [esp + 0x68]
lea ecx, [eax + 1]
mov edi, dword [esp + 0x50]
mov dword [esp + 0x68], ecx
mov eax, dword [edi + 0x64]
mov edx, dword [esp + 0xe4]
mov dword [esp], edx
call eax
mov eax, dword [esp + 0x68]
cmp dword [esp + 4], eax
jle 0x54bba0
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
mov dword [esp + 4], eax
call edx
lea edi, [esp + 0x2ac]
mov esi, dword [esp + 0x12c]
call fcn.0045773e
mov eax, dword [esp + 0x2b8]
test eax, eax
je 0x54bb00
lea eax, [0x999a98]
mov dword [esp], eax
mov dword [esp + 4], 0x21
call fcn.004086a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x318], ecx
lea ecx, [0xa4e860]
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x64]
mov edx, dword [esp + 0xe4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
jg 0x54bf91
xor eax, eax
test al, al
je 0x54bcff
mov eax, dword [esp + 0x2fc]
mov ecx, dword [esp + 0xc4]
cmp eax, ecx
ja 0x54d2a1
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov ecx, dword [esp + 0x2e8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x2ec]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.00483920
mov eax, dword [esp + 0x2f8]
mov ecx, dword [esp + 0x2fc]
sub eax, ecx
mov edx, eax
neg eax
sar eax, 0x1f
and eax, ecx
mov ebx, dword [esp + 0x2f0]
add eax, ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xbc], ebx
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x138], ebp
mov esi, dword [esp + 0x10]
mov dword [esp + 0x128], esi
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
sub eax, ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00408720
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0xdc3668]
test cl, cl
je 0x54bf86
lea ecx, [0x8ed520]
mov dword [0xdc366c], ecx
mov edx, dword [0xdd7ec0]
test edx, edx
jne 0x54bf76
mov dword [0xdc3670], eax
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], eax
mov ecx, dword [esp + 0x160]
test ecx, ecx
je 0x54bf6b
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x54bcce
or edx, 0x80
mov ebx, dword [esp + 0x128]
mov dword [esp], ebx
mov ebx, dword [esp + 0x138]
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.004867f0
lea eax, [esp + 8]
mov dword [esp + 0x124], eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x120], ecx
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
xor ebp, ebp
xor esi, esi
jmp 0x54bd30
lea ebp, [eax + 1]
mov esi, ebx
mov ebx, ecx
mov dword [esp + 0x13c], edx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x64], esi
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x64]
mov edi, dword [esp + 0xe4]
mov dword [esp], edi
call ecx
mov eax, dword [esp + 0x6c]
cmp dword [esp + 4], eax
jle 0x54bf3a
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
mov dword [esp + 4], eax
call edx
lea edi, [esp + 0x278]
mov esi, dword [esp + 0x12c]
call fcn.0045773e
mov eax, dword [esp + 0x6c]
test eax, eax
jne 0x54bf33
mov ecx, dword [esp + 0x28c]
mov edx, dword [esp + 0x288]
cmp dword [0xdc1c88], edx
je 0x54bf0f
xor ecx, ecx
test cl, cl
je 0x54bdd4
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0x64]
jmp 0x54bd29
mov ecx, dword [esp + 0x2e4]
mov dword [esp], ecx
mov edx, dword [esp + 0x2e8]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x2ec]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.00483920
mov eax, dword [esp + 0x18]
mov dword [esp + 0xbc], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x138], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x128], edx
mov ebx, dword [esp + 0x294]
mov ebp, dword [esp + 0x290]
mov dword [esp], ebp
mov dword [esp + 4], ebx
lea ebx, [0x9825fc]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 4
call fcn.0047c710
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0054d570
lea edi, [esp + 0x1f0]
mov esi, dword [esp + 0x124]
call fcn.00457784
mov eax, dword [esp + 0x128]
mov dword [esp], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x11c]
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 + 0x1f0]
call fcn.00457784
call fcn.0054a4b0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
test ecx, ecx
jne 0x54beec
mov ebx, edx
mov edx, eax
mov eax, dword [esp + 0x6c]
jmp 0x54bd29
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x318], edx
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov dword [esp], edx
mov dword [esp + 4], ecx
mov eax, dword [0xdc1c8c]
mov dword [esp + 8], eax
call fcn.00402f30
movzx ecx, byte [esp + 0xc]
mov eax, dword [esp + 0x6c]
jmp 0x54bdb9
xor ecx, ecx
jmp 0x54bdb9
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x318], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x54bcce
lea edi, [0xdc3670]
call fcn.00456fe0
jmp 0x54bc9c
lea ecx, [0x8ed520]
jmp 0x54bc9c
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0xe4]
mov dword [esp], edx
mov dword [esp + 4], 0
call ecx
lea edi, [esp + 0x2ac]
mov esi, dword [esp + 0x12c]
call fcn.0045773e
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2bc]
cmp dword [0xdc1c88], ecx
je 0x54bfdc
xor eax, eax
jmp 0x54bbc1
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [0xdc1c8c]
mov dword [esp + 8], eax
call fcn.00402f30
movzx eax, byte [esp + 0xc]
jmp 0x54bbc1
mov eax, dword [edi + 0x28]
mov ecx, dword [esp + 0xe4]
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 0x54c18f
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call fcn.00488930
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x2e4]
mov dword [esp], ebx
mov ebp, dword [esp + 0x2e8]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x2ec]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.004867f0
mov eax, dword [esp + 0x11c]
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.00408720
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0xdc3668]
test cl, cl
je 0x54c184
lea ecx, [0x8c74c0]
mov dword [0xdc366c], ecx
mov edx, dword [0xdd7ec0]
test edx, edx
jne 0x54c174
mov dword [0xdc3670], eax
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], eax
mov ecx, dword [esp + 0x180]
test ecx, ecx
je 0x54c16c
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x54c10a
or edx, 0x80
mov ebx, dword [esp + 0x2e4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2e8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2ec]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004885c0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x318], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x54c10a
lea edi, [0xdc3670]
call fcn.00456fe0
jmp 0x54c0dc
lea ecx, [0x8c74c0]
jmp 0x54c0dc
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xe4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x11c]
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 + 0xe4]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.0054a050
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x1c]
test ecx, ecx
je 0x54c222
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x318], edx
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov dword [esp + 0xfc], eax
mov dword [esp + 0x8c], ecx
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
call fcn.004867f0
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x8c]
jmp 0x54c1ff
mov dword [esp], edi
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov ecx, dword [0xdc1c64]
mov dword [esp + 8], ecx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
jne 0x54c2b9
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0x2f0]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0x50]
jmp 0x54b4e1
mov eax, dword [esp + 0x11c]
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.005489e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test ecx, ecx
je 0x54c30e
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x318], edx
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
nop
movzx ebx, byte [0xdc3668]
test bl, bl
je 0x54c3de
lea ebx, [0x9800a0]
mov dword [0xdc366c], ebx
mov ebp, dword [0xdd7ec0]
test ebp, ebp
jne 0x54c3c8
mov dword [0xdc3670], edx
mov dword [esp + 0xf0], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x158], ebx
mov dword [esp + 0x15c], edx
mov ebx, dword [esp + 0x158]
test ebx, ebx
je 0x54c3c0
nop
movzx ebp, byte [ebx + 0xf]
mov esi, ebp
and ebp, 0x1f
xchg esi, eax
test al, 0x20
xchg esi, eax
jne 0x54c37c
or ebp, 0x80
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebp
call fcn.004867f0
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0x84]
jmp 0x54c2eb
xor ebp, ebp
xor edx, edx
xor ebx, ebx
jmp 0x54c37c
lea edi, [0xdc3670]
mov ebp, eax
mov eax, edx
call fcn.00456fe0
mov eax, ebp
jmp 0x54c33e
lea ebx, [0x9800a0]
jmp 0x54c33e
mov dword [esp], edi
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov ecx, dword [0xdc1c7c]
mov dword [esp + 8], ecx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
jne 0x54c431
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0x2f0]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0x50]
jmp 0x54b4d5
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.00486900
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x318], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov dword [esp], edi
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov ecx, dword [0xdc1c74]
mov dword [esp + 8], ecx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
jne 0x54c4d4
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0x2f0]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0x50]
jmp 0x54b4c9
mov eax, dword [esp + 0x11c]
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.00548860
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test ecx, ecx
je 0x54c529
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x318], edx
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov dword [esp + 0x100], eax
mov dword [esp + 0x90], ecx
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 8], eax
sar edx, 0x1f
mov dword [esp + 0x10], edx
call fcn.00486e10
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x90]
jmp 0x54c506
mov dword [esp], edi
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov ecx, dword [0xdc1c9c]
mov dword [esp + 8], ecx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
je 0x54c7a2
lea edi, [esp + 0x1a0]
xor eax, eax
call fcn.004572ab
mov ecx, dword [esp + 0x70]
cmp ecx, 0x17
jne 0x54c741
lea edi, [esp + 0x1dc]
call fcn.004572ab
mov ecx, dword [esp + 0x11c]
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.00549330
lea edi, [esp + 0x1dc]
mov esi, dword [esp + 0x140]
call fcn.0045778e
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x10c], ecx
mov edx, dword [esp + 0x20]
lea edi, [esp + 0x1a0]
mov esi, dword [esp + 0x140]
call fcn.0045778e
mov eax, dword [esp + 0x10c]
test edx, edx
je 0x54c649
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x318], ecx
mov dword [esp + 0x31c], edx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov dword [esp + 0x10c], eax
mov dword [esp + 0x78], edx
lea edi, [esp + 0x1dc]
lea esi, [esp + 0x1a0]
call fcn.0045778e
lea eax, [0x97c960]
mov dword [esp], eax
lea eax, [esp + 0x1dc]
mov dword [esp + 4], eax
call fcn.00408500
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x54c739
nop
movzx edx, byte [0xdc3668]
test dl, dl
je 0x54c6b2
mov dword [0xdc366c], ecx
mov edx, dword [0xdd7ec0]
test edx, edx
jne 0x54c729
mov dword [0xdc3670], eax
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
mov ecx, dword [esp + 0x168]
test ecx, ecx
je 0x54c721
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x54c6e0
or edx, 0x80
mov ebx, dword [esp + 0x2e4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2e8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2ec]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004867f0
mov eax, dword [esp + 0x10c]
mov edx, dword [esp + 0x78]
jmp 0x54c626
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x54c6e0
lea edi, [0xdc3670]
call fcn.00456fe0
jmp 0x54c6b2
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x54c6e0
lea edi, [esp + 0x1dc]
call fcn.004572ab
mov ecx, dword [esp + 0x11c]
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.00549670
lea edi, [esp + 0x1dc]
mov esi, dword [esp + 0x140]
call fcn.0045778e
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
lea edi, [esp + 0x1a0]
mov esi, dword [esp + 0x140]
call fcn.0045778e
jmp 0x54c622
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0x2f0]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0x50]
jmp 0x54b4bd
mov dword [esp], edi
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov ecx, dword [0xdc1c6c]
mov dword [esp + 8], ecx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
je 0x54ca0b
mov eax, dword [esp + 0x48]
test eax, eax
je 0x54c9de
mov edx, dword [esp + 0xc0]
mov ebx, dword [esp + 0x2f0]
movzx ecx, byte [ebx + edx]
movzx edx, cl
cmp edx, 7
jle 0x54c972
lea eax, [0x99a30a]
mov dword [esp], eax
mov dword [esp + 4], 0x22
call fcn.004086a0
mov eax, dword [esp + 8]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
lea ebp, [0xa4e880]
xor esi, esi
test ebp, ebp
je 0x54c867
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x318], ecx
mov dword [esp + 0x31c], ebp
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov dword [esp + 0xf8], eax
mov dword [esp + 0x94], ebp
mov dword [esp + 0x190], ebx
mov dword [esp + 0x194], edx
mov dword [esp + 0x198], ecx
mov dword [esp + 0x19c], esi
lea eax, [0x93be40]
mov dword [esp], eax
lea eax, [esp + 0x190]
mov dword [esp + 4], eax
call fcn.00408500
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x54c96a
nop
movzx edx, byte [0xdc3668]
test dl, dl
je 0x54c8e0
mov dword [0xdc366c], ecx
mov edx, dword [0xdd7ec0]
test edx, edx
jne 0x54c95a
mov dword [0xdc3670], eax
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], eax
mov ecx, dword [esp + 0x170]
test ecx, ecx
je 0x54c952
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x54c90e
or edx, 0x80
mov ebx, dword [esp + 0x2e4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2e8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2ec]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004867f0
mov eax, dword [esp + 0xf8]
mov ebp, dword [esp + 0x94]
jmp 0x54c844
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x54c90e
lea edi, [0xdc3670]
call fcn.00456fe0
jmp 0x54c8e0
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x54c90e
cmp eax, 1
jne 0x54c9da
test edx, edx
setg bl
test bl, bl
jne 0x54c818
cmp cl, 0x20
sbb ebx, ebx
mov ebp, dword [esp + 0x11c]
movzx esi, byte [eax + ebp - 1]
mov edi, 1
shl edi, cl
and ebx, edi
dec ebx
xchg esi, eax
test bl, al
xchg esi, eax
jne 0x54c818
lea esi, [eax - 1]
mov edi, esi
shl esi, 3
sub esi, edx
mov eax, edi
mov edi, dword [esp + 0xa8]
lea ecx, [edi - 1]
mov edi, ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
lea ebx, [ebp + ecx]
mov ecx, edi
mov edx, eax
xor eax, eax
xor ebp, ebp
jmp 0x54c840
xor ebx, ebx
jmp 0x54c97c
lea eax, [0x990a72]
mov dword [esp], eax
mov dword [esp + 4], 0x16
call fcn.004086a0
mov eax, dword [esp + 8]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
lea ebp, [0xa4e880]
xor esi, esi
jmp 0x54c840
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0x2f0]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0x50]
jmp 0x54b4b1
mov dword [esp], edi
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov ecx, dword [0xdc1c84]
mov dword [esp + 8], ecx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
jne 0x54ca75
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0x2f0]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0x50]
jmp 0x54b4a5
mov eax, dword [esp + 0x11c]
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.00548f70
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe8], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x88], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0xf4], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x5c], ebx
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x2e4]
mov dword [esp], esi
mov edi, dword [esp + 0x2e8]
mov dword [esp + 4], edi
mov ebp, dword [esp + 0x2ec]
mov dword [esp + 8], ebp
call fcn.00487dd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call fcn.00488930
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x2e4]
mov dword [esp], ebx
mov ebp, dword [esp + 0x2e8]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x2ec]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
call fcn.004867f0
mov eax, dword [esp + 0x88]
test eax, eax
je 0x54cb7f
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x318], ecx
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov eax, dword [esp + 0xe8]
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.00408720
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0xdc3668]
test cl, cl
je 0x54cc4e
lea ecx, [0x913e40]
mov dword [0xdc366c], ecx
mov edx, dword [0xdd7ec0]
test edx, edx
jne 0x54cc41
mov dword [0xdc3670], eax
mov dword [esp + 0x178], ecx
mov dword [esp + 0x17c], eax
mov ecx, dword [esp + 0x178]
test ecx, ecx
je 0x54cc39
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x54cbfc
or edx, 0x80
mov ebx, dword [esp + 0x2e4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2e8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2ec]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004885c0
mov eax, dword [esp + 0x88]
jmp 0x54cb55
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x54cbfc
lea edi, [0xdc3670]
call fcn.00456fe0
jmp 0x54cbce
lea ecx, [0x913e40]
jmp 0x54cbce
mov dword [esp], edi
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov ecx, dword [0xdc1c94]
mov dword [esp + 8], ecx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
je 0x54ce42
mov eax, dword [esp + 0x2fc]
mov ecx, dword [esp + 0xc4]
cmp eax, ecx
ja 0x54d2a6
lea edi, [esp + 0x208]
lea esi, [0xa548e0]
call fcn.00457766
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x208], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x20c], ecx
movzx ecx, byte [esp + 0x42]
mov byte [esp + 0x210], cl
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x214], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x218], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x21c], ecx
mov ecx, dword [esp + 0x2f8]
sub ecx, eax
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov ebx, dword [esp + 0x2f0]
add ecx, ebx
mov dword [esp + 0x220], ecx
mov ecx, dword [esp + 0xc4]
sub ecx, eax
mov dword [esp + 0x224], ecx
mov dword [esp + 0x228], edx
lea edi, [esp + 0x22c]
lea esi, [esp + 0x208]
call fcn.00457766
lea eax, [0x93d540]
mov dword [esp], eax
lea eax, [esp + 0x22c]
mov dword [esp + 4], eax
call fcn.00408500
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x54ce37
nop
movzx edx, byte [0xdc3668]
test dl, dl
je 0x54cd8f
mov dword [0xdc366c], ecx
mov edx, dword [0xdd7ec0]
test edx, edx
jne 0x54ce27
mov dword [0xdc3670], eax
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], eax
mov ecx, dword [esp + 0x148]
test ecx, ecx
je 0x54ce1f
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x54cdbd
or edx, 0x80
mov ebx, dword [esp + 0x2e4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2e8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2ec]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004867f0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x318], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
xor ecx, ecx
xor edx, edx
xor eax, eax
jmp 0x54cdbd
lea edi, [0xdc3670]
call fcn.00456fe0
jmp 0x54cd8f
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x54cdbd
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0x2f0]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0x50]
jmp 0x54b499
lea eax, [0x989eea]
mov dword [esp], eax
mov dword [esp + 4], 0xe
call fcn.004086a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x318], ecx
lea ecx, [0xa4e880]
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov edi, dword [esp + 0x2f4]
cmp ebp, edi
setg dl
jmp 0x54b43b
movzx ebp, byte [esp + 0x42]
xchg ebp, eax
cmp al, dl
xchg ebp, eax
setne al
jmp 0x54b1d5
cmp ebp, esi
je 0x54cedc
mov eax, 1
test al, al
jne 0x54b1dd
jmp 0x54b1c9
cmp ebx, ecx
setne al
jmp 0x54cecf
mov dword [esp + 0xb8], ebx
movzx ebx, byte [esp + 0x303]
test bl, bl
je 0x54cf1b
mov ebx, dword [esp + 0x308]
test ebx, ebx
je 0x54cf0f
mov ebx, dword [ebx]
xor eax, eax
mov ebp, 3
jmp 0x54b1ba
mov ebx, dword [esp + 0xb8]
jmp 0x54b1ba
mov ebx, dword [esp + 0xb8]
jmp 0x54b1ba
mov dword [esp + 0xb4], ebx
movzx ebx, byte [esp + 0x302]
test bl, bl
je 0x54cf6a
mov ebx, dword [esp + 0x308]
test ebx, ebx
je 0x54cf5a
mov ebx, dword [ebx]
xchg ebp, eax
test al, al
xchg ebp, eax
mov eax, 0
mov ebp, 1
jmp 0x54b1b4
xchg ebp, eax
test al, al
xchg ebp, eax
mov ebx, dword [esp + 0xb4]
jmp 0x54b1b0
xchg ebp, eax
test al, al
xchg ebp, eax
mov ebx, dword [esp + 0xb4]
jmp 0x54b1b0
mov edi, ebx
mov ebx, dword [esp + 0x308]
test ebx, ebx
je 0x54cfa7
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 0x54b1aa
xchg ebp, eax
test al, al
xchg ebp, eax
mov ebx, edi
jmp 0x54b19d
mov ebx, ebp
jmp 0x54b187
cmp ebp, 0x12
je 0x54b15b
mov ebp, ecx
mov ecx, dword [esp + 0x44]
jmp 0x54b15d
cmp ebp, 0x14
je 0x54b15b
cmp ebp, 0x16
je 0x54b15b
cmp ebp, 0x1b
je 0x54b15b
jmp 0x54cfc2
mov ebp, dword [esp + 0x30c]
test ebp, ebp
je 0x54cffe
mov ecx, dword [esp + 0x44]
jmp 0x54b15d
mov ebp, ecx
jmp 0x54cff5
mov ebx, dword [esp + 0x4c]
mov ebp, ecx
mov ecx, dword [esp + 0x44]
jmp 0x54b15d
mov eax, dword [esp + 0x50]
test eax, eax
je 0x54d01c
mov eax, dword [eax + 4]
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
mov dword [esp + 0x188], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x18c], eax
lea eax, [0x98e249]
mov dword [esp], eax
mov dword [esp + 4], 0x13
lea eax, [esp + 0x188]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c9200
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004086a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x318], ecx
lea ecx, [0xa4e860]
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov dword [esp + 0x318], ecx
mov dword [esp + 0x31c], ebx
mov dword [esp + 0x320], edx
add esp, 0x2e0
ret
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xac], edi
mov dword [esp], eax
mov ecx, dword [esp + 0xe4]
mov dword [esp + 4], ecx
mov edx, dword [0xdc1c94]
mov dword [esp + 8], edx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
je 0x54d13a
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
movzx eax, byte [esp + 0x43]
mov ecx, dword [esp + 0xc4]
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0xb0]
jmp 0x54b0dc
mov edx, dword [esp + 0xac]
test edx, edx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xc4]
mov ebp, dword [esp + 0x2f4]
mov esi, dword [esp + 0xc8]
jmp 0x54af92
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x144]
lea esi, [esp + 0x300]
call fcn.00457784
call fcn.0054d2e0
movzx eax, byte [esp + 0x24]
test al, al
je 0x54d1d3
mov eax, dword [esp + 0x2fc]
mov ecx, dword [esp + 0x13c]
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x318], eax
mov dword [esp + 0x31c], edx
mov dword [esp + 0x320], ecx
add esp, 0x2e0
ret
lea eax, [0x99c29f]
mov dword [esp], eax
mov dword [esp + 4], 0x25
call fcn.004086a0
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc4]
lea edx, [0xa4e860]
jmp 0x54d1b7
lea eax, [0x992e55]
mov dword [esp], eax
mov dword [esp + 4], 0x19
call fcn.004086a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x318], ecx
lea ecx, [0xa4e860]
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov eax, 2
jmp 0x54af2a
movzx eax, byte [esp + 0x43]
mov eax, edx
mov edx, ebp
mov ebp, edi
mov edi, ebx
mov ebx, esi
mov esi, eax
movzx eax, byte [esp + 0x43]
jmp 0x54b0dc
mov dword [esp + 0x318], ecx
mov dword [esp + 0x31c], esi
mov dword [esp + 0x320], ebp
add esp, 0x2e0
ret
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x6c]
mov edx, dword [esp + 0xe4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
sete al
jmp 0x54a5c4
call fcn.004570c0
call fcn.004570c0
mov ecx, ebp
call fcn.004570c0
mov ecx, ebp
call fcn.004570a0
mov ecx, esi
call fcn.004570c0
mov ecx, esi
mov edx, ebx
call fcn.004570a0
nop
call fcn.004557a0
jmp fcn.0054a4b0