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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xd8]
cmp eax, dword [ecx + 8]
jbe 0x58be03
sub esp, 0x158
mov eax, dword [esp + 0x160]
cmp dword [eax], 8
jne 0x58a182
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x50], ecx
mov edx, dword [eax + 8]
mov dword [esp + 0x128], edx
cmp ecx, 0x12
jge 0x58a06d
xor ebx, ebx
jmp 0x58a0a0
mov dword [esp], edx
lea eax, [0x620b23]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x12
call fcn.00402a50
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x128]
mov ebx, eax
mov eax, dword [esp + 0x160]
test bl, bl
je 0x58a142
mov eax, dword [0x7bb644]
lea ebx, [0x5f2560]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call fcn.0040faf0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [eax]
mov eax, dword [eax + 4]
test cl, cl
je 0x58a0e5
mov ecx, eax
mov eax, dword [esp + 0x160]
jmp 0x58a142
mov ecx, dword [esp + 0x50]
cmp ecx, 0x12
jb 0x58bdf8
lea eax, [esp + 0xec]
mov dword [esp], eax
lea eax, [0x61b9ad]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
lea eax, [ecx - 0x12]
mov ecx, eax
neg eax
sar eax, 0x1f
and eax, 0x12
mov edx, dword [esp + 0x128]
add eax, edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.0044dd40
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, eax
mov eax, dword [esp + 0x160]
cmp ecx, 5
jne 0x58a15c
cmp dword [edx], 0x74732121
jne 0x58a15c
cmp byte [edx + 4], 0x72
jne 0x58a15c
mov ecx, 1
jmp 0x58a184
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
test ecx, ecx
je 0x58a170
cmp ecx, 1
jne 0x58a17e
cmp byte [edx], 0x21
jne 0x58a17e
mov ecx, dword [eax + 4]
test ecx, 0x1e
setne cl
jmp 0x58a184
xor ecx, ecx
jmp 0x58a184
xor ecx, ecx
test cl, cl
je 0x58a1b6
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.004096f0
mov eax, dword [esp + 8]
mov ecx, 5
mov esi, eax
lea ebp, [0x5f0d80]
lea eax, [0x61bf34]
jmp 0x58a295
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
mov ebp, dword [eax + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
call fcn.005a3990
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
cmp ecx, 8
jne 0x58a295
cmp dword [eax], 0x69622121
jne 0x58a295
cmp dword [eax + 4], 0x7972616e
jne 0x58a295
lea ebp, [0x5f0d80]
cmp edx, ebp
jne 0x58bde2
mov dword [esp + 0x12c], eax
mov dword [esp + 0x54], ecx
mov eax, dword [0x7bacfc]
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.005107c0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x58bd27
mov dword [esp], 0
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0044dff0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004096f0
mov esi, dword [esp + 8]
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
lea ebp, [0x5f0d80]
test ebp, ebp
je 0x58bc62
nop
movzx edx, byte [0x7bc410]
test dl, dl
je 0x58a2d2
mov dword [0x7bc414], ebp
mov edx, dword [0x7e2780]
test edx, edx
jne 0x58a2c1
mov dword [0x7bc418], esi
jmp 0x58a2d2
lea edi, [0x7bc418]
mov edx, eax
mov eax, esi
call fcn.00463860
mov eax, edx
mov dword [esp + 0x148], ebp
mov dword [esp + 0x14c], esi
mov edx, dword [esp + 0x148]
test edx, edx
je 0x58a306
nop
movzx ebx, byte [edx + 0xf]
mov edi, ebx
and ebx, 0x1f
xchg edi, eax
test al, 0x20
xchg edi, eax
jne 0x58a302
or ebx, 0x80
mov edi, esi
jmp 0x58a30e
mov edi, esi
xor ebx, ebx
xor edx, edx
xor esi, esi
mov dword [esp + 0x54], ecx
mov dword [esp + 0x12c], eax
mov dword [esp + 0x134], edi
mov dword [esp + 0x58], ebp
mov dword [esp + 0x24], ebx
mov dword [esp + 0x118], esi
mov dword [esp + 0x110], edx
mov ebp, dword [esp + 0x16c]
test ebp, ebp
je 0x58a371
test ebp, 0x200
jne 0x58a371
mov dword [esp + 0xc4], eax
lea eax, [0x675c20]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0xc4]
jmp 0x58a3cd
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov ecx, dword [esp + 0x168]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004c53d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x110]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x16c]
mov esi, dword [esp + 0x118]
mov edi, dword [esp + 0x134]
mov dword [esp + 0x34], eax
mov dword [esp + 0x120], ecx
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
test ebx, ebx
je 0x58a3f3
test ebx, 0x200
jne 0x58a3f3
mov dword [esp + 0xbc], eax
lea eax, [0x675c20]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xbc]
jmp 0x58a433
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
call fcn.004c53d0
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x16c]
mov esi, dword [esp + 0x118]
mov edi, dword [esp + 0x134]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x12c]
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
cmp ebx, esi
jne 0x58a47c
mov dword [esp], ebx
mov eax, dword [esp + 0x120]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00403850
movzx eax, byte [esp + 0xc]
test al, al
jne 0x58bc10
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov ebp, dword [esp + 0x16c]
mov edi, dword [esp + 0x134]
test ebp, 0x100
je 0x58a50e
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov ecx, dword [esp + 0x168]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004c1a40
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004c2fb0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
lea edx, [0x5f5ec0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409a20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x58bb35
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov ebp, dword [esp + 0x16c]
mov edi, dword [esp + 0x134]
nop
mov edx, ebp
and ebp, 0x1f
cmp ebp, 0xe
ja 0x58b76b
cmp ebp, 6
ja 0x58b01c
cmp ebp, 1
jne 0x58a733
mov ebx, dword [esp + 0x58]
test ebx, ebx
je 0x58baea
mov ebp, dword [ebx + 8]
cmp ebp, 0x778cdb8
jne 0x58a6e5
lea ebp, [0x5f0d80]
cmp ebx, ebp
jne 0x58baea
mov ebx, dword [edi]
mov ebp, dword [edi + 4]
cmp ebp, 1
jne 0x58a59c
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x59
xchg ebp, eax
jg 0x58a585
cmp byte [ebx], 0x4e
je 0x58a66c
xchg ebp, eax
cmp al, 0x59
xchg ebp, eax
je 0x58a6b3
jmp 0x58baea
cmp byte [ebx], 0x6e
je 0x58a66c
cmp byte [ebx], 0x79
je 0x58a6b3
jmp 0x58baea
cmp ebp, 2
jne 0x58a5ff
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x4e
xchg ebp, eax
jg 0x58a5c6
cmp word [ebx], 0x4f4e
je 0x58a66c
cmp word [ebx], 0x6f4e
je 0x58a66c
jmp 0x58baea
xchg ebp, eax
cmp al, 0x4f
xchg ebp, eax
jg 0x58a5e8
cmp word [ebx], 0x4e4f
je 0x58a6b3
cmp word [ebx], 0x6e4f
je 0x58a6b3
jmp 0x58baea
cmp word [ebx], 0x6f6e
je 0x58a66c
cmp word [ebx], 0x6e6f
je 0x58a6b3
jmp 0x58baea
cmp ebp, 3
jne 0x58baea
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x4f
xchg ebp, eax
jg 0x58a635
cmp word [ebx], 0x464f
jne 0x58a61f
cmp byte [ebx + 2], 0x46
je 0x58a66c
cmp word [ebx], 0x664f
jne 0x58baea
cmp byte [ebx + 2], 0x66
je 0x58a66c
jmp 0x58baea
xchg ebp, eax
cmp al, 0x59
xchg ebp, eax
jg 0x58a65f
cmp word [ebx], 0x4559
jne 0x58a649
cmp byte [ebx + 2], 0x53
je 0x58a6b3
cmp word [ebx], 0x6559
jne 0x58baea
cmp byte [ebx + 2], 0x73
je 0x58a6b3
jmp 0x58baea
cmp word [ebx], 0x666f
jne 0x58a69e
cmp byte [ebx + 2], 0x66
jne 0x58a69e
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov byte [esp + 0xc], 0
call fcn.004c44c0
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp word [ebx], 0x6579
jne 0x58baea
cmp byte [ebx + 2], 0x73
jne 0x58baea
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004c44c0
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp ebp, 0xb00b9f48
jne 0x58baea
lea ebp, [0x5ef880]
cmp ebx, ebp
jne 0x58baea
movzx eax, byte [edi]
mov ecx, dword [esp + 0x164]
mov dword [esp], ecx
mov ecx, dword [esp + 0x168]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], al
call fcn.004c44c0
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp ebp, 2
jb 0x58baea
test edx, 0x200
jne 0x58a753
lea ebx, [0x675c20]
mov ebp, dword [esp + 0x164]
jmp 0x58a796
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov ecx, dword [esp + 0x168]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004c53d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x16c]
mov edi, dword [esp + 0x134]
mov ebx, eax
mov ebp, ecx
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov esi, dword [0x7bbd4c]
cmp dword [0x7bbd48], ebx
je 0x58a7b1
mov ebx, dword [esp + 0x58]
test ebx, ebx
mov ebp, 0
jmp 0x58a7e9
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00403850
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x58]
test ecx, ecx
mov edx, dword [esp + 0x16c]
mov ebx, ecx
mov edi, dword [esp + 0x134]
mov ebp, eax
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
je 0x58baea
mov esi, dword [ebx + 8]
cmp esi, 0x8fc52ddb
ja 0x58ab05
cmp esi, 0x778cdb8
jne 0x58a942
lea ebp, [0x5f0d80]
cmp ebx, ebp
jne 0x58baea
mov ebx, dword [edi]
mov dword [esp + 0x130], ebx
mov ebp, dword [edi + 4]
mov dword [esp + 0x6c], ebp
test edx, 0x200
jne 0x58a83f
lea esi, [0x675c20]
mov edi, dword [esp + 0x164]
jmp 0x58a886
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov ecx, dword [esp + 0x168]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004c53d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x130]
mov ebp, dword [esp + 0x6c]
mov esi, eax
mov edi, ecx
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov ebp, dword [0x7bbd4c]
cmp dword [0x7bbd48], esi
jne 0x58baea
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
call fcn.00403850
movzx eax, byte [esp + 0xc]
test al, al
jne 0x58a8c8
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
jmp 0x58baea
mov eax, dword [esp + 0x130]
mov dword [esp], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
call fcn.00484450
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
test edx, edx
je 0x58a906
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
jmp 0x58baea
mov edx, dword [esp + 0x164]
mov dword [esp], edx
mov edx, dword [esp + 0x168]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x16c]
mov dword [esp + 8], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
call fcn.004c4880
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp esi, 0x8fc52ddb
jne 0x58baea
lea esi, [0x5f0f00]
cmp ebx, esi
jne 0x58baea
mov ebx, dword [edi]
mov esi, dword [edi + 4]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x58baea
cmp esi, 0x7fffffff
xchg ebp, ebx
setb bl
xchg ebp, ebx
xchg edi, ebx
sete bl
xchg edi, ebx
cmp ebx, 0xffffffff
setbe dl
and edi, edx
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
je 0x58aaf9
mov dword [esp + 0x64], ebx
mov dword [esp + 0x78], esi
mov edx, dword [esp + 0x164]
mov ebp, dword [edx]
shl ebp, 3
add ebp, 0xffffffc0
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov dword [esp + 0xa0], ebp
cmp ebp, 0x20
sbb edi, edi
mov dword [esp + 0x9c], edi
lea edx, [ebp - 0x20]
mov dword [esp + 0x98], edx
neg edx
cmp edx, 0x20
sbb eax, eax
mov dword [esp + 0x94], eax
mov edi, dword [esp + 0x98]
cmp edi, 0x20
sbb edi, edi
mov dword [esp + 0x90], edi
shr ebp, 5
cmp ebp, 1
sbb ebp, ebp
mov dword [esp + 0x8c], ebp
mov ebp, dword [esp + 0xa0]
cmp ebp, 0x20
sbb edi, edi
mov dword [esp + 0xa0], edi
mov ecx, edx
shr ebx, cl
and ebx, eax
mov ecx, ebp
shl esi, cl
mov edi, dword [esp + 0x9c]
and esi, edi
or esi, ebx
mov ecx, dword [esp + 0x98]
mov ebx, dword [esp + 0x64]
shl ebx, cl
mov eax, dword [esp + 0x90]
and ebx, eax
or esi, ebx
mov ecx, ebp
mov ebx, dword [esp + 0x64]
shl ebx, cl
and ebx, edi
mov ecx, edx
mov edx, esi
shl esi, cl
mov ecx, edx
mov edx, dword [esp + 0x94]
and esi, edx
mov edx, ecx
mov ecx, ebp
shr ebx, cl
and ebx, edi
or esi, ebx
not eax
mov ebx, dword [esp + 0x98]
or ebx, eax
mov ecx, ebx
mov eax, edx
sar edx, cl
mov ebx, dword [esp + 0x8c]
xor ebx, 0xffffffff
and edx, ebx
or edx, esi
mov ebx, dword [esp + 0x64]
cmp ebx, edx
setne dl
mov ecx, dword [esp + 0xa0]
not ecx
or ecx, ebp
sar eax, cl
mov ebp, dword [esp + 0x78]
cmp ebp, eax
setne al
or eax, edx
test al, al
je 0x58aabd
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
jmp 0x58baea
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 8], eax
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], ebx
call fcn.004c4880
mov byte [esp + 0x170], 1
add esp, 0x158
ret
mov edx, dword [esp + 0x16c]
jmp 0x58baea
cmp esi, 0x93592d94
jne 0x58accb
lea esi, [0x5efac0]
cmp ebx, esi
jne 0x58baea
movsd xmm0, qword [edi]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x58baea
movsd xmm1, qword [0x673ce4]
ucomisd xmm1, xmm0
jb 0x58baea
movsd qword [esp + 0xac], xmm0
movsd qword [esp], xmm0
call fcn.0045c6d0
mov eax, dword [esp + 0x164]
mov ecx, dword [eax]
shl ecx, 3
add ecx, 0xffffffc0
neg ecx
mov dword [esp + 0xa0], ecx
cmp ecx, 0x20
sbb edx, edx
mov dword [esp + 0x9c], edx
lea ebx, [ecx - 0x20]
cmp ebx, 0x20
sbb ebp, ebp
mov dword [esp + 0x98], ebp
mov esi, ebx
neg ebx
mov dword [esp + 0x94], ebx
cmp ebx, 0x20
sbb edi, edi
mov dword [esp + 0x90], edi
shr ecx, 5
cmp ecx, 1
sbb ecx, ecx
mov dword [esp + 0x8c], ecx
mov eax, dword [esp + 0xa0]
cmp eax, 0x20
sbb ecx, ecx
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x3c], ecx
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x40], ebp
mov ecx, ebx
mov edx, dword [esp + 0x3c]
shr edx, cl
mov ecx, esi
mov ebx, dword [esp + 0x3c]
shl ebx, cl
and edx, edi
mov ecx, eax
shl ebp, cl
mov edi, dword [esp + 0x9c]
and ebp, edi
or ebp, edx
mov edx, dword [esp + 0x98]
and ebx, edx
or ebx, ebp
mov ebp, dword [esp + 0x3c]
shl ebp, cl
and ebp, edi
shr ebp, cl
not edx
or edx, esi
mov ecx, edx
mov esi, ebx
sar ebx, cl
mov ecx, dword [esp + 0x94]
mov edx, esi
shl esi, cl
mov ecx, dword [esp + 0x90]
and esi, ecx
mov ecx, dword [esp + 0x8c]
xor ecx, 0xffffffff
and ebx, ecx
and ebp, edi
or esi, ebp
or ebx, esi
mov ecx, dword [esp + 0x3c]
cmp ecx, ebx
setne cl
mov ebx, dword [esp + 0xa0]
not ebx
or eax, ebx
mov ebx, ecx
mov ecx, eax
sar edx, cl
mov eax, dword [esp + 0x40]
cmp eax, edx
setne al
or eax, ebx
test al, al
je 0x58ac74
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
jmp 0x58baea
movsd xmm0, qword [esp + 0xac]
movsd qword [esp], xmm0
call fcn.0045c6d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x164]
mov dword [esp], edx
mov edx, dword [esp + 0x168]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x16c]
mov dword [esp + 8], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
call fcn.004c4880
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp esi, 0x99d6dd43
jne 0x58ae67
lea esi, [0x5f0640]
cmp ebx, esi
jne 0x58baea
mov ebx, dword [edi]
mov esi, dword [edi + 4]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x58baea
mov dword [esp + 0x68], ebx
mov dword [esp + 0x7c], esi
mov ebp, dword [esp + 0x164]
mov edi, dword [ebp]
shl edi, 3
add edi, 0xffffffc0
xchg edi, ebx
neg ebx
xchg edi, ebx
mov dword [esp + 0xa0], edi
cmp edi, 0x20
sbb edx, edx
mov dword [esp + 0x9c], edx
lea ebp, [edi - 0x20]
mov dword [esp + 0x98], ebp
cmp ebp, 0x20
sbb eax, eax
mov dword [esp + 0x94], eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
cmp ebp, 0x20
sbb edx, edx
mov dword [esp + 0x90], edx
shr edi, 5
cmp edi, 1
sbb edi, edi
mov dword [esp + 0x8c], edi
mov edi, dword [esp + 0xa0]
cmp edi, 0x20
sbb edx, edx
mov dword [esp + 0xa0], edx
mov ecx, edi
shl esi, cl
mov ecx, dword [esp + 0x98]
shl ebx, cl
and ebx, eax
mov ecx, ebp
mov edx, dword [esp + 0x68]
shr edx, cl
mov eax, dword [esp + 0x90]
and edx, eax
mov eax, dword [esp + 0x9c]
and esi, eax
or esi, edx
or esi, ebx
mov ecx, edi
mov edx, dword [esp + 0x68]
shl edx, cl
and edx, eax
mov ecx, ebp
mov ebp, esi
shl esi, cl
mov ecx, edi
shr edx, cl
mov edi, dword [esp + 0x94]
xchg edi, ebx
not ebx
xchg edi, ebx
mov ebx, dword [esp + 0x98]
or ebx, edi
mov edi, ecx
mov ecx, ebx
mov ebx, ebp
sar ebp, cl
mov ecx, ebx
mov ebx, dword [esp + 0x8c]
xor ebx, 0xffffffff
and ebp, ebx
mov ebx, dword [esp + 0x90]
and esi, ebx
and edx, eax
or esi, edx
or ebp, esi
mov eax, dword [esp + 0x68]
cmp eax, ebp
setne dl
mov ebx, dword [esp + 0xa0]
not ebx
or edi, ebx
mov ebx, ecx
mov ecx, edi
sar ebx, cl
mov ebp, dword [esp + 0x7c]
cmp ebp, ebx
setne bl
or ebx, edx
test bl, bl
je 0x58ae2b
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
jmp 0x58baea
mov ecx, dword [esp + 0x164]
mov dword [esp], ecx
mov ecx, dword [esp + 0x168]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x16c]
mov dword [esp + 8], ecx
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], eax
call fcn.004c4880
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp esi, 0xcb735792
jne 0x58baea
lea esi, [0x5f0580]
cmp ebx, esi
jne 0x58baea
mov ebx, dword [edi]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x58baea
mov dword [esp + 0x84], ebx
mov ebp, dword [esp + 0x164]
mov esi, dword [ebp]
shl esi, 3
add esi, 0xffffffc0
xchg esi, ebx
neg ebx
xchg esi, ebx
mov dword [esp + 0xa0], esi
cmp esi, 0x20
sbb edi, edi
mov dword [esp + 0x9c], edi
lea edx, [esi - 0x20]
mov dword [esp + 0x98], edx
neg edx
cmp edx, 0x20
sbb ebp, ebp
mov dword [esp + 0x94], ebp
mov eax, dword [esp + 0x98]
cmp eax, 0x20
sbb ebp, ebp
mov dword [esp + 0x90], ebp
shr esi, 5
cmp esi, 1
sbb esi, esi
mov dword [esp + 0x8c], esi
mov esi, dword [esp + 0xa0]
cmp esi, 0x20
sbb edi, edi
mov dword [esp + 0xa0], edi
sar ebx, 0x1f
mov dword [esp + 0x48], ebx
mov ecx, eax
mov edi, dword [esp + 0x84]
shl edi, cl
mov ecx, esi
shl ebx, cl
mov ecx, edx
mov eax, dword [esp + 0x84]
shr eax, cl
and edi, ebp
mov edx, dword [esp + 0x9c]
and ebx, edx
mov ebp, dword [esp + 0x94]
and eax, ebp
or eax, ebx
or edi, eax
mov eax, ecx
mov ecx, esi
mov ebx, dword [esp + 0x84]
shl ebx, cl
and ebx, edx
mov dword [esp + 0x94], ebx
mov edx, dword [esp + 0x90]
not edx
mov ebx, dword [esp + 0x98]
or ebx, edx
mov ecx, eax
mov edx, edi
shl edi, cl
mov ecx, ebx
mov eax, edx
sar edx, cl
mov ebx, dword [esp + 0x8c]
xor ebx, 0xffffffff
and edx, ebx
and edi, ebp
mov ecx, esi
mov ebx, dword [esp + 0x94]
shr ebx, cl
mov ebp, dword [esp + 0x9c]
and ebx, ebp
or edi, ebx
or edx, edi
mov ebx, dword [esp + 0x84]
cmp ebx, edx
setne dl
mov ebp, dword [esp + 0xa0]
xchg ebp, ebx
not ebx
xchg ebp, ebx
or ecx, ebp
sar eax, cl
mov ebp, dword [esp + 0x48]
cmp ebp, eax
setne al
or eax, edx
test al, al
je 0x58afe0
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
jmp 0x58baea
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 8], eax
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], ebx
call fcn.004c4880
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp ebp, 0xc
ja 0x58b5de
mov ebx, dword [esp + 0x58]
test ebx, ebx
je 0x58baea
mov ebp, dword [ebx + 8]
cmp ebp, 0x93592d94
ja 0x58b2f3
cmp ebp, 0x8fc52ddb
jne 0x58b177
lea ebp, [0x5f0f00]
cmp ebx, ebp
jne 0x58baea
mov ebx, dword [esp + 0x164]
mov ebp, dword [ebx]
shl ebp, 3
add ebp, 0xffffffc0
xchg ebp, ebx
neg ebx
xchg ebp, ebx
cmp ebp, 0x20
sbb esi, esi
lea edx, [ebp - 0x20]
mov dword [esp + 0x9c], edx
cmp edx, 0x20
sbb ebx, ebx
mov dword [esp + 0x98], ebx
neg edx
mov dword [esp + 0x94], edx
cmp edx, 0x20
sbb eax, eax
mov dword [esp + 0x90], eax
mov ebx, dword [edi]
mov dword [esp + 0x5c], ebx
mov edi, dword [edi + 4]
mov dword [esp + 0x70], edi
mov ecx, ebp
shl edi, cl
and edi, esi
mov ecx, edx
shr ebx, cl
and ebx, eax
or edi, ebx
mov ecx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x5c]
shl ebx, cl
mov eax, dword [esp + 0x98]
and ebx, eax
or edi, ebx
mov ebx, ecx
mov ecx, ebp
mov edx, dword [esp + 0x5c]
shl edx, cl
and edx, esi
mov ecx, ebx
mov ebx, edi
shr edi, cl
and edi, eax
mov ecx, dword [esp + 0x94]
mov eax, ebx
shl ebx, cl
mov ecx, eax
mov eax, dword [esp + 0x90]
and ebx, eax
mov eax, ecx
mov ecx, ebp
shr edx, cl
and edx, esi
or ebx, edx
or ebx, edi
mov edx, dword [esp + 0x5c]
cmp edx, ebx
setne bl
shr eax, cl
and eax, esi
mov ebp, dword [esp + 0x70]
cmp ebp, eax
setne al
or eax, ebx
test al, al
je 0x58b13b
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
jmp 0x58baea
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 8], eax
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], edx
call fcn.004c4e60
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp ebp, 0x93592d94
jne 0x58baea
lea ebp, [0x5efac0]
cmp ebx, ebp
jne 0x58baea
movsd xmm0, qword [edi]
movsd xmm1, qword [0x673cec]
ucomisd xmm1, xmm0
jb 0x58baea
movsd qword [esp + 0xa4], xmm0
movsd qword [esp], xmm0
call fcn.0045c720
mov eax, dword [esp + 0x164]
mov ecx, dword [eax]
shl ecx, 3
add ecx, 0xffffffc0
neg ecx
mov dword [esp + 0xa0], ecx
cmp ecx, 0x20
sbb edx, edx
lea ebx, [ecx - 0x20]
mov ebp, ebx
neg ebx
mov dword [esp + 0x9c], ebx
cmp ebx, 0x20
sbb esi, esi
mov dword [esp + 0x98], esi
cmp ebp, 0x20
sbb edi, edi
mov dword [esp + 0x94], edi
mov eax, dword [esp + 8]
mov dword [esp + 0x38], eax
mov edi, dword [esp + 0xc]
mov dword [esp + 0x44], edi
mov ecx, ebx
shr eax, cl
and eax, esi
mov ecx, dword [esp + 0xa0]
shl edi, cl
and edi, edx
or edi, eax
mov eax, ecx
mov ecx, ebp
mov esi, dword [esp + 0x38]
shl esi, cl
mov ebx, dword [esp + 0x94]
and esi, ebx
or esi, edi
mov ecx, eax
mov edi, dword [esp + 0x38]
shl edi, cl
and edi, edx
mov ecx, ebp
mov ebp, esi
shr esi, cl
and esi, ebx
mov ecx, dword [esp + 0x9c]
mov ebx, ebp
shl ebp, cl
mov ecx, dword [esp + 0x98]
and ebp, ecx
mov ecx, eax
shr edi, cl
and edi, edx
or ebp, edi
or ebp, esi
mov esi, dword [esp + 0x38]
cmp esi, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
shr ebx, cl
and ebx, edx
mov eax, dword [esp + 0x44]
cmp eax, ebx
setne al
or eax, ebp
test al, al
je 0x58b29c
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
jmp 0x58baea
movsd xmm0, qword [esp + 0xa4]
movsd qword [esp], xmm0
call fcn.0045c720
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x164]
mov dword [esp], edx
mov edx, dword [esp + 0x168]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x16c]
mov dword [esp + 8], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
call fcn.004c4e60
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp ebp, 0x99d6dd43
jne 0x58b46c
lea ebp, [0x5f0640]
cmp ebx, ebp
jne 0x58baea
mov ebx, dword [edi + 4]
test ebx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg esi, ebx
setg bl
xchg esi, ebx
mov edi, dword [edi]
and ebp, 1
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x58baea
mov dword [esp + 0x60], edi
mov dword [esp + 0x74], ebx
mov ebp, dword [esp + 0x164]
mov esi, dword [ebp]
shl esi, 3
add esi, 0xffffffc0
xchg esi, ebx
neg ebx
xchg esi, ebx
cmp esi, 0x20
sbb edx, edx
mov dword [esp + 0x9c], edx
lea ebp, [esi - 0x20]
mov dword [esp + 0x98], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov dword [esp + 0x94], ebp
cmp ebp, 0x20
sbb eax, eax
mov dword [esp + 0x90], eax
mov edx, dword [esp + 0x98]
cmp edx, 0x20
sbb ebx, ebx
mov dword [esp + 0x98], ebx
mov ecx, edx
shl edi, cl
and edi, ebx
mov ecx, ebp
mov ebx, dword [esp + 0x60]
shr ebx, cl
and ebx, eax
mov ecx, esi
mov eax, dword [esp + 0x74]
shl eax, cl
mov ebp, dword [esp + 0x9c]
and eax, ebp
or eax, ebx
or eax, edi
mov dword [esp + 0x9c], eax
mov ebx, dword [esp + 0x60]
mov edi, ebx
shl ebx, cl
and ebx, ebp
mov ecx, edx
mov edx, eax
shr eax, cl
mov ecx, edi
mov edi, dword [esp + 0x98]
and eax, edi
mov edi, ecx
mov ecx, dword [esp + 0x94]
shl edx, cl
mov ecx, edi
mov edi, dword [esp + 0x90]
and edx, edi
mov edi, ecx
mov ecx, esi
shr ebx, cl
and ebx, ebp
or edx, ebx
or edx, eax
cmp edi, edx
setne al
mov edx, dword [esp + 0x9c]
shr edx, cl
and edx, ebp
mov ebx, dword [esp + 0x74]
cmp ebx, edx
setne dl
or edx, eax
test dl, dl
je 0x58b430
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
jmp 0x58baea
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 8], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], edi
call fcn.004c4e60
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp ebp, 0xcb735792
jne 0x58baea
lea ebp, [0x5f0580]
cmp ebx, ebp
jne 0x58baea
mov ebx, dword [edi]
test ebx, ebx
jl 0x58baea
mov dword [esp + 0x80], ebx
mov ebp, dword [esp + 0x164]
mov esi, dword [ebp]
shl esi, 3
add esi, 0xffffffc0
xchg esi, ebx
neg ebx
xchg esi, ebx
mov dword [esp + 0xa0], esi
lea edi, [esi - 0x20]
mov dword [esp + 0x9c], edi
cmp edi, 0x20
sbb edx, edx
cmp esi, 0x20
sbb ebp, ebp
mov dword [esp + 0x98], ebp
xchg edi, ebx
neg ebx
xchg edi, ebx
mov dword [esp + 0x94], edi
cmp edi, 0x20
sbb eax, eax
mov dword [esp + 0x90], eax
sar ebx, 0x1f
mov dword [esp + 0x88], ebx
mov ecx, edi
mov ebp, dword [esp + 0x80]
shr ebp, cl
mov ecx, dword [esp + 0x9c]
mov edi, dword [esp + 0x80]
shl edi, cl
and edi, edx
and ebp, eax
mov ecx, esi
shl ebx, cl
mov eax, dword [esp + 0x98]
and ebx, eax
or ebp, ebx
or edi, ebp
mov dword [esp + 0x98], edi
mov ebx, dword [esp + 0x80]
mov ebp, ebx
shl ebx, cl
and ebx, eax
shr ebx, cl
mov ecx, dword [esp + 0x94]
shl edi, cl
mov ecx, dword [esp + 0x9c]
mov esi, dword [esp + 0x98]
shr esi, cl
and esi, edx
mov edx, dword [esp + 0x90]
and edi, edx
and ebx, eax
or edi, ebx
or edi, esi
cmp ebp, edi
setne dl
mov ecx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x98]
shr ebx, cl
and ebx, eax
mov eax, dword [esp + 0x88]
cmp eax, ebx
setne bl
or ebx, edx
test bl, bl
je 0x58b5a2
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
jmp 0x58baea
mov ecx, dword [esp + 0x164]
mov dword [esp], ecx
mov ecx, dword [esp + 0x168]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x16c]
mov dword [esp + 8], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebp
call fcn.004c4e60
mov byte [esp + 0x170], 1
add esp, 0x158
ret
mov ebx, dword [esp + 0x58]
test ebx, ebx
je 0x58baea
mov ebp, dword [ebx + 8]
cmp ebp, 0x93592d94
ja 0x58b6b1
cmp ebp, 0x8fc52ddb
jne 0x58b660
lea ebp, [0x5f0f00]
cmp ebx, ebp
jne 0x58baea
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0045c840
movsd xmm0, qword [esp + 8]
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 8], eax
movsd qword [esp + 0xc], xmm0
call fcn.004c47c0
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp ebp, 0x93592d94
jne 0x58baea
lea ebp, [0x5efac0]
cmp ebx, ebp
jne 0x58baea
movsd xmm0, qword [edi]
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
movsd qword [esp + 0xc], xmm0
call fcn.004c47c0
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp ebp, 0x99d6dd43
jne 0x58b718
lea ebp, [0x5f0640]
cmp ebx, ebp
jne 0x58baea
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0045c770
movsd xmm0, qword [esp + 8]
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 8], eax
movsd qword [esp + 0xc], xmm0
call fcn.004c47c0
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp ebp, 0xcb735792
jne 0x58baea
lea ebp, [0x5f0580]
cmp ebx, ebp
jne 0x58baea
mov eax, dword [edi]
mov ecx, dword [esp + 0x164]
mov dword [esp], ecx
mov ecx, dword [esp + 0x168]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
cvtsi2sd xmm0, eax
movsd qword [esp + 0xc], xmm0
call fcn.004c47c0
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp ebp, 0x16
ja 0x58b837
cmp ebp, 0x14
jne 0x58b829
nop
movzx ecx, byte [0x7bc410]
test cl, cl
je 0x58b7b6
mov ecx, dword [esp + 0x58]
mov dword [0x7bc414], ecx
mov ebx, dword [0x7e2780]
test ebx, ebx
jne 0x58b7a5
mov dword [0x7bc418], edi
jmp 0x58b7ba
mov eax, edi
lea edi, [0x7bc418]
call fcn.00463860
mov edi, eax
jmp 0x58b7ba
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x140], ecx
mov dword [esp + 0x144], edi
mov eax, dword [esp + 0x140]
test eax, eax
je 0x58b7ea
nop
movzx ecx, byte [eax + 0xf]
mov ebx, ecx
and ecx, 0x1f
test bl, 0x20
jne 0x58b7f0
or ecx, 0x80
jmp 0x58b7f0
xor ecx, ecx
xor eax, eax
xor edi, edi
mov ebx, dword [esp + 0x164]
mov dword [esp], ebx
mov ebx, dword [esp + 0x168]
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ecx
call fcn.004c43b0
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp ebp, 0x16
jne 0x58baea
jmp 0x58bd0f
cmp ebp, 0x18
jne 0x58b8e4
cmp ecx, 8
jne 0x58b8a2
cmp dword [eax], 0x69622121
jne 0x58b8a2
cmp dword [eax + 4], 0x7972616e
jne 0x58b8a2
mov eax, dword [esp + 0x58]
lea ecx, [0x5f0d80]
cmp eax, ecx
jne 0x58bcf9
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov ebx, dword [esp + 0x164]
mov dword [esp], ebx
mov ebx, dword [esp + 0x168]
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004c4f60
mov byte [esp + 0x170], 1
add esp, 0x158
ret
mov eax, dword [esp + 0x160]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov ebx, dword [esp + 0x164]
mov dword [esp], ebx
mov ebx, dword [esp + 0x168]
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.004c4f60
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp ebp, 0x19
jne 0x58baea
nop
movzx ebx, byte [0x7bc410]
test bl, bl
je 0x58b92c
mov ebx, dword [esp + 0x58]
mov dword [0x7bc414], ebx
mov ebp, dword [0x7e2780]
test ebp, ebp
jne 0x58b915
mov dword [0x7bc418], edi
jmp 0x58b930
mov ebp, edi
lea edi, [0x7bc418]
mov esi, eax
mov eax, ebp
call fcn.00463860
mov eax, esi
mov edi, ebp
jmp 0x58b930
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x138], ebx
mov dword [esp + 0x13c], edi
mov ebx, dword [esp + 0x138]
test ebx, ebx
je 0x58b962
nop
movzx ebp, byte [ebx + 0xf]
mov esi, ebp
and ebp, 0x1f
xchg esi, eax
test al, 0x20
xchg esi, eax
jne 0x58b968
or ebp, 0x80
jmp 0x58b968
xor ebp, ebp
xor ebx, ebx
xor edi, edi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x114], edi
mov dword [esp + 0x10c], ebx
test edx, 0x200
jne 0x58b99e
lea esi, [0x675c20]
mov esi, dword [esp + 0x164]
mov dword [esp + 0x11c], esi
lea esi, [0x675c20]
jmp 0x58b9f1
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov ecx, dword [esp + 0x168]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004c53d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x10c]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x114]
mov esi, eax
mov dword [esp + 0x11c], ecx
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x2c], esi
test ebp, ebp
je 0x58ba1b
test ebp, 0x200
jne 0x58ba1b
mov dword [esp + 0xb4], eax
lea eax, [0x675c20]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xb4]
jmp 0x58ba58
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
call fcn.004c53d0
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x114]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x12c]
mov ebp, dword [esp + 0x28]
cmp esi, ebp
jne 0x58baea
mov dword [esp], esi
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00403850
movzx eax, byte [esp + 0xc]
test al, al
jne 0x58ba98
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
jmp 0x58baea
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
call fcn.004c43b0
mov byte [esp + 0x170], 1
add esp, 0x158
ret
mov ebx, dword [esp + 0x15c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x160]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x164]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
call fcn.00588910
mov byte [esp + 0x170], 0
add esp, 0x158
ret
mov dword [esp + 0x124], ecx
mov dword [esp + 0x4c], eax
mov edx, dword [esp + 0x54]
cmp edx, 8
jne 0x58bba1
mov edx, dword [esp + 0x12c]
cmp dword [edx], 0x69622121
jne 0x58bba1
cmp dword [edx + 4], 0x7972616e
jne 0x58bba1
mov edx, dword [esp + 0x58]
lea ebx, [0x5f0d80]
cmp edx, ebx
jne 0x58bce3
mov eax, dword [esp + 0x134]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044e1b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
jmp 0x58bbce
mov eax, dword [esp + 0x160]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044e1b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x4c]
mov ebx, dword [ebx + 0x10]
mov ebp, dword [esp + 0x124]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x58bca5
mov byte [esp + 0x170], 1
add esp, 0x158
ret
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x14], eax
call fcn.004c43b0
mov byte [esp + 0x170], 1
add esp, 0x158
ret
mov eax, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 0xc], eax
call fcn.00589f50
movzx eax, byte [esp + 0x10]
mov byte [esp + 0x170], al
add esp, 0x158
ret
nop
mov dword [esp + 0x150], ecx
mov dword [esp + 0x154], edx
lea eax, [0x5f7a00]
mov dword [esp], eax
lea ecx, [esp + 0x150]
mov dword [esp + 4], ecx
call fcn.004094a0
mov eax, dword [esp + 8]
lea ecx, [0x5f7a00]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00435790
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x5f06c0]
mov dword [esp + 8], eax
call fcn.00409340
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x5f06c0]
mov dword [esp + 8], eax
call fcn.00409340
lea eax, [0x5f0d80]
mov dword [esp], eax
lea eax, [0x673e5c]
mov dword [esp + 4], eax
call fcn.00435790
nop
lea eax, [esp + 0xcc]
mov dword [esp], eax
lea eax, [0x61c4c4]
mov dword [esp + 4], eax
mov dword [esp + 8], 6
lea eax, [0x62b5ab]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x2b
call fcn.0044dd40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.004cb530
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], ecx
lea eax, [0x5f7a00]
mov dword [esp], eax
lea ecx, [esp + 0x150]
mov dword [esp + 4], ecx
call fcn.004094a0
mov eax, dword [esp + 8]
lea ecx, [0x5f7a00]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00435790
mov dword [esp], edx
mov dword [esp + 4], ebp
lea eax, [0x5f06c0]
mov dword [esp + 8], eax
call fcn.00409340
mov eax, 0x12
call fcn.00463940
nop
call fcn.00462450
jmp fcn.0058a020