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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x90]
cmp eax, dword [ecx + 8]
jbe 0x5f16d9
sub esp, 0x110
lea eax, [0x686de0]
mov dword [esp], eax
mov ecx, dword [esp + 0x114]
mov dword [esp + 4], ecx
lea edx, [0x69246f]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xa
call fcn.0040f8e0
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
test eax, eax
je 0x5f0a52
mov dword [esp + 0x54], eax
lea ecx, [0x66ade0]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], eax
call fcn.004483c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x94], eax
lea ecx, [0x686de0]
mov dword [esp], ecx
mov ecx, dword [esp + 0x114]
mov dword [esp + 4], ecx
lea ecx, [0x69246f]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0xa
call fcn.0040f8e0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov dword [esp + 0x90], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x60], eax
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0x54]
xor ebp, ebp
xor esi, esi
jmp 0x5f0a9b
lea eax, [0x894bf0]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
add esp, 0x110
ret
mov edi, dword [esp + 0x5c]
lea ebp, [edi + 1]
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x90]
mov esi, ecx
mov ebx, eax
mov eax, edi
mov ecx, dword [esp + 0x90]
cmp ebp, eax
jge 0x5f0c3d
lea edi, [ecx + ebp*8]
mov ecx, dword [edi]
mov dword [esp + 0x7c], ecx
mov edi, dword [edi + 4]
mov dword [esp + 0x48], edi
nop
jmp 0x5f0c70
mov eax, dword [esp + 0x60]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x54], ebx
mov dword [esp + 0x50], esi
mov dword [esp + 0x80], edx
jmp 0x5f0c99
nop
mov dword [esp], ecx
mov dword [esp + 4], edi
lea eax, [0x6909b3]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xffffffff
call fcn.00473af0
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
cmp ecx, 1
jne 0x5f0b2c
mov edx, dword [edi + 4]
test edx, edx
jne 0x5f0b2c
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x80]
jmp 0x5f0a7c
test ecx, ecx
jbe 0x5f16d1
mov edx, dword [edi]
mov ebx, dword [edi + 4]
jmp 0x5f0cce
mov dword [esp + 0x34], ecx
mov dword [esp + 0x6c], edi
mov dword [edi + 4], ebx
mov ebp, dword [0x894e10]
test ebp, ebp
jne 0x5f0b57
mov dword [edi], edx
jmp 0x5f0b5e
mov eax, edx
call fcn.0045f830
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x6909b5]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call fcn.00475da0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
test cl, cl
je 0x5f0c29
mov dword [esp + 0x78], eax
mov dword [esp + 0x44], edx
test edx, edx
jne 0x5f0ba9
xor ecx, ecx
jmp 0x5f0be2
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x70], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
lea ecx, [0x6ac8c8]
mov dword [esp + 8], ecx
call fcn.00474a70
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x3c]
mov ecx, eax
mov eax, dword [esp + 0x78]
test cl, cl
je 0x5f0c15
cmp ebp, 1
jle 0x5f0c0e
cmp byte [ebx], 0x22
jne 0x5f0c0e
lea esi, [ebp + ebx - 1]
cmp byte [esi], 0x22
jne 0x5f0c0e
add ebp, 0xfffffffe
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
add ebx, ebp
mov ebp, esi
xor ecx, ecx
jmp 0x5f0d23
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x80]
jmp 0x5f0a7c
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x80]
jmp 0x5f0a7c
mov dword [esp + 0x118], edx
mov dword [esp + 0x11c], esi
mov dword [esp + 0x120], ebx
add esp, 0x110
ret
dec edi
mov eax, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 1
add ecx, edi
mov edi, eax
mov eax, dword [esp + 0x60]
test edi, edi
je 0x5f0abd
movzx eax, byte [ecx]
cmp al, 0x20
je 0x5f0c59
cmp al, 9
je 0x5f0c59
cmp al, 0xa
je 0x5f0c59
cmp al, 0xd
je 0x5f0c59
jmp 0x5f0ab9
dec edi
mov eax, dword [esp + 0x60]
test edi, edi
je 0x5f0ad5
movzx eax, byte [ecx + edi - 1]
cmp al, 0x20
je 0x5f0c94
cmp al, 9
je 0x5f0c94
cmp al, 0xa
je 0x5f0c94
cmp al, 0xd
je 0x5f0c94
jmp 0x5f0ad5
dec ebx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
add edx, ebx
mov ebx, ebp
test ebx, ebx
je 0x5f0cf4
movzx ebp, byte [edx]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x5f0cbf
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x5f0cbf
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x5f0cbf
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x5f0cbf
jmp 0x5f0cf4
dec ebx
test ebx, ebx
je 0x5f0b3e
movzx ebp, byte [edx + ebx - 1]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x5f0cf3
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x5f0cf3
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x5f0cf3
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x5f0cf3
jmp 0x5f0b3e
inc ecx
cmp ebp, ecx
jle 0x5f0d68
jbe 0x5f16c8
movzx esi, byte [ebx + ecx]
lea edi, [esi - 0x20]
xchg edi, eax
cmp al, 0x5f
xchg edi, eax
jae 0x5f0d5c
xchg esi, eax
cmp al, 0x22
xchg esi, eax
je 0x5f0d58
xchg esi, eax
cmp al, 0x3b
xchg esi, eax
je 0x5f0d54
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x5f0d22
cmp ebp, ecx
jmp 0x5f0d5e
cmp ebp, ecx
jmp 0x5f0d5e
cmp ebp, ecx
jmp 0x5f0d5e
cmp ebp, ecx
mov ebx, 0
mov ebp, 0
jle 0x5f0d7e
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x80]
jmp 0x5f0a7c
mov dword [esp + 0x58], ebp
mov dword [esp + 0x8c], ebx
lea eax, [0x683c80]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5f0db4
mov edx, dword [esp + 0x78]
mov dword [eax], edx
jmp 0x5f0dc1
mov edi, eax
mov eax, dword [esp + 0x78]
call fcn.0045f830
mov eax, edi
mov edx, dword [esp + 0x58]
mov dword [eax + 0xc], edx
mov edx, dword [0x894e10]
test edx, edx
jne 0x5f0dde
mov edx, dword [esp + 0x8c]
mov dword [eax + 8], edx
jmp 0x5f0df1
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x8c]
call fcn.0045f830
mov eax, ecx
mov edx, dword [esp + 0x48]
mov dword [eax + 0x4c], edx
mov edx, dword [0x894e10]
test edx, edx
jne 0x5f0e0b
mov edx, dword [esp + 0x7c]
mov dword [eax + 0x48], edx
jmp 0x5f0e1b
lea edi, [eax + 0x48]
mov ecx, eax
mov eax, dword [esp + 0x7c]
call fcn.0045f830
mov eax, ecx
mov dword [esp + 0x84], eax
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x34]
mov ebx, 1
jmp 0x5f0e36
inc ebx
mov edx, dword [esp + 0x6c]
cmp ebx, ecx
jge 0x5f0f04
jae 0x5f16c1
lea edi, [edx + ebx*8]
mov ebp, dword [edi]
mov esi, dword [edi + 4]
jmp 0x5f0f98
mov edx, dword [esp + 0x6c]
jmp 0x5f0fbe
mov edx, dword [esp + 0x6c]
lea edx, [edx + ebx*8 + 4]
mov dword [edx], esi
mov edx, dword [0x894e10]
test edx, edx
jne 0x5f0e74
mov dword [edi], ebp
test esi, esi
jmp 0x5f0e81
mov edx, eax
mov eax, ebp
call fcn.0045f830
test esi, esi
mov eax, edx
je 0x5f0e31
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x88], edi
mov dword [esp], ebp
mov dword [esp + 4], esi
lea eax, [0x6909b5]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call fcn.00475da0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x40], edx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x74], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.005ce2d0
movzx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
test al, al
je 0x5f0ef0
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x40]
xor eax, eax
jmp 0x5f0fe7
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x4c]
jmp 0x5f0e31
mov ecx, dword [esp + 0x50]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x54]
cmp ebx, edx
jb 0x5f0f1c
mov ebp, dword [esp + 0x80]
jmp 0x5f0f5d
lea eax, [0x66ade0]
mov dword [esp], eax
mov ebp, dword [esp + 0x80]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00448480
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x50]
mov ebp, edx
mov edx, eax
mov eax, dword [esp + 0x84]
mov esi, dword [0x894e10]
lea edi, [ebp + ecx*4]
test esi, esi
jne 0x5f0f71
mov dword [ebp + ecx*4], eax
jmp 0x5f0f76
call fcn.0045f830
mov eax, ebx
mov ecx, edx
mov edx, ebp
jmp 0x5f0a7c
dec esi
mov edx, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 1
add ebp, esi
mov esi, edx
mov edx, dword [esp + 0x6c]
test esi, esi
je 0x5f0fbe
movzx edx, byte [ebp]
cmp dl, 0x20
je 0x5f0f81
cmp dl, 9
je 0x5f0f81
cmp dl, 0xa
je 0x5f0f81
cmp dl, 0xd
je 0x5f0f81
jmp 0x5f0e51
dec esi
mov edx, dword [esp + 0x6c]
test esi, esi
je 0x5f0e5e
movzx edx, byte [ebp + esi - 1]
cmp dl, 0x20
je 0x5f0fb9
cmp dl, 9
je 0x5f0fb9
cmp dl, 0xa
je 0x5f0fb9
cmp dl, 0xd
je 0x5f0fb9
jmp 0x5f0e5a
inc eax
mov edx, edi
cmp eax, ebp
jge 0x5f102e
jae 0x5f16ba
movzx esi, byte [eax + ebx]
mov edi, edx
lea edx, [esi - 0x20]
cmp dl, 0x5f
jae 0x5f1020
xchg esi, eax
cmp al, 0x22
xchg esi, eax
je 0x5f101c
xchg esi, eax
cmp al, 0x3b
xchg esi, eax
je 0x5f1018
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x5f0fe4
cmp eax, ebp
jmp 0x5f1022
cmp eax, ebp
jmp 0x5f1022
cmp eax, ebp
jmp 0x5f1022
cmp eax, ebp
mov ebx, 0
mov ebp, 0
jmp 0x5f1030
mov edi, edx
jge 0x5f10fd
mov eax, dword [esp + 0x84]
mov edx, dword [eax + 0x54]
mov ebx, dword [eax + 0x50]
mov ebp, dword [eax + 0x58]
lea esi, [edx + 1]
mov ecx, edx
mov edx, dword [esp + 0x88]
mov edi, ebx
mov ebx, dword [edx]
mov edx, dword [edx + 4]
cmp ebp, esi
jae 0x5f10c7
mov dword [esp + 0x58], edx
mov dword [esp + 0x8c], ebx
lea eax, [0x65f240]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.00448480
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x84]
mov dword [ebx + 0x58], edx
mov edx, dword [0x894e10]
test edx, edx
jne 0x5f10ab
mov dword [ebx + 0x50], eax
jmp 0x5f10b3
lea edi, [ebx + 0x50]
call fcn.0045f830
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x8c]
mov edi, eax
mov eax, dword [esp + 0x84]
lea ebp, [ecx + 1]
mov dword [eax + 0x54], ebp
lea ebp, [edi + ecx*8 + 4]
mov dword [ebp], edx
mov edx, dword [0x894e10]
lea edi, [edi + ecx*8]
test edx, edx
jne 0x5f10e5
mov dword [edi], ebx
jmp 0x5f10f0
mov ecx, eax
mov eax, ebx
call fcn.0045f830
mov eax, ecx
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x4c]
jmp 0x5f0e31
cmp ecx, 6
jg 0x5f11c8
cmp ecx, 4
jne 0x5f114b
cmp dword [edi], 0x68746170
jne 0x5f15ec
mov eax, dword [esp + 0x84]
mov dword [eax + 0x14], ebp
mov edx, dword [0x894e10]
test edx, edx
jne 0x5f1130
mov dword [eax + 0x10], ebx
jmp 0x5f113e
lea edi, [eax + 0x10]
mov ecx, eax
mov eax, ebx
call fcn.0045f830
mov eax, ecx
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x4c]
jmp 0x5f0e31
cmp ecx, 6
jne 0x5f15ec
cmp dword [edi], 0x616d6f64
jne 0x5f1198
cmp word [edi + 4], 0x6e69
jne 0x5f1198
mov eax, dword [esp + 0x84]
mov dword [eax + 0x1c], ebp
mov edx, dword [0x894e10]
test edx, edx
jne 0x5f117d
mov dword [eax + 0x18], ebx
jmp 0x5f118b
lea edi, [eax + 0x18]
mov ecx, eax
mov eax, ebx
call fcn.0045f830
mov eax, ecx
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x4c]
jmp 0x5f0e31
cmp dword [edi], 0x75636573
jne 0x5f15ec
cmp word [edi + 4], 0x6572
jne 0x5f15ec
mov eax, dword [esp + 0x84]
mov byte [eax + 0x40], 1
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x4c]
jmp 0x5f0e31
cmp ecx, 7
jne 0x5f14ea
mov dword [esp + 0x74], ebx
mov dword [esp + 0x38], ebp
cmp dword [edi], 0x69707865
jne 0x5f146d
cmp word [edi + 4], 0x6572
jne 0x5f146d
cmp byte [edi + 6], 0x73
jne 0x5f146d
mov ecx, dword [esp + 0x84]
mov dword [ecx + 0x38], ebp
mov edx, dword [0x894e10]
test edx, edx
jne 0x5f1214
mov dword [ecx + 0x34], ebx
jmp 0x5f121e
lea edi, [ecx + 0x34]
mov eax, ebx
call fcn.0045f830
lea edi, [esp + 0xfc]
xor eax, eax
call fcn.0045facb
lea edi, [esp + 0xd4]
call fcn.0045facb
mov ecx, dword [0x86742c]
mov edx, dword [0x867428]
lea esi, [0x69b64b]
mov dword [esp], esi
mov dword [esp + 4], 0x1d
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004ab6a0
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x68], ecx
lea edi, [esp + 0xd4]
lea esi, [esp + 0x18]
call fcn.0045ffae
lea edi, [esp + 0xfc]
lea esi, [esp + 0xd4]
call fcn.0045ffae
lea edi, [esp + 0xc0]
lea esi, [esp + 0xfc]
call fcn.0045ffae
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x5f1385
lea edi, [esp + 0xe8]
xor eax, eax
call fcn.0045facb
lea edi, [esp + 0xd4]
call fcn.0045facb
mov ecx, dword [0x86742c]
mov edx, dword [0x867428]
lea ebx, [0x69b668]
mov dword [esp], ebx
mov dword [esp + 4], 0x1d
mov ebp, dword [esp + 0x74]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x38]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004ab6a0
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x64], ecx
lea edi, [esp + 0xd4]
lea esi, [esp + 0x18]
call fcn.0045ffae
lea edi, [esp + 0xe8]
lea esi, [esp + 0xd4]
call fcn.0045ffae
lea edi, [esp + 0xc0]
lea esi, [esp + 0xe8]
call fcn.0045ffae
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x5f1385
mov ecx, dword [esp + 0x84]
lea edi, [ecx + 0x20]
mov edx, dword [0x894e10]
test edx, edx
jne 0x5f136e
xor eax, eax
call fcn.0045facb
jmp 0x5f15ec
lea eax, [0x68e2e0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00410bd0
jmp 0x5f15ec
lea edi, [esp + 0xac]
lea esi, [esp + 0xc0]
call fcn.0045ffae
nop
nop
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xb0]
test edx, 0x80000000
je 0x5f13fc
shl edx, 1
mov ebx, ecx
shr ecx, 0x1f
or ecx, edx
shl ebx, 1
mov edx, ecx
shl ecx, 1
shr ebx, 0x1f
or ecx, ebx
mov ebx, ecx
add ecx, 0xd7b17f80
mov dword [esp + 0xb4], ecx
shr edx, 0x1f
add ebx, 0xd7b17f80
adc edx, 0xd
mov dword [esp + 0xb8], edx
and dword [esp + 0xac], 0x3fffffff
mov dword [esp + 0xb0], 0
mov dword [esp + 0xbc], 0
lea edi, [esp + 0x98]
lea esi, [esp + 0xac]
call fcn.0045ffae
mov eax, dword [esp + 0x84]
lea edi, [eax + 0x20]
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5f143c
lea esi, [esp + 0x98]
call fcn.0045ffae
jmp 0x5f1460
lea eax, [0x68e2e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x98]
mov dword [esp + 8], eax
call fcn.004109f0
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x4c]
jmp 0x5f0e31
cmp dword [edi], 0x2d78616d
jne 0x5f15ec
cmp word [edi + 4], 0x6761
jne 0x5f15ec
cmp byte [edi + 6], 0x65
jne 0x5f15ec
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.0047bc00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test ecx, ecx
jne 0x5f15ec
test eax, eax
je 0x5f14cc
mov ecx, dword [esp + 0x38]
test ecx, ecx
jbe 0x5f16b3
mov edx, dword [esp + 0x74]
cmp byte [edx], 0x30
je 0x5f15ec
test eax, eax
jg 0x5f14d1
mov eax, 0xffffffff
mov edx, dword [esp + 0x84]
mov dword [edx + 0x3c], eax
mov eax, edx
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x4c]
jmp 0x5f0e31
cmp ecx, 8
jne 0x5f15ec
cmp dword [edi], 0x70747468
jne 0x5f151c
cmp dword [edi + 4], 0x796c6e6f
jne 0x5f151c
mov eax, dword [esp + 0x84]
mov byte [eax + 0x41], 1
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x4c]
jmp 0x5f0e31
cmp dword [edi], 0x656d6173
jne 0x5f15ec
cmp dword [edi + 4], 0x65746973
jne 0x5f15ec
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.005ce2d0
movzx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
test al, al
je 0x5f15d1
cmp ecx, 3
jne 0x5f1574
cmp word [edx], 0x616c
jne 0x5f15b6
cmp byte [edx + 2], 0x78
jne 0x5f15b6
mov eax, dword [esp + 0x84]
mov dword [eax + 0x44], 2
jmp 0x5f15c4
cmp ecx, 4
jne 0x5f1591
cmp dword [edx], 0x656e6f6e
jne 0x5f15b6
mov eax, dword [esp + 0x84]
mov dword [eax + 0x44], 4
jmp 0x5f15c4
cmp ecx, 6
jne 0x5f15b6
cmp dword [edx], 0x69727473
jne 0x5f15b6
cmp word [edx + 4], 0x7463
jne 0x5f15b6
mov eax, dword [esp + 0x84]
mov dword [eax + 0x44], 3
jmp 0x5f15c4
mov eax, dword [esp + 0x84]
mov dword [eax + 0x44], 1
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x4c]
jmp 0x5f0e31
mov eax, dword [esp + 0x84]
mov dword [eax + 0x44], 1
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x4c]
jmp 0x5f0e31
mov eax, dword [esp + 0x84]
mov edx, dword [eax + 0x54]
mov ebx, dword [eax + 0x50]
mov ebp, dword [eax + 0x58]
lea esi, [edx + 1]
mov ecx, edx
mov edx, dword [esp + 0x88]
mov edi, ebx
mov ebx, dword [edx]
mov edx, dword [edx + 4]
cmp ebp, esi
jae 0x5f167d
mov dword [esp + 0x58], edx
mov dword [esp + 0x8c], ebx
lea eax, [0x65f240]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.00448480
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x84]
mov dword [ebx + 0x58], edx
mov edx, dword [0x894e10]
test edx, edx
jne 0x5f1661
mov dword [ebx + 0x50], eax
jmp 0x5f1669
lea edi, [ebx + 0x50]
call fcn.0045f830
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x8c]
mov edi, eax
mov eax, dword [esp + 0x84]
lea ebp, [ecx + 1]
mov dword [eax + 0x54], ebp
lea ebp, [edi + ecx*8 + 4]
mov dword [ebp], edx
mov edx, dword [0x894e10]
lea edi, [edi + ecx*8]
test edx, edx
jne 0x5f169b
mov dword [edi], ebx
jmp 0x5f16a6
mov ecx, eax
mov eax, ebx
call fcn.0045f830
mov eax, ecx
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x4c]
jmp 0x5f0e31
xor eax, eax
call fcn.0045f8b0
mov ecx, ebp
call fcn.0045f8b0
mov eax, ebx
call fcn.0045f8b0
mov eax, ecx
mov ecx, ebp
call fcn.0045f8b0
xor eax, eax
call fcn.0045f8b0
nop
call fcn.0045e420
jmp fcn.005f0980