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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
mov eax, ecx
mov byte [esp + 3], 0
push ebx
xor ecx, ecx
mov dword [esp + 0x10], eax
push esi
mov ebx, dword [eax + 8]
push edi
mov edi, edx
mov dword [esp + 0x4c], ecx
xor edx, edx
mov dword [esp + 0x50], edi
mov ecx, dword [ebx + 0x6c]
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x54], ecx
cmp dword [ebx + 0x70], ecx
jg 0x5f5c3c
push edx
push edx
push edx
mov edx, 0x11
mov ecx, ebx
call fcn.005a7410
add esp, 0xc
mov dword [esp + 0x54], eax
jmp 0x5f5c5f
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0x11
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], edx
mov edx, dword [ebp + 8]
xor ecx, ecx
mov esi, dword [edi + 0x14]
xorps xmm0, xmm0
mov dword [esp + 0x10], ecx
movlpd qword [esp + 0x58], xmm0
mov eax, dword [edx + 0x10]
mov dword [esp + 0x3c], eax
mov eax, dword [edi + 0xc]
mov edi, dword [ebp + 0x14]
lea eax, [eax + eax*2]
mov edi, dword [edi + 0x48]
shl eax, 4
add eax, esi
mov dword [esp + 0x28], edi
mov dword [esp + 0x48], eax
cmp esi, eax
jae 0x5f5e64
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x20], eax
nop dword [eax]
mov ebx, dword [esp + 0x28]
mov edi, dword [esi]
mov eax, dword [ebx]
or eax, dword [ebx + 4]
jne 0x5f5d28
test byte [esi + 0xa], 2
jne 0x5f5d28
test byte [edi + 4], 1
jne 0x5f5d28
mov eax, 3
mov dword [esp + 0x68], fcn.005bd560
mov word [esp + 0x78], ax
lea ecx, [esp + 0x64]
mov eax, dword [edx + 0x2c]
mov edx, edi
mov dword [esp + 0x6c], 0x5bd440
mov dword [esp + 0x7c], eax
call fcn.005b8990
cmp word [esp + 0x78], 0
je 0x5f5d21
mov ebx, dword [esp + 0x18]
mov edx, edi
push 0
push 0
mov ecx, dword [ebx]
call fcn.005bc580
mov edx, dword [esp + 0x38]
mov ecx, ebx
push eax
call fcn.005bc010
add esp, 0xc
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [ebp + 8]
mov eax, dword [esi + 0x14]
cmp eax, dword [edx + 0x2c]
jne 0x5f5e49
movzx ecx, word [esi + 0xc]
test cl, 0x82
je 0x5f5e45
test byte [edx + 0x24], 8
je 0x5f5d57
mov eax, dword [esi]
test byte [eax + 4], 1
jne 0x5f5d57
test cl, cl
js 0x5f5e45
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
and ecx, dword [ebp + 0xc]
and eax, dword [ebp + 0x10]
or ecx, eax
jne 0x5f5e45
mov eax, dword [esi + 0x1c]
test eax, eax
js 0x5f5e45
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
mov eax, dword [eax + 4]
mov dl, byte [eax + ecx*4 + 0xd]
mov ecx, dword [esi]
call fcn.005bb470
test eax, eax
je 0x5f5e42
mov ecx, dword [esi + 0x1c]
xor edi, edi
cmp ecx, 0x40
jl 0x5f5da3
mov ebx, 0x80000000
jmp 0x5f5db8
mov eax, ecx
xor ebx, ebx
bts edi, eax
cmp eax, 0x20
cmovae ebx, edi
xor edi, ebx
cmp eax, 0x40
cmovae ebx, edi
cmp byte [esp + 0xf], 0
jne 0x5f5de5
mov edx, dword [esp + 0x3c]
lea ecx, [ecx + ecx*4]
mov eax, dword [edx + 4]
push dword [eax + ecx*4]
push dword [edx]
push 0x7e6cac
push 0x11c
call fcn.0058b3c0
add esp, 0x10
mov byte [esp + 0xf], 1
mov ecx, edi
mov eax, ebx
and ecx, dword [esp + 0x20]
and eax, dword [esp + 0x14]
or ecx, eax
jne 0x5f5e42
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
inc eax
mov dword [esp + 0x44], eax
push eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
call fcn.005f69c0
add esp, 4
test eax, eax
jne 0x5f6654
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
or dword [esp + 0x20], edi
mov edi, dword [esp + 0x14]
mov eax, dword [eax + 0x30]
or edi, ebx
mov edx, dword [ebp + 8]
mov dword [esp + 0x14], edi
mov dword [eax + ecx*4], esi
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x10], ecx
jmp 0x5f5e4d
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
add esi, 0x30
cmp esi, dword [esp + 0x48]
jb 0x5f5cb0
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
jmp 0x5f5e6c
mov edi, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
movzx eax, cx
not edi
mov ecx, dword [esp + 0x28]
or edi, 0x80000000
not esi
mov word [ecx + 0x28], ax
mov word [ecx + 0x18], ax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 0x24], 0x4241
and edi, dword [edx + 0x3c]
mov ecx, dword [edx + 0x38]
and esi, ecx
mov dword [esp + 0x14], edi
mov edx, 0x3f
movzx edi, word [eax + 0x2a]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x20], esi
mov dword [esp + 0x44], edi
movzx eax, di
cmp dx, di
jge 0x5f5ebf
mov dword [esp + 0x38], edx
jmp 0x5f5ecd
movsx edx, di
mov dword [esp + 0x38], edx
xor edx, edx
cmp dx, ax
jge 0x5f5f0d
mov ebx, dword [esp + 0x38]
xor esi, esi
mov edi, dword [esp + 0x14]
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [esp + 0x20]
and ecx, edi
or edx, ecx
je 0x5f5efc
inc dword [esp + 0x10]
inc esi
cmp esi, ebx
jl 0x5f5ed7
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov eax, dword [ebp + 8]
cmp dword [eax + 0x3c], 0
jg 0x5f5f2c
jl 0x5f5f1c
test ecx, ecx
jae 0x5f5f2c
mov ecx, dword [esp + 0x10]
movsx eax, di
add ecx, 0xffffffc1
add ecx, eax
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x58]
mov esi, dword [esp + 0x18]
push eax
push 0
lea edx, [edx + 1]
mov ecx, dword [esi]
call fcn.005cbe90
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
je 0x5f6658
mov ecx, dword [esp + 0x28]
xor edi, edi
mov esi, dword [esp + 0x50]
xorps xmm0, xmm0
mov dword [esp + 0x40], edi
movlpd qword [esp + 0x58], xmm0
mov dword [ecx + 0x20], eax
mov ecx, dword [esp + 0x3c]
mov dword [eax], 0x7e6d34
mov dword [eax + 0xc], ecx
mov esi, dword [esi + 0x14]
mov dword [esp + 0x34], esi
cmp esi, dword [esp + 0x48]
jae 0x5f60db
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x18]
mov edx, dword [ebp + 8]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x14]
cmp eax, dword [edx + 0x2c]
jne 0x5f60c2
movzx ecx, word [esi + 0xc]
test cl, 0x82
je 0x5f60c2
test byte [edx + 0x24], 8
je 0x5f5fd2
mov eax, dword [esi]
test byte [eax + 4], 1
jne 0x5f5fd2
test cl, cl
js 0x5f60c2
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
and ecx, dword [ebp + 0xc]
and eax, dword [ebp + 0x10]
or ecx, eax
jne 0x5f60c2
mov eax, dword [esi + 0x1c]
test eax, eax
js 0x5f60c2
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
mov eax, dword [eax + 4]
mov dl, byte [eax + ecx*4 + 0xd]
mov ecx, dword [esi]
call fcn.005bb470
test eax, eax
je 0x5f60bf
mov eax, dword [esi + 0x1c]
xor edx, edx
mov dword [esp + 0x58], eax
cmp eax, 0x40
jl 0x5f6022
mov esi, 0x80000000
jmp 0x5f6035
xor esi, esi
bts edx, eax
cmp eax, 0x20
cmovae esi, edx
xor edx, esi
cmp eax, 0x40
cmovae esi, edx
mov ecx, edx
mov eax, esi
and ecx, dword [esp + 0x40]
and eax, dword [esp + 0x44]
or ecx, eax
jne 0x5f60bb
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
or dword [esp + 0x40], edx
mov edx, dword [esp + 0x58]
mov eax, dword [eax + 4]
mov ecx, dword [ecx]
or dword [esp + 0x44], esi
mov word [eax + edi*2], dx
test dword [ecx + 4], 0x200
je 0x5f6073
mov esi, dword [ecx + 0xc]
mov edx, dword [ecx + 0x10]
jmp 0x5f6079
mov esi, dword [ecx + 0x10]
mov edx, dword [ecx + 0xc]
test dword [edx + 4], 0x100
jne 0x5f609c
test esi, esi
je 0x5f608f
test dword [esi + 4], 0x100
jne 0x5f609a
mov ecx, ebx
call fcn.005bb290
test eax, eax
jne 0x5f60a7
mov edx, esi
mov ecx, ebx
call fcn.005bb290
test eax, eax
je 0x5f60ab
mov ecx, dword [eax]
jmp 0x5f60b0
mov ecx, str.BINARY
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x20]
mov dword [eax + edi*4], ecx
inc edi
mov esi, dword [esp + 0x34]
mov edx, dword [ebp + 8]
add esi, 0x30
mov dword [esp + 0x34], esi
cmp esi, dword [esp + 0x48]
jb 0x5f5fa3
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x40], edi
xor esi, esi
cmp dword [esp + 0x38], esi
jle 0x5f612b
mov ebx, dword [esp + 0x1c]
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [esp + 0x20]
and ecx, dword [esp + 0x14]
or edx, ecx
je 0x5f611c
mov eax, dword [ebx + 4]
mov word [eax + edi*2], si
mov eax, dword [ebx + 0x20]
mov dword [eax + edi*4], str.BINARY
inc edi
inc esi
cmp esi, dword [esp + 0x38]
jl 0x5f60e7
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x40], edi
mov eax, dword [ebp + 8]
cmp dword [eax + 0x3c], 0
jg 0x5f6172
jl 0x5f613c
cmp dword [eax + 0x38], 0
jae 0x5f6172
mov esi, dword [esp + 0x3c]
mov eax, 0x3f
mov edx, dword [esp + 0x1c]
cmp ax, word [esi + 0x2a]
jge 0x5f6176
mov ecx, eax
mov eax, dword [edx + 4]
mov word [eax + edi*2], cx
inc ecx
mov eax, dword [edx + 0x20]
mov dword [eax + edi*4], str.BINARY
inc edi
movsx eax, word [esi + 0x2a]
cmp ecx, eax
jl 0x5f6151
mov dword [esp + 0x40], edi
jmp 0x5f6176
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 4]
or ecx, 0xffffffff
mov word [eax + edi*2], cx
mov eax, dword [edx + 0x20]
mov ecx, dword [ebp + 0x14]
mov edx, dword [esp + 0x10]
inc edx
mov dword [eax + edi*4], str.BINARY
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0x28]
mov dword [ecx + 8], eax
inc dword [edi + 0x28]
mov esi, dword [ecx + 8]
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x5f61bf
push 0
push edx
push esi
mov edx, 0x63
mov ecx, ebx
call fcn.005a7410
add esp, 0xc
jmp 0x5f61ee
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov ebx, dword [esp + 0x24]
mov dword [eax + ecx*4], 0x63
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x1c]
mov ecx, edi
mov esi, dword [edi + 8]
call fcn.005cdfc0
mov edx, eax
test edx, edx
je 0x5f622c
mov ecx, dword [esi]
cmp byte [ecx + 0x51], 0
je 0x5f621a
push edx
mov edx, 0xfffffff7
call fcn.005a7f30
add esp, 4
jmp 0x5f622c
mov eax, dword [esi + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf7
mov dword [eax + ecx*4 - 4], edx
mov edx, dword [ebp + 0x14]
movzx eax, byte [edx + 0x34]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 0x30], 0x10
lea esi, [eax + ecx*8]
mov dword [esp + 0x48], esi
je 0x5f6355
mov ecx, dword [ebx + 0x6c]
mov edi, dword [esi + 0x24]
mov dword [esp + 0x4c], ecx
cmp dword [ebx + 0x70], ecx
jg 0x5f627b
push 0
push 0
push 0
mov edx, 0x45
mov ecx, ebx
call fcn.005a7410
add esp, 0xc
mov dword [esp + 0x4c], eax
jmp 0x5f62ae
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0x45
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebx + 0x6c]
mov edx, dword [esi + 0x20]
cmp dword [ebx + 0x70], ecx
jg 0x5f62ce
push edx
push 0
push edi
mov edx, 0xd
mov ecx, ebx
call fcn.005a7410
add esp, 0xc
jmp 0x5f62f9
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0xd
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], esi
jg 0x5f6320
push 0
push 0
push edi
mov edx, 0xe
mov ecx, ebx
call fcn.005a7410
mov edi, dword [esp + 0x24]
add esp, 0xc
mov esi, eax
jmp 0x5f63ab
lea eax, [esi + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [esi + esi*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x18]
mov dword [eax + ecx*4], 0xe
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x5f63ab
mov esi, dword [ebx + 0x6c]
mov edx, dword [edx + 4]
cmp dword [ebx + 0x70], esi
jg 0x5f6378
push 0
push 0
push edx
mov edx, 0x25
mov ecx, ebx
call fcn.005a7410
add esp, 0xc
mov esi, eax
jmp 0x5f63ab
lea eax, [esi + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [esi + esi*4]
mov eax, dword [ebx + 0x68]
mov ebx, dword [esp + 0x24]
mov dword [eax + ecx*4], 0x25
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x30]
test eax, eax
je 0x5f63d5
dec dword [edi + 0x38]
mov ecx, dword [edi + 0x38]
push 0x10
push ecx
push eax
push edi
mov dword [esp + 0x3c], ecx
call fcn.005c1d00
mov eax, dword [esp + 0x38]
add esp, 0x10
or dword [eax + 0x24], 0x20000
mov al, byte [edi + 0x13]
test al, al
jne 0x5f63e4
inc dword [edi + 0x2c]
mov edi, dword [edi + 0x2c]
jmp 0x5f63f3
dec al
mov byte [edi + 0x13], al
movzx eax, al
mov edi, dword [edi + eax*4 + 0x94]
mov eax, dword [ebp + 0x14]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push 0
push 0
push 0
push 0
push edi
push dword [eax + 4]
call fcn.005cfbd0
mov ecx, dword [ebx + 0x6c]
add esp, 0x18
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0x14]
mov edx, dword [eax + 8]
cmp dword [ebx + 0x70], ecx
jg 0x5f6439
push 0
push edi
push edx
mov edx, 0x83
mov ecx, ebx
call fcn.005a7410
add esp, 0xc
jmp 0x5f6468
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov ebx, dword [esp + 0x24]
mov dword [eax + ecx*4], 0x83
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebx + 0x6c]
test ecx, ecx
jle 0x5f6482
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
mov edx, 0x10
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [ebx + 0x6c]
cmp dword [esp + 0x30], 0
je 0x5f64b6
mov edx, dword [ebx + 0xc]
not dword [esp + 0x2c]
mov eax, dword [edx + 0x3c]
add eax, dword [edx + 0x38]
jns 0x5f64ac
mov edx, dword [esp + 0x2c]
mov ecx, dword [ebx + 0xc]
push edx
mov edx, ebx
call fcn.005a7b60
add esp, 4
jmp 0x5f64b6
mov eax, dword [edx + 0x40]
mov edx, dword [esp + 0x2c]
mov dword [eax + edx*4], ecx
mov edx, dword [esp + 0x48]
test byte [edx + 0x30], 0x10
je 0x5f656f
mov ecx, dword [esp + 0x4c]
test ecx, ecx
jns 0x5f64d0
mov ecx, dword [ebx + 0x6c]
dec ecx
mov eax, dword [ebx]
cmp byte [eax + 0x51], 0
je 0x5f64df
mov ecx, 0x85e278
jmp 0x5f64e8
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0x58]
mov dword [ecx + 8], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x18]
push dword [eax + 8]
push dword [edx + 0x28]
mov edx, esi
push dword [eax + 4]
call fcn.005f5b40
mov ecx, dword [ebx + 0x6c]
add esp, 0xc
cmp dword [ebx + 0x70], ecx
jg 0x5f6536
push 0
push esi
push 0
mov edx, 0xb
mov ecx, ebx
call fcn.005a7410
mov ecx, dword [esp + 0x54]
add esp, 0xc
and dword [ecx + 0x30], 0xffffffef
jmp 0x5f65e2
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x48]
and dword [ecx + 0x30], 0xffffffef
jmp 0x5f65e2
mov eax, dword [ebp + 0x14]
lea edx, [esi + 1]
mov ecx, dword [ebx + 0x6c]
mov eax, dword [eax + 4]
mov dword [esp + 0x58], eax
cmp dword [ebx + 0x70], ecx
jg 0x5f6599
push 0
push edx
push eax
mov edx, 5
mov ecx, ebx
call fcn.005a7410
add esp, 0xc
jmp 0x5f65cb
mov edx, dword [esp + 0x58]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4 + 4], edx
lea edx, [esi + 1]
mov dword [eax + ecx*4], 5
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx + 0x6c]
test eax, eax
jle 0x5f65e2
lea ecx, [eax + eax*4]
mov edx, 3
mov eax, dword [ebx + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [ebx]
mov edx, dword [ebx + 0x6c]
cmp byte [eax + 0x51], 0
je 0x5f65f4
mov eax, 0x85e278
jmp 0x5f6605
test esi, esi
lea eax, [edx - 1]
cmovns eax, esi
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
lea eax, [eax + ecx*4]
mov esi, dword [esp + 0x18]
mov dword [eax + 8], edx
test edi, edi
je 0x5f6624
mov al, byte [esi + 0x13]
cmp al, 8
jae 0x5f6624
movzx eax, al
mov dword [esi + eax*4 + 0x94], edi
inc byte [esi + 0x13]
mov eax, dword [ebx]
mov edx, dword [ebx + 0x6c]
cmp byte [eax + 0x51], 0
je 0x5f6639
mov eax, 0x85e278
mov dword [eax + 8], edx
jmp 0x5f6658
mov ecx, dword [esp + 0x54]
lea eax, [edx - 1]
test ecx, ecx
cmovns eax, ecx
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x5f6658
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x5f6669
mov ecx, dword [esi]
mov edx, eax
call fcn.005bc390
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret