Function at 0x58a340
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 0x58c123
sub esp, 0x158
mov eax, dword [esp + 0x160]
cmp dword [eax], 8
jne 0x58a4a2
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x50], ecx
mov edx, dword [eax + 8]
mov dword [esp + 0x128], edx
cmp ecx, 0x12
jge 0x58a38d
xor ebx, ebx
jmp 0x58a3c0
mov dword [esp], edx
lea eax, [0x620bb5]
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 0x58a462
mov eax, dword [0x7bc380]
lea ebx, [0x5f25a0]
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 0x58a405
mov ecx, eax
mov eax, dword [esp + 0x160]
jmp 0x58a462
mov ecx, dword [esp + 0x50]
cmp ecx, 0x12
jb 0x58c118
lea eax, [esp + 0xec]
mov dword [esp], eax
lea eax, [0x61ba0d]
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 0x58a47c
cmp dword [edx], 0x74732121
jne 0x58a47c
cmp byte [edx + 4], 0x72
jne 0x58a47c
mov ecx, 1
jmp 0x58a4a4
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
test ecx, ecx
je 0x58a490
cmp ecx, 1
jne 0x58a49e
cmp byte [edx], 0x21
jne 0x58a49e
mov ecx, dword [eax + 4]
test ecx, 0x1e
setne cl
jmp 0x58a4a4
xor ecx, ecx
jmp 0x58a4a4
xor ecx, ecx
test cl, cl
je 0x58a4d6
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, [0x5f0dc0]
lea eax, [0x61bf94]
jmp 0x58a5b5
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.005a3cb0
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 0x58a5b5
cmp dword [eax], 0x69622121
jne 0x58a5b5
cmp dword [eax + 4], 0x7972616e
jne 0x58a5b5
lea ebp, [0x5f0dc0]
cmp edx, ebp
jne 0x58c102
mov dword [esp + 0x12c], eax
mov dword [esp + 0x54], ecx
mov eax, dword [0x7bba1c]
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.005107b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x58c047
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, [0x5f0dc0]
test ebp, ebp
je 0x58bf82
nop
movzx edx, byte [0x7bd150]
test dl, dl
je 0x58a5f2
mov dword [0x7bd154], ebp
mov edx, dword [0x7e34c0]
test edx, edx
jne 0x58a5e1
mov dword [0x7bd158], esi
jmp 0x58a5f2
lea edi, [0x7bd158]
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 0x58a626
nop
movzx ebx, byte [edx + 0xf]
mov edi, ebx
and ebx, 0x1f
xchg edi, eax
test al, 0x20
xchg edi, eax
jne 0x58a622
or ebx, 0x80
mov edi, esi
jmp 0x58a62e
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 0x58a691
test ebp, 0x200
jne 0x58a691
mov dword [esp + 0xc4], eax
lea eax, [0x676140]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0xc4]
jmp 0x58a6ed
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.004c53c0
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 0x58a713
test ebx, 0x200
jne 0x58a713
mov dword [esp + 0xbc], eax
lea eax, [0x676140]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xbc]
jmp 0x58a753
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
call fcn.004c53c0
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 0x58a79c
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 0x58bf30
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov ebp, dword [esp + 0x16c]
mov edi, dword [esp + 0x134]
test ebp, 0x100
je 0x58a82e
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.004c1a30
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.004c2fa0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
lea edx, [0x5f5f00]
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 0x58be55
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 0x58ba8b
cmp ebp, 6
ja 0x58b33c
cmp ebp, 1
jne 0x58aa53
mov ebx, dword [esp + 0x58]
test ebx, ebx
je 0x58be0a
mov ebp, dword [ebx + 8]
cmp ebp, 0x778cdb8
jne 0x58aa05
lea ebp, [0x5f0dc0]
cmp ebx, ebp
jne 0x58be0a
mov ebx, dword [edi]
mov ebp, dword [edi + 4]
cmp ebp, 1
jne 0x58a8bc
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x59
xchg ebp, eax
jg 0x58a8a5
cmp byte [ebx], 0x4e
je 0x58a98c
xchg ebp, eax
cmp al, 0x59
xchg ebp, eax
je 0x58a9d3
jmp 0x58be0a
cmp byte [ebx], 0x6e
je 0x58a98c
cmp byte [ebx], 0x79
je 0x58a9d3
jmp 0x58be0a
cmp ebp, 2
jne 0x58a91f
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x4e
xchg ebp, eax
jg 0x58a8e6
cmp word [ebx], 0x4f4e
je 0x58a98c
cmp word [ebx], 0x6f4e
je 0x58a98c
jmp 0x58be0a
xchg ebp, eax
cmp al, 0x4f
xchg ebp, eax
jg 0x58a908
cmp word [ebx], 0x4e4f
je 0x58a9d3
cmp word [ebx], 0x6e4f
je 0x58a9d3
jmp 0x58be0a
cmp word [ebx], 0x6f6e
je 0x58a98c
cmp word [ebx], 0x6e6f
je 0x58a9d3
jmp 0x58be0a
cmp ebp, 3
jne 0x58be0a
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x4f
xchg ebp, eax
jg 0x58a955
cmp word [ebx], 0x464f
jne 0x58a93f
cmp byte [ebx + 2], 0x46
je 0x58a98c
cmp word [ebx], 0x664f
jne 0x58be0a
cmp byte [ebx + 2], 0x66
je 0x58a98c
jmp 0x58be0a
xchg ebp, eax
cmp al, 0x59
xchg ebp, eax
jg 0x58a97f
cmp word [ebx], 0x4559
jne 0x58a969
cmp byte [ebx + 2], 0x53
je 0x58a9d3
cmp word [ebx], 0x6559
jne 0x58be0a
cmp byte [ebx + 2], 0x73
je 0x58a9d3
jmp 0x58be0a
cmp word [ebx], 0x666f
jne 0x58a9be
cmp byte [ebx + 2], 0x66
jne 0x58a9be
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.004c44b0
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp word [ebx], 0x6579
jne 0x58be0a
cmp byte [ebx + 2], 0x73
jne 0x58be0a
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.004c44b0
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp ebp, 0xb00b9f48
jne 0x58be0a
lea ebp, [0x5ef8c0]
cmp ebx, ebp
jne 0x58be0a
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.004c44b0
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp ebp, 2
jb 0x58be0a
test edx, 0x200
jne 0x58aa73
lea ebx, [0x676140]
mov ebp, dword [esp + 0x164]
jmp 0x58aab6
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.004c53c0
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 [0x7bca8c]
cmp dword [0x7bca88], ebx
je 0x58aad1
mov ebx, dword [esp + 0x58]
test ebx, ebx
mov ebp, 0
jmp 0x58ab09
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 0x58be0a
mov esi, dword [ebx + 8]
cmp esi, 0x8fc52ddb
ja 0x58ae25
cmp esi, 0x778cdb8
jne 0x58ac62
lea ebp, [0x5f0dc0]
cmp ebx, ebp
jne 0x58be0a
mov ebx, dword [edi]
mov dword [esp + 0x130], ebx
mov ebp, dword [edi + 4]
mov dword [esp + 0x6c], ebp
test edx, 0x200
jne 0x58ab5f
lea esi, [0x676140]
mov edi, dword [esp + 0x164]
jmp 0x58aba6
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.004c53c0
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 [0x7bca8c]
cmp dword [0x7bca88], esi
jne 0x58be0a
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 0x58abe8
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
jmp 0x58be0a
mov eax, dword [esp + 0x130]
mov dword [esp], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
call fcn.00484440
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
test edx, edx
je 0x58ac26
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
jmp 0x58be0a
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.004c4870
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp esi, 0x8fc52ddb
jne 0x58be0a
lea esi, [0x5f0f40]
cmp ebx, esi
jne 0x58be0a
mov ebx, dword [edi]
mov esi, dword [edi + 4]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x58be0a
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 0x58ae19
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 0x58addd
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
jmp 0x58be0a
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.004c4870
mov byte [esp + 0x170], 1
add esp, 0x158
ret
mov edx, dword [esp + 0x16c]
jmp 0x58be0a
cmp esi, 0x93592d94
jne 0x58afeb
lea esi, [0x5efb00]
cmp ebx, esi
jne 0x58be0a
movsd xmm0, qword [edi]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x58be0a
movsd xmm1, qword [0x674208]
ucomisd xmm1, xmm0
jb 0x58be0a
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 0x58af94
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
jmp 0x58be0a
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.004c4870
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp esi, 0x99d6dd43
jne 0x58b187
lea esi, [0x5f0680]
cmp ebx, esi
jne 0x58be0a
mov ebx, dword [edi]
mov esi, dword [edi + 4]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x58be0a
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 0x58b14b
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
jmp 0x58be0a
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.004c4870
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp esi, 0xcb735792
jne 0x58be0a
lea esi, [0x5f05c0]
cmp ebx, esi
jne 0x58be0a
mov ebx, dword [edi]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x58be0a
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 0x58b300
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
jmp 0x58be0a
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.004c4870
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp ebp, 0xc
ja 0x58b8fe
mov ebx, dword [esp + 0x58]
test ebx, ebx
je 0x58be0a
mov ebp, dword [ebx + 8]
cmp ebp, 0x93592d94
ja 0x58b613
cmp ebp, 0x8fc52ddb
jne 0x58b497
lea ebp, [0x5f0f40]
cmp ebx, ebp
jne 0x58be0a
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 0x58b45b
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
jmp 0x58be0a
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.004c4e50
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp ebp, 0x93592d94
jne 0x58be0a
lea ebp, [0x5efb00]
cmp ebx, ebp
jne 0x58be0a
movsd xmm0, qword [edi]
movsd xmm1, qword [0x674210]
ucomisd xmm1, xmm0
jb 0x58be0a
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 0x58b5bc
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
jmp 0x58be0a
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.004c4e50
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp ebp, 0x99d6dd43
jne 0x58b78c
lea ebp, [0x5f0680]
cmp ebx, ebp
jne 0x58be0a
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 0x58be0a
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 0x58b750
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
jmp 0x58be0a
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.004c4e50
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp ebp, 0xcb735792
jne 0x58be0a
lea ebp, [0x5f05c0]
cmp ebx, ebp
jne 0x58be0a
mov ebx, dword [edi]
test ebx, ebx
jl 0x58be0a
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 0x58b8c2
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
jmp 0x58be0a
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.004c4e50
mov byte [esp + 0x170], 1
add esp, 0x158
ret
mov ebx, dword [esp + 0x58]
test ebx, ebx
je 0x58be0a
mov ebp, dword [ebx + 8]
cmp ebp, 0x93592d94
ja 0x58b9d1
cmp ebp, 0x8fc52ddb
jne 0x58b980
lea ebp, [0x5f0f40]
cmp ebx, ebp
jne 0x58be0a
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.004c47b0
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp ebp, 0x93592d94
jne 0x58be0a
lea ebp, [0x5efb00]
cmp ebx, ebp
jne 0x58be0a
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.004c47b0
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp ebp, 0x99d6dd43
jne 0x58ba38
lea ebp, [0x5f0680]
cmp ebx, ebp
jne 0x58be0a
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.004c47b0
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp ebp, 0xcb735792
jne 0x58be0a
lea ebp, [0x5f05c0]
cmp ebx, ebp
jne 0x58be0a
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.004c47b0
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp ebp, 0x16
ja 0x58bb57
cmp ebp, 0x14
jne 0x58bb49
nop
movzx ecx, byte [0x7bd150]
test cl, cl
je 0x58bad6
mov ecx, dword [esp + 0x58]
mov dword [0x7bd154], ecx
mov ebx, dword [0x7e34c0]
test ebx, ebx
jne 0x58bac5
mov dword [0x7bd158], edi
jmp 0x58bada
mov eax, edi
lea edi, [0x7bd158]
call fcn.00463860
mov edi, eax
jmp 0x58bada
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x140], ecx
mov dword [esp + 0x144], edi
mov eax, dword [esp + 0x140]
test eax, eax
je 0x58bb0a
nop
movzx ecx, byte [eax + 0xf]
mov ebx, ecx
and ecx, 0x1f
test bl, 0x20
jne 0x58bb10
or ecx, 0x80
jmp 0x58bb10
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.004c43a0
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp ebp, 0x16
jne 0x58be0a
jmp 0x58c02f
cmp ebp, 0x18
jne 0x58bc04
cmp ecx, 8
jne 0x58bbc2
cmp dword [eax], 0x69622121
jne 0x58bbc2
cmp dword [eax + 4], 0x7972616e
jne 0x58bbc2
mov eax, dword [esp + 0x58]
lea ecx, [0x5f0dc0]
cmp eax, ecx
jne 0x58c019
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.004c4f50
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.004c4f50
mov byte [esp + 0x170], 1
add esp, 0x158
ret
cmp ebp, 0x19
jne 0x58be0a
nop
movzx ebx, byte [0x7bd150]
test bl, bl
je 0x58bc4c
mov ebx, dword [esp + 0x58]
mov dword [0x7bd154], ebx
mov ebp, dword [0x7e34c0]
test ebp, ebp
jne 0x58bc35
mov dword [0x7bd158], edi
jmp 0x58bc50
mov ebp, edi
lea edi, [0x7bd158]
mov esi, eax
mov eax, ebp
call fcn.00463860
mov eax, esi
mov edi, ebp
jmp 0x58bc50
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x138], ebx
mov dword [esp + 0x13c], edi
mov ebx, dword [esp + 0x138]
test ebx, ebx
je 0x58bc82
nop
movzx ebp, byte [ebx + 0xf]
mov esi, ebp
and ebp, 0x1f
xchg esi, eax
test al, 0x20
xchg esi, eax
jne 0x58bc88
or ebp, 0x80
jmp 0x58bc88
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 0x58bcbe
lea esi, [0x676140]
mov esi, dword [esp + 0x164]
mov dword [esp + 0x11c], esi
lea esi, [0x676140]
jmp 0x58bd11
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.004c53c0
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 0x58bd3b
test ebp, 0x200
jne 0x58bd3b
mov dword [esp + 0xb4], eax
lea eax, [0x676140]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xb4]
jmp 0x58bd78
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
call fcn.004c53c0
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 0x58be0a
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 0x58bdb8
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
jmp 0x58be0a
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.004c43a0
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.00588c30
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 0x58bec1
mov edx, dword [esp + 0x12c]
cmp dword [edx], 0x69622121
jne 0x58bec1
cmp dword [edx + 4], 0x7972616e
jne 0x58bec1
mov edx, dword [esp + 0x58]
lea ebx, [0x5f0dc0]
cmp edx, ebx
jne 0x58c003
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 0x58beee
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 0x58bfc5
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.004c43a0
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.0058a270
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, [0x5f7a40]
mov dword [esp], eax
lea ecx, [esp + 0x150]
mov dword [esp + 4], ecx
call fcn.004094a0
mov eax, dword [esp + 8]
lea ecx, [0x5f7a40]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00435790
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x5f0700]
mov dword [esp + 8], eax
call fcn.00409340
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x5f0700]
mov dword [esp + 8], eax
call fcn.00409340
lea eax, [0x5f0dc0]
mov dword [esp], eax
lea eax, [0x674380]
mov dword [esp + 4], eax
call fcn.00435790
nop
lea eax, [esp + 0xcc]
mov dword [esp], eax
lea eax, [0x61c51f]
mov dword [esp + 4], eax
mov dword [esp + 8], 6
lea eax, [0x62b660]
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.004cb520
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, [0x5f7a40]
mov dword [esp], eax
lea ecx, [esp + 0x150]
mov dword [esp + 4], ecx
call fcn.004094a0
mov eax, dword [esp + 8]
lea ecx, [0x5f7a40]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00435790
mov dword [esp], edx
mov dword [esp + 4], ebp
lea eax, [0x5f0700]
mov dword [esp + 8], eax
call fcn.00409340
mov eax, 0x12
call fcn.00463940
nop
call fcn.00462450
jmp fcn.0058a340