Function at 0x5fc060
Capabilities:
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x28]
cmp eax, dword [ecx + 8]
jbe 0x5fd2e7
sub esp, 0xa8
mov edx, dword [esp + 0xac]
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov ebx, dword [esp + 0xb0]
mov ebp, dword [ebx + 8]
mov dword [esp + 0x54], ebp
xor eax, eax
jmp 0x5fc0c4
inc eax
mov edx, ecx
cmp eax, ebp
jge 0x5fd1de
mov esi, dword [ebx + 4]
mov ecx, dword [ebx + 8]
cmp eax, ecx
jae 0x5fd2e1
mov dword [esp + 0x88], esi
imul edi, eax, 0x2c
mov ecx, edx
lea edx, [esi + edi]
mov esi, dword [edi + esi + 0x1c]
test esi, 2
jne 0x5fc0c1
mov dword [esp + 0x3c], eax
mov dword [esp + 0x70], edx
mov dword [esp + 0x50], edi
mov dword [esp], edx
mov eax, dword [esp + 0xb4]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 8], ecx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0xc], ebx
mov byte [esp + 0x10], 0
call fcn.005ffa50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
test ecx, ecx
jne 0x5fc15a
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x54]
jmp 0x5fc0c1
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], eax
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x50]
mov esi, dword [ebp + ebx + 0x1c]
and esi, 0x7f
cmp esi, 8
jle 0x5fc657
cmp esi, 0x10
jne 0x5fc2b7
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.005fbf40
nop
mov eax, dword [esp + 0xc]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x4c], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.00489290
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
test eax, eax
je 0x5fc29a
mov eax, dword [eax + 8]
cmp eax, 0x778cdb8
jne 0x5fc241
lea eax, [0x696a40]
cmp ecx, eax
jne 0x5fc239
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
mov edx, dword [esp + 0xac]
mov ebx, dword [edx]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.005f7760
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x54]
jmp 0x5fc0c1
lea eax, [0x68e840]
jmp 0x5fc2a0
cmp eax, 0x81044065
jne 0x5fc292
lea eax, [0x68e840]
cmp ecx, eax
jne 0x5fc2a0
mov eax, dword [edx + 4]
mov ecx, dword [edx + 8]
mov edx, dword [edx]
mov ebx, dword [esp + 0xac]
mov ebp, dword [ebx]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.005f74c0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x54]
jmp 0x5fc0c1
lea eax, [0x68e840]
jmp 0x5fc2a0
lea eax, [0x68e840]
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
jmp 0x5fcf3e
cmp esi, 0x20
je 0x5fc2ca
cmp esi, 0x41
je 0x5fc660
jmp 0x5fcf3e
mov eax, dword [ebp + ebx + 0x20]
mov ecx, dword [ebp + ebx + 0x24]
mov edx, dword [ebp + ebx + 0x28]
lea ebx, [esp + 0x98]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.005fd400
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x5fd0a3
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
call fcn.005fbf40
mov eax, dword [esp + 0xc]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x40], edx
nop
nop
mov ebx, edx
and edx, 0x1f
mov dword [esp + 0x4c], edx
cmp edx, 0x18
jne 0x5fc35c
mov ebp, 1
jmp 0x5fc3c9
cmp edx, 0x17
je 0x5fc365
xor ebp, ebp
jmp 0x5fc3c9
test ebx, 0x200
jne 0x5fc375
lea ebp, [0x752f6c]
jmp 0x5fc391
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.0048b1d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebp, eax
mov eax, ecx
mov ecx, dword [ebp + 0x28]
mov dword [esp], eax
call ecx
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
sete al
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x40]
mov ebp, eax
mov eax, dword [esp + 0x80]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5fcfe3
cmp edx, 0x17
jne 0x5fc3dd
mov ebp, dword [ecx + 4]
jmp 0x5fc407
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00489480
mov ebp, dword [esp + 0xc]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x40]
test ebp, ebp
jne 0x5fc426
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x54]
jmp 0x5fc0c1
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.005fd300
mov eax, dword [esp + 0xac]
mov ecx, dword [eax]
mov dword [esp], ecx
lea ecx, [0x6ce116]
mov dword [esp + 4], ecx
mov dword [esp + 8], 4
call fcn.005f7760
mov eax, dword [esp + 0x4c]
cmp eax, 0x17
jne 0x5fc55c
mov eax, dword [esp + 0x80]
cmp dword [0x8e627c], eax
jne 0x5fc48d
mov eax, dword [esp + 0x84]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
jmp 0x5fc4b4
mov dword [esp], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
call fcn.00487e30
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x38], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x60], ecx
mov ebx, dword [str.___r_n_]
mov ebp, dword [0x8e0eb4]
mov esi, dword [0x8e0eb8]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], esi
call fcn.004cf090
mov ecx, dword [esp + 0x30]
lea eax, [ecx - 1]
mov edx, dword [esp + 0x18]
cmp ecx, eax
jbe 0x5fd2dc
mov eax, dword [esp + 0x60]
lea ebx, [eax + ecx - 1]
movzx ebx, byte [ebx]
cmp bl, 0x2d
cmp edx, 0xffffffff
je 0x5fc519
cmp bl, 0x2d
jmp 0x5fc54e
mov byte [esp + 0x2f], bl
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0xac]
mov ebx, dword [edx]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], eax
call fcn.005f74c0
movzx eax, byte [esp + 0x2f]
cmp al, 0x2d
mov edx, dword [esp + 0x48]
sete al
cmp edx, 0xffffffff
setne cl
jmp 0x5fc5f7
cmp eax, 0x18
jne 0x5fd2c4
nop
mov eax, dword [esp + 0x84]
mov ecx, dword [eax + 4]
mov dword [esp + 0x34], ecx
mov eax, dword [eax]
mov dword [esp + 0x64], eax
mov dword [esp], eax
mov dword [esp + 4], ecx
lea edx, [0x6cdaf2]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
call fcn.004cd750
mov ecx, dword [esp + 0x34]
lea eax, [ecx - 1]
mov edx, dword [esp + 0x10]
cmp ecx, eax
jbe 0x5fd2bf
mov eax, dword [esp + 0x64]
lea ebx, [eax + ecx - 1]
movzx ebx, byte [ebx]
cmp bl, 0x2d
test edx, edx
jl 0x5fc5c2
cmp bl, 0x2d
jmp 0x5fc5ef
mov dword [esp + 0x50], edx
mov byte [esp + 0x2f], bl
mov edx, dword [esp + 0xac]
mov ebx, dword [edx]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005f7760
movzx eax, byte [esp + 0x2f]
cmp al, 0x2d
mov edx, dword [esp + 0x50]
sete al
test edx, edx
setge cl
test cl, cl
jne 0x5fcf98
test al, al
je 0x5fc619
mov eax, dword [esp + 0xac]
mov ecx, dword [eax]
mov dword [esp], ecx
mov byte [esp + 4], 0x20
call fcn.005f76b0
mov eax, dword [esp + 0xac]
mov ecx, dword [eax]
mov dword [esp], ecx
lea ecx, [0x6cdd52]
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
call fcn.005f7760
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x54]
jmp 0x5fc0c1
cmp esi, 1
jne 0x5fc7be
mov eax, dword [ebp + ebx + 0x20]
mov ecx, dword [ebp + ebx + 0x24]
mov edx, dword [ebp + ebx + 0x28]
lea esi, [esp + 0x98]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.005fd400
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x5fd0cd
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + eax + 0x24]
mov ebx, dword [ecx + eax + 0x20]
mov eax, dword [ecx + eax + 0x28]
mov ecx, dword [esp + 0xa0]
cmp edx, ecx
jle 0x5fc7a3
nop
mov ebp, dword [esp + 0x4c]
mov esi, ebp
and ebp, 0x1f
cmp ebp, 0x16
je 0x5fc6d5
cmp ebp, 0x14
jne 0x5fc752
mov dword [esp + 0x44], ebp
cmp ebp, 0x14
ja 0x5fc6f0
lea edi, [ebp - 0x12]
cmp edi, 1
jbe 0x5fc71b
cmp ebp, 0x14
je 0x5fc6fa
jmp 0x5fd285
cmp ebp, 0x16
jbe 0x5fc71b
cmp ebp, 0x17
jne 0x5fc712
mov ebp, dword [esp + 0x84]
mov edi, dword [ebp]
test edi, edi
xchg edi, ebx
setne bl
xchg edi, ebx
xor edi, 1
jmp 0x5fc74c
cmp ebp, 0x1a
jne 0x5fd285
test esi, 0x200
jne 0x5fc752
test esi, 0x80
je 0x5fc737
mov ebp, dword [esp + 0x84]
mov edi, dword [ebp]
jmp 0x5fc740
mov ebp, dword [esp + 0x84]
mov edi, ebp
test edi, edi
xchg edi, ebx
setne bl
xchg edi, ebx
xor edi, 1
xchg edi, eax
test al, al
xchg edi, eax
jne 0x5fc7ae
lea ebp, [esp + 0x98]
mov dword [esp], ebp
sub eax, ecx
mov ebp, eax
neg eax
mov esi, ecx
shl ecx, 3
sar eax, 0x1f
and ecx, eax
lea eax, [ebx + ecx]
mov dword [esp + 4], eax
sub edx, esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
call fcn.005fd540
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x5fd0b8
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0x4c]
jmp 0x5fc7ae
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0x4c]
mov ecx, esi
mov eax, dword [esp + 0x80]
mov edx, ebp
jmp 0x5fcf3e
cmp esi, 4
jne 0x5fc7c8
cmp esi, 4
jmp 0x5fc7d4
cmp esi, 8
jne 0x5fcf3e
cmp esi, 4
jne 0x5fc7de
lea esi, [0x6f1688]
jmp 0x5fc7e4
lea esi, [0x6f1684]
mov dword [esp + 0x74], esi
mov eax, dword [ebp + ebx + 0x20]
mov ecx, dword [ebp + ebx + 0x24]
mov edx, dword [ebp + ebx + 0x28]
lea ebx, [esp + 0x98]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.005fd400
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x5fd1b4
mov eax, dword [esp + 0x4c]
test eax, 0x60
jne 0x5fc897
test eax, 0x200
jne 0x5fc844
lea ecx, [0x752f6c]
mov edx, dword [esp + 0x80]
jmp 0x5fc86e
mov ecx, dword [esp + 0x80]
mov dword [esp], ecx
mov edx, dword [esp + 0x84]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0048b1d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov ecx, eax
mov eax, dword [0x8e67b8]
mov ebx, dword [0x8e67bc]
mov ecx, dword [ecx + 0x40]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call ecx
movzx eax, byte [esp + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x4c]
jmp 0x5fc899
xor ecx, ecx
test cl, cl
jne 0x5fce74
test eax, 0x100
je 0x5fc959
mov ecx, dword [esp + 0x80]
mov dword [esp], ecx
mov edx, dword [esp + 0x84]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00487d20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test ecx, ecx
je 0x5fd24b
test ecx, 0x60
jne 0x5fc94f
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], eax
mov dword [esp + 0x44], ecx
test ecx, 0x200
jne 0x5fc902
lea ebx, [0x752f6c]
jmp 0x5fc91e
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0048b1d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, eax
mov eax, ecx
mov ecx, dword [0x8e67b8]
mov edx, dword [0x8e67bc]
mov ebx, dword [ebx + 0x40]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call ebx
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x7c]
mov ebx, eax
mov eax, dword [esp + 0x78]
jmp 0x5fc951
xor ebx, ebx
test bl, bl
jne 0x5fcdb8
lea eax, [0x692600]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x80]
mov dword [esp], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 8], ecx
call fcn.005fbf40
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
nop
mov ebx, edx
and edx, 0x1f
cmp edx, 0xc
ja 0x5fcbbe
cmp edx, 1
je 0x5fcb48
lea ebx, [edx - 2]
cmp ebx, 4
jbe 0x5fca87
cmp edx, 7
jb 0x5fcd9d
cmp edx, 9
ja 0x5fc9f0
cmp edx, 7
jne 0x5fc9dd
mov eax, dword [ecx]
xor ecx, ecx
jmp 0x5fca0b
cmp edx, 8
jne 0x5fc9e9
movzx eax, byte [ecx]
xor ecx, ecx
jmp 0x5fca0b
movzx eax, word [ecx]
xor ecx, ecx
jmp 0x5fca0b
cmp edx, 0xa
jne 0x5fc9fb
mov eax, dword [ecx]
xor ecx, ecx
jmp 0x5fca0b
cmp edx, 0xb
jne 0x5fca07
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x5fca0b
mov eax, dword [ecx]
xor ecx, ecx
mov edx, dword [esp + 0x8c]
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], 0x40
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], 0xa
call fcn.00478d50
mov edx, dword [esp + 0x74]
mov eax, dword [edx]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
lea esi, [0x751104]
mov dword [esp], esi
mov edi, dword [esp + 0xac]
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test eax, eax
je 0x5fcd9d
jmp 0x5fd0e2
cmp edx, 3
ja 0x5fcaa4
cmp edx, 2
jne 0x5fca9a
mov eax, dword [ecx]
mov ecx, eax
sar eax, 0x1f
jmp 0x5fcacc
movsx eax, byte [ecx]
mov ecx, eax
sar eax, 0x1f
jmp 0x5fcacc
cmp edx, 4
jne 0x5fcab3
movsx eax, word [ecx]
mov ecx, eax
sar eax, 0x1f
jmp 0x5fcacc
cmp edx, 5
jne 0x5fcac1
mov eax, dword [ecx]
mov ecx, eax
sar eax, 0x1f
jmp 0x5fcacc
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, eax
mov eax, ecx
mov ecx, edx
mov edx, dword [esp + 0x8c]
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], 0x40
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], 0xa
call fcn.00478b80
mov edx, dword [esp + 0x74]
mov eax, dword [edx]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
lea esi, [0x751104]
mov dword [esp], esi
mov edi, dword [esp + 0xac]
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test eax, eax
je 0x5fcd9d
jmp 0x5fd0f7
movzx eax, byte [ecx]
test al, al
je 0x5fcb63
mov eax, dword [esp + 0x8c]
mov dword [eax], 0x65757274
mov ecx, 4
jmp 0x5fcb79
mov eax, dword [esp + 0x8c]
mov dword [eax], 0x736c6166
mov byte [eax + 4], 0x65
mov ecx, 5
mov edx, dword [esp + 0x74]
mov ebx, dword [edx]
lea ebp, [0x751104]
mov dword [esp], ebp
mov esi, dword [esp + 0xac]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0x40
call ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x5fcd9d
jmp 0x5fd10c
cmp edx, 0xe
jbe 0x5fccc6
cmp edx, 0x17
je 0x5fcc3b
cmp edx, 0x18
jne 0x5fcd9d
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0044f3f0
mov edx, dword [esp + 0x74]
mov eax, dword [edx]
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
lea esi, [0x751104]
mov dword [esp], esi
mov edi, dword [esp + 0xac]
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test eax, eax
je 0x5fcd9d
jmp 0x5fd121
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov byte [esp + 0xc], 1
call fcn.00489290
mov eax, dword [esp + 0x14]
lea ecx, [0x68e840]
cmp dword [esp + 0x10], ecx
jne 0x5fcc6a
mov ebx, dword [eax]
mov ebp, dword [eax + 4]
mov esi, dword [eax + 8]
jmp 0x5fcc79
mov esi, 0
mov ebp, 0
mov ebx, 0
jne 0x5fcd9d
mov edx, dword [esp + 0x74]
mov eax, dword [edx]
lea ecx, [0x751104]
mov dword [esp], ecx
mov edi, dword [esp + 0xac]
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
jne 0x5fd136
lea ecx, [0x68e840]
jmp 0x5fcd9d
cmp edx, 0xd
jne 0x5fccd5
movss xmm0, dword [ecx]
cvtss2sd xmm0, xmm0
jmp 0x5fccd9
movsd xmm0, qword [ecx]
movsd qword [esp + 0x58], xmm0
test ebx, 0x200
jne 0x5fccef
lea ecx, [0x752f6c]
jmp 0x5fcd0d
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.0048b1d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov ecx, eax
mov eax, edx
mov ecx, dword [ecx + 0x18]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x8c]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0x40
movsd xmm0, qword [esp + 0x58]
movsd qword [esp + 0xc], xmm0
mov byte [esp + 0x14], 0x67
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x1c], eax
call fcn.00473d60
mov edx, dword [esp + 0x74]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
lea esi, [0x751104]
mov dword [esp], esi
mov edi, dword [esp + 0xac]
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test eax, eax
jne 0x5fd14b
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x54]
jmp 0x5fc0c1
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 1
call fcn.00489290
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x68], ecx
lea edx, [0x69e1e0]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00409470
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x68]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
test ebx, ebx
jne 0x5fd175
mov ebx, dword [esp + 0x74]
mov ebp, dword [ebx]
lea esi, [0x751104]
mov dword [esp], esi
mov edi, dword [esp + 0xac]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov edx, ebx
call ebp
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
jne 0x5fd160
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x54]
jmp 0x5fc0c1
mov ecx, dword [esp + 0x80]
mov dword [esp], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.00489290
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x6c], ecx
lea edx, [0x69e1e0]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00409470
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x6c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
test ebx, ebx
jne 0x5fd19f
mov ebx, dword [esp + 0x74]
mov ebp, dword [ebx]
lea esi, [0x751104]
mov dword [esp], esi
mov edi, dword [esp + 0xac]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov edx, ebx
call ebp
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
jne 0x5fd18a
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x54]
jmp 0x5fc0c1
mov ebx, dword [esp + 0xac]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x70]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
call fcn.005f8910
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x5fd1c9
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x54]
jmp 0x5fc0c1
lea eax, [0x6dbf2c]
mov dword [esp], eax
mov dword [esp + 4], 0x23
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.004beaf0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ecx
add esp, 0xa8
ret
mov eax, dword [esp + 0xbc]
test eax, eax
je 0x5fd004
test eax, 0x200
jne 0x5fd004
lea eax, [0x752f6c]
mov ecx, dword [esp + 0xb4]
jmp 0x5fd02a
mov ecx, dword [esp + 0xb4]
mov dword [esp], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0048b1d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
test eax, eax
je 0x5fd047
mov eax, dword [eax + 4]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
lea eax, [0x6dccd7]
mov dword [esp], eax
mov dword [esp + 4], 0x25
lea eax, [esp + 0x90]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004beaf0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ecx
add esp, 0xa8
ret
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
add esp, 0xa8
ret
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
add esp, 0xa8
ret
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
add esp, 0xa8
ret
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
add esp, 0xa8
ret
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
add esp, 0xa8
ret
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], ebx
add esp, 0xa8
ret
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
add esp, 0xa8
ret
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], ebx
add esp, 0xa8
ret
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
add esp, 0xa8
ret
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], ebx
add esp, 0xa8
ret
mov dword [esp + 0xc0], ebp
mov dword [esp + 0xc4], esi
add esp, 0xa8
ret
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], ebx
add esp, 0xa8
ret
mov dword [esp + 0xc0], ebp
mov dword [esp + 0xc4], esi
add esp, 0xa8
ret
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
add esp, 0xa8
ret
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
add esp, 0xa8
ret
lea eax, [esp + 0x98]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.005fd400
mov eax, dword [esp + 0xac]
mov eax, dword [eax]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.005f74c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ecx
add esp, 0xa8
ret
lea eax, [0x6a7c00]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1a
lea ecx, [0x6d7862]
mov dword [eax], ecx
mov dword [eax + 8], 0
lea ecx, [0x69cfa0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00436fc0
lea eax, [0x6a7c00]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x6d3bd4]
mov dword [eax], ecx
mov ecx, dword [esp + 0x44]
mov dword [eax + 8], ecx
lea ecx, [0x69cfa0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00436fc0
call fcn.00463150
lea eax, [0x696a40]
mov dword [esp], eax
lea eax, [0x7508f4]
mov dword [esp + 4], eax
call fcn.00436fc0
call fcn.00463150
call fcn.00463150
nop
call fcn.00461cc0
jmp fcn.005fc060