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

Disassembly:
sub esp, 0x68
push ebx
push ebp
push esi
mov esi, eax
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 4]
mov dword [esp + 0x10], eax
push edi
mov eax, esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], 1
lea ebp, [esi + 8]
call fcn.005f1100
mov dword [esp + 0x2c], eax
mov eax, dword [esi]
cmp eax, 7
je 0x5f2168
cmp eax, 8
je 0x5f23c0
cmp eax, 9
je 0x5f2641
cmp eax, 0xa
jne 0x5f2d3e
mov ecx, dword [esi + 0x40]
mov edi, dword [esp + 0x14]
mov edx, 1
sub ecx, edi
sub dword [esp + 0x18], edx
js 0x5f215b
mov eax, dword [esi + 0x60]
mov ebx, edi
sub ebx, dword [esi + 0x10c]
and ebx, dword [esi + 0x44]
mov bl, byte [ebx + eax]
mov byte [eax + edi], bl
add edi, edx
sub ecx, edx
mov dword [esp + 0x14], edi
je 0x5f2ce9
sub dword [esp + 0x18], edx
jns 0x5f2133
cmp dword [esi + 0xb8], 0
jle 0x5f2c81
cmp dword [esi + 0xc4], 0
mov dword [esi], 7
jne 0x5f21a6
push esi
call fcn.005f0490
add esp, 4
test eax, eax
jne 0x5f2168
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
pop edi
mov dword [esi + 4], eax
mov dword [esi + 0x34], edx
pop esi
mov dword [esp + 0x14], 2
mov eax, dword [esp + 0x14]
pop ebp
pop ebx
add esp, 0x68
ret
mov ecx, dword [ebp + 8]
mov edx, dword [ebp]
mov eax, dword [ebp + 4]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x58], edx
mov edx, dword [ebp + 0xc]
mov ecx, 0x20
sub ecx, eax
mov dword [esp + 0x64], edx
mov edx, dword [esi + 0x68]
mov dword [esp + 0x5c], eax
cmp ecx, 0xf
jae 0x5f220a
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x5f225c
shr dword [ebp], 8
mov eax, dword [ebp + 8]
movzx ebx, byte [eax]
mov ecx, dword [ebp]
add dword [ebp + 4], 0xfffffff8
inc eax
shl ebx, 0x18
or ebx, ecx
dec edi
mov dword [ebp + 8], eax
mov eax, 0x20
mov dword [ebp], ebx
mov dword [ebp + 0xc], edi
sub eax, dword [ebp + 4]
cmp eax, 0xf
jb 0x5f21d1
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
shr eax, cl
and eax, dword [0x6e28fc]
mov edi, eax
and edi, 0xff
mov bl, byte [edx + edi*4]
lea edx, [edx + edi*4]
cmp bl, 8
jbe 0x5f224c
movzx edi, bl
add ecx, 8
mov dword [ebp + 4], ecx
mov ecx, dword [edi*4 + 0x6e28a0]
sub edi, 8
shr eax, 8
and ecx, eax
movzx eax, word [edx + 2]
add ecx, eax
lea edx, [edx + ecx*4]
movzx ecx, byte [edx]
add dword [ebp + 4], ecx
movzx eax, word [edx + 2]
mov dword [esp + 0x34], eax
jmp 0x5f2277
lea eax, [esp + 0x34]
push eax
mov edi, ebp
call fcn.005eebc0
add esp, 4
test eax, eax
je 0x5f2184
mov eax, dword [esp + 0x34]
mov ebx, dword [eax*8 + 0x6e31b0]
mov ecx, dword [eax*8 + 0x6e31b4]
mov edx, ebx
shr edx, 0x10
movsx eax, dl
mov edx, dword [esi + 0x74]
mov dword [esi + 0x10c], eax
mov eax, ebx
shr eax, 0x18
mov dword [esi + 0xb4], eax
mov al, byte [eax + edx]
mov dword [esp + 0x54], ecx
movzx edx, bl
movzx ecx, cx
mov dword [esp + 0x50], ebx
mov byte [esi + 0x104], al
mov dword [esp + 0x18], ecx
test edx, edx
je 0x5f2324
mov eax, 0x20
sub eax, dword [ebp + 4]
cmp eax, edx
jae 0x5f230c
lea esp, [esp]
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x5f2ca1
shr dword [ebp], 8
mov eax, dword [ebp + 8]
movzx ebx, byte [eax]
mov ecx, dword [ebp]
add dword [ebp + 4], 0xfffffff8
shl ebx, 0x18
or ebx, ecx
dec edi
inc eax
mov ecx, 0x20
mov dword [ebp], ebx
mov dword [ebp + 0xc], edi
mov dword [ebp + 8], eax
sub ecx, dword [ebp + 4]
cmp ecx, edx
jb 0x5f22d0
mov ebx, dword [esp + 0x50]
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
mov edi, dword [edx*4 + 0x6e28c0]
shr eax, cl
and edi, eax
add ecx, edx
mov dword [ebp + 4], ecx
jmp 0x5f2326
xor edi, edi
movzx edx, bh
mov dword [esp + 0x30], edi
test edx, edx
je 0x5f2394
mov ecx, 0x20
sub ecx, dword [ebp + 4]
cmp ecx, edx
jae 0x5f237c
lea ecx, [ecx]
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x5f2ca1
shr dword [ebp], 8
mov eax, dword [ebp + 8]
movzx ebx, byte [eax]
mov ecx, dword [ebp]
add dword [ebp + 4], 0xfffffff8
inc eax
shl ebx, 0x18
or ebx, ecx
dec edi
mov dword [ebp + 8], eax
mov eax, 0x20
mov dword [ebp], ebx
mov dword [ebp + 0xc], edi
sub eax, dword [ebp + 4]
cmp eax, edx
jb 0x5f2340
mov edi, dword [esp + 0x30]
mov ecx, dword [ebp + 4]
mov ebx, dword [ebp]
mov eax, dword [edx*4 + 0x6e28c0]
shr ebx, cl
and eax, ebx
add ecx, edx
mov dword [ebp + 4], ecx
jmp 0x5f2396
xor eax, eax
movzx ecx, word [esp + 0x56]
dec dword [esi + 0xc4]
add ecx, eax
add dword [esp + 0x18], edi
mov dword [esi + 0x108], ecx
je 0x5f2641
mov edx, dword [esp + 0x18]
sub dword [esi + 0xb8], edx
lea ecx, [ecx]
cmp dword [esi + 0xb0], 0
mov dword [esi], 8
je 0x5f24de
cmp dword [esi + 0xc0], 0
jne 0x5f23f2
call fcn.005eff00
test eax, eax
je 0x5f2184
cmp dword [esi + 0xb0], 0
je 0x5f23c0
mov edx, dword [esi + 0x100]
mov eax, 0x20
sub eax, dword [ebp + 4]
cmp eax, 0xf
jae 0x5f243e
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x5f2490
shr dword [ebp], 8
mov eax, dword [ebp + 8]
movzx ebx, byte [eax]
mov ecx, dword [ebp]
add dword [ebp + 4], 0xfffffff8
shl ebx, 0x18
or ebx, ecx
dec edi
inc eax
mov ecx, 0x20
mov dword [ebp], ebx
mov dword [ebp + 0xc], edi
mov dword [ebp + 8], eax
sub ecx, dword [ebp + 4]
cmp ecx, 0xf
jb 0x5f2405
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
shr eax, cl
and eax, dword [0x6e28fc]
mov edi, eax
and edi, 0xff
mov bl, byte [edx + edi*4]
lea edx, [edx + edi*4]
cmp bl, 8
jbe 0x5f2480
movzx edi, bl
add ecx, 8
mov dword [ebp + 4], ecx
mov ecx, dword [edi*4 + 0x6e28a0]
sub edi, 8
shr eax, 8
and ecx, eax
movzx eax, word [edx + 2]
add ecx, eax
lea edx, [edx + ecx*4]
movzx ecx, byte [edx]
add dword [ebp + 4], ecx
movzx edx, word [edx + 2]
mov dword [esp + 0x38], edx
jmp 0x5f24a7
lea eax, [esp + 0x38]
push eax
mov edi, ebp
call fcn.005eebc0
add esp, 4
test eax, eax
je 0x5f2184
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x60]
mov dl, byte [esp + 0x38]
mov byte [eax + ecx], dl
dec dword [esi + 0xc0]
mov ecx, 1
add eax, ecx
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x40]
je 0x5f2cf1
sub dword [esp + 0x18], ecx
jne 0x5f23d3
jmp 0x5f2634
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x60]
lea edi, [edx - 1]
and edi, eax
mov bl, byte [edi + ecx]
add edx, 0xfffffffe
and edx, eax
mov al, byte [edx + ecx]
mov byte [esp + 0x12], al
lea esp, [esp]
cmp dword [esi + 0xc0], 0
jne 0x5f2523
call fcn.005eff00
test eax, eax
je 0x5f2184
cmp dword [esi + 0xb0], 0
jne 0x5f23c0
movzx ecx, byte [esp + 0x12]
mov eax, dword [esi + 0x6c]
movzx edx, byte [ecx + eax + 0x100]
movzx ecx, bl
movzx eax, byte [ecx + eax]
mov ecx, dword [esi + 0x70]
or edx, eax
movzx edx, byte [edx + ecx]
mov eax, dword [esi + 0x78]
mov edx, dword [eax + edx*4]
mov ecx, 0x20
sub ecx, dword [ebp + 4]
mov byte [esp + 0x12], bl
cmp ecx, 0xf
jae 0x5f2599
lea ebx, [ebx]
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x5f25eb
shr dword [ebp], 8
mov eax, dword [ebp + 8]
movzx ebx, byte [eax]
mov ecx, dword [ebp]
add dword [ebp + 4], 0xfffffff8
inc eax
shl ebx, 0x18
or ebx, ecx
dec edi
mov dword [ebp + 8], eax
mov eax, 0x20
mov dword [ebp], ebx
mov dword [ebp + 0xc], edi
sub eax, dword [ebp + 4]
cmp eax, 0xf
jb 0x5f2560
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
shr eax, cl
and eax, dword [0x6e28fc]
mov edi, eax
and edi, 0xff
mov bl, byte [edx + edi*4]
lea edx, [edx + edi*4]
cmp bl, 8
jbe 0x5f25db
movzx edi, bl
add ecx, 8
mov dword [ebp + 4], ecx
mov ecx, dword [edi*4 + 0x6e28a0]
sub edi, 8
shr eax, 8
and ecx, eax
movzx eax, word [edx + 2]
add ecx, eax
lea edx, [edx + ecx*4]
movzx ecx, byte [edx]
add dword [ebp + 4], ecx
movzx ebx, word [edx + 2]
mov dword [esp + 0x3c], ebx
jmp 0x5f2606
lea eax, [esp + 0x3c]
push eax
mov edi, ebp
call fcn.005eebc0
add esp, 4
test eax, eax
je 0x5f2184
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x60]
mov byte [eax + ecx], bl
dec dword [esi + 0xc0]
mov ecx, 1
add eax, ecx
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x40]
je 0x5f2cf1
sub dword [esp + 0x18], ecx
jne 0x5f2500
cmp dword [esi + 0xb8], 0
jle 0x5f2c81
mov eax, dword [esi + 0x10c]
mov dword [esi], 9
test eax, eax
jl 0x5f2670
xor edx, edx
test eax, eax
sete dl
dec dword [esi + 0x48]
mov eax, dword [esi + 0x48]
and eax, 3
mov dword [esi + 0xb4], edx
mov eax, dword [esi + eax*4 + 0x4c]
jmp 0x5f28b0
cmp dword [esi + 0xc8], 0
jne 0x5f2688
mov ebx, esi
call fcn.005f09e0
test eax, eax
je 0x5f2184
movzx ecx, byte [esi + 0x104]
mov edx, dword [esi + 0x98]
mov edx, dword [edx + ecx*4]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp]
mov dword [esp + 0x70], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 4]
mov ecx, 0x20
sub ecx, eax
mov dword [esp + 0x6c], eax
cmp ecx, 0xf
jae 0x5f26f9
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x5f274b
shr dword [ebp], 8
mov eax, dword [ebp + 8]
movzx ebx, byte [eax]
mov ecx, dword [ebp]
add dword [ebp + 4], 0xfffffff8
inc eax
shl ebx, 0x18
or ebx, ecx
dec edi
mov dword [ebp + 8], eax
mov eax, 0x20
mov dword [ebp], ebx
mov dword [ebp + 0xc], edi
sub eax, dword [ebp + 4]
cmp eax, 0xf
jb 0x5f26c0
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
shr eax, cl
and eax, dword [0x6e28fc]
mov edi, eax
and edi, 0xff
mov bl, byte [edx + edi*4]
lea edx, [edx + edi*4]
cmp bl, 8
jbe 0x5f273b
movzx edi, bl
add ecx, 8
mov dword [ebp + 4], ecx
mov ecx, dword [edi*4 + 0x6e28a0]
sub edi, 8
shr eax, 8
and ecx, eax
movzx eax, word [edx + 2]
add ecx, eax
lea edx, [edx + ecx*4]
movzx ecx, byte [edx]
add dword [ebp + 4], ecx
movzx edi, word [edx + 2]
mov dword [esp + 0x40], edi
jmp 0x5f2766
lea eax, [esp + 0x40]
push eax
mov edi, ebp
call fcn.005eebc0
add esp, 4
test eax, eax
je 0x5f2184
mov edi, dword [esp + 0x40]
dec dword [esi + 0xc8]
mov dword [esi + 0xb4], 0
test edi, 0xfffffff0
jne 0x5f280d
cmp edi, 3
mov dword [esi + 0x10c], edi
jg 0x5f27bb
mov eax, dword [esi + 0x48]
mov ecx, edi
mov edx, 1
sar edx, cl
mov ecx, eax
sub ecx, edi
dec ecx
and ecx, 3
mov dword [esi + 0xb4], edx
mov ecx, dword [esi + ecx*4 + 0x4c]
sub eax, edx
mov dword [esi + 0x10c], ecx
mov dword [esi + 0x48], eax
jmp 0x5f28b6
cmp edi, 0xa
mov eax, 3
lea ecx, [edi - 0xa]
jge 0x5f27cd
lea ecx, [edi - 4]
jmp 0x5f27d2
mov eax, 2
add ecx, ecx
add ecx, ecx
mov edx, 0x605142
sar edx, cl
mov ecx, dword [esi + 0x48]
add ecx, eax
and ecx, 3
mov eax, dword [esi + ecx*4 + 0x4c]
and edx, 0xf
lea eax, [edx + eax - 3]
mov dword [esi + 0x10c], eax
test eax, eax
jg 0x5f28b6
mov dword [esi + 0x10c], 0x7fffffff
jmp 0x5f28b6
movzx edx, byte [edi + esi + 0x270]
test edx, edx
je 0x5f295b
cmp edx, 0x18
ja 0x5f2886
mov ecx, 0x20
sub ecx, dword [ebp + 4]
cmp ecx, edx
jae 0x5f286a
mov edi, edi
cmp dword [ebp + 0xc], 0
je 0x5f2cc2
shr dword [ebp], 8
mov eax, dword [ebp + 8]
movzx ebx, byte [eax]
mov ecx, dword [ebp]
add dword [ebp + 4], 0xfffffff8
shl ebx, 0x18
or ebx, ecx
mov ecx, dword [ebp + 0xc]
inc eax
dec ecx
mov dword [ebp + 8], eax
mov eax, 0x20
mov dword [ebp], ebx
mov dword [ebp + 0xc], ecx
sub eax, dword [ebp + 4]
cmp eax, edx
jb 0x5f2830
mov ecx, dword [ebp + 4]
mov ebx, dword [ebp]
mov eax, dword [edx*4 + 0x6e28c0]
shr ebx, cl
and eax, ebx
add ecx, edx
mov dword [esp + 0x28], eax
mov dword [ebp + 4], ecx
jmp 0x5f28a1
lea ecx, [esp + 0x28]
push ecx
push edx
push ebp
call fcn.005ee180
add esp, 0xc
test eax, eax
je 0x5f2cc2
mov eax, dword [esp + 0x28]
mov ecx, dword [esi + 0xf0]
shl eax, cl
add eax, dword [esi + edi*4 + 0x490]
mov dword [esi + 0x10c], eax
mov eax, dword [esi + 0x38]
cmp dword [esi + 0x3c], eax
je 0x5f28cb
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jge 0x5f28c8
mov eax, ecx
mov dword [esi + 0x3c], eax
mov edi, dword [esi + 0x10c]
mov ecx, dword [esi + 0x3c]
cmp edi, ecx
mov edx, dword [esi + 0x108]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x18], edx
jle 0x5f2bad
cmp edi, 0x7ffffffc
jg 0x5f2cfd
mov eax, edi
sub eax, ecx
lea ebx, [eax - 1]
cmp ebx, dword [esp + 0x2c]
jge 0x5f2966
sub ecx, edi
add ecx, dword [esp + 0x2c]
push edx
mov eax, ecx
mov edi, esi
call fcn.005f1080
add esp, 4
test eax, eax
je 0x5f2d0a
mov edi, dword [esp + 0x14]
push edi
push esi
call fcn.005f1120
add edi, eax
add esp, 8
cmp edi, dword [esi + 0x40]
mov dword [esp + 0x14], edi
jl 0x5f2c74
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
pop edi
mov dword [esi + 4], eax
mov eax, dword [esp + 0x18]
mov dword [esi], 0xf
mov dword [esi + 0x34], edx
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
xor eax, eax
mov dword [esp + 0x28], eax
jmp 0x5f28a1
lea ecx, [edx - 4]
cmp ecx, 0x1b
ja 0x5f2d17
mov ecx, dword [esi + 0x248]
cmp dword [ecx + 0x7c], 0
je 0x5f29c6
mov ecx, dword [esi + 0x44]
mov ebx, dword [esp + 0x14]
mov edi, dword [esi + 0x60]
add ebx, 0xfffffffe
and ebx, ecx
movzx ebx, byte [ebx + edi]
mov edi, dword [esi + 0x6c]
movzx ebx, byte [ebx + edi + 0x100]
mov edi, dword [esp + 0x14]
dec edi
and edi, ecx
mov ecx, dword [esi + 0x60]
movzx edi, byte [edi + ecx]
mov ecx, dword [esi + 0x6c]
movzx ecx, byte [edi + ecx]
mov edi, dword [esi + 0x248]
or ebx, ecx
mov cl, byte [ebx + edi + 0x80]
mov byte [esp + 0x12], cl
jmp 0x5f29cb
mov byte [esp + 0x12], 0
movzx ecx, byte [esp + 0x12]
mov ebx, dword [esi + 0x248]
mov edi, dword [ebx + ecx*4 + 0xc4]
mov ecx, dword [ebx + ecx*4 + 0x1c4]
sub eax, dword [esp + 0x2c]
mov dword [esp + 0x20], ecx
mov ecx, dword [edi + edx*4 + 0x20]
dec eax
mov dword [esp + 0x24], ecx
movzx ecx, byte [edi + edx]
mov ebx, eax
mov eax, dword [ecx*4 + 0x6e28c0]
and eax, ebx
imul eax, edx
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x30], edi
mov edi, ebx
sar edi, cl
mov dword [esp + 0x48], ecx
mov ecx, dword [esi + 0xb4]
add dword [esi + 0x48], ecx
cmp edi, dword [eax + 0xc]
jge 0x5f2a37
mov ecx, dword [esp + 0x30]
cmp byte [ecx + edx], 0
jne 0x5f2b17
mov eax, dword [esi + 0x248]
cmp byte [eax + 0xc0], 1
jbe 0x5f2b17
mov ecx, dword [esp + 0x48]
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x20]
and eax, 0xfffffffe
imul eax, dword [ecx + 0xc]
sub ebx, eax
mov eax, dword [esi + 0x248]
mov dword [esp + 0x44], ebx
xor bl, bl
mov byte [esp + 0x13], bl
cmp byte [eax + 0xc0], bl
jbe 0x5f2b17
mov edi, edi
mov eax, dword [esi + 0x248]
movzx ecx, bl
mov eax, dword [eax + ecx*4 + 0xc4]
mov dword [esp + 0x4c], eax
cmp bl, byte [esp + 0x12]
je 0x5f2ad9
mov al, byte [eax + edx]
test al, al
je 0x5f2ad9
mov ebx, dword [esi + 0x248]
mov ecx, dword [ebx + ecx*4 + 0x1c4]
mov dword [esp + 0x48], ecx
mov ebx, dword [esp + 0x48]
movzx ecx, al
mov eax, 1
shl eax, cl
and eax, 0xfffffffe
imul eax, dword [ebx + 0xc]
mov ebx, dword [esp + 0x44]
cmp ebx, eax
jl 0x5f2aef
sub ebx, eax
mov dword [esp + 0x44], ebx
mov bl, byte [esp + 0x13]
mov eax, dword [esi + 0x248]
inc bl
mov byte [esp + 0x13], bl
cmp bl, byte [eax + 0xc0]
jb 0x5f2a80
jmp 0x5f2b17
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x20], edi
mov edi, ebx
sar edi, cl
mov ecx, dword [ecx*4 + 0x6e28c0]
and ecx, ebx
imul ecx, edx
add ecx, dword [eax + edx*4 + 0x20]
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x30]
cmp byte [eax + edx], 0
je 0x5f2d17
mov eax, dword [eax + 0xa4]
test eax, eax
je 0x5f2d24
mov ecx, dword [esp + 0x20]
cmp edi, dword [ecx + 0xc]
jge 0x5f2d31
mov ebx, dword [esp + 0x24]
movsx ecx, word [ecx + 0x18]
add eax, ebx
mov ebx, edx
cmp edi, ecx
jne 0x5f2b64
push edx
mov edx, dword [esi + 0x60]
add edx, dword [esp + 0x18]
push eax
push edx
call fcn.00622730
add esp, 0xc
jmp 0x5f2b8f
mov ecx, dword [esp + 0x20]
push edi
push ecx
push edx
mov edx, dword [esi + 0x60]
add edx, dword [esp + 0x20]
push eax
push edx
call fcn.005f4860
mov ebx, eax
add esp, 0x14
test ebx, ebx
jne 0x5f2b8f
cmp dword [esi + 0x10c], 0x78
jle 0x5f2d31
mov eax, dword [esp + 0x14]
sub dword [esi + 0xb8], ebx
add eax, ebx
cmp eax, dword [esi + 0x40]
mov dword [esp + 0x14], eax
jge 0x5f293b
jmp 0x5f2c74
mov ecx, dword [esi + 0x60]
mov eax, ebx
sub eax, edi
and eax, dword [esi + 0x44]
mov dword [esp + 0x24], ecx
add ecx, ebx
add ebx, edx
mov dword [esp + 0x30], ebx
lea ebx, [eax + edx]
mov dword [esp + 0x48], ebx
mov ebx, dword [esi + 0x48]
and ebx, 3
mov dword [esi + ebx*4 + 0x4c], edi
inc dword [esi + 0x48]
sub dword [esi + 0xb8], edx
mov edi, dword [esp + 0x24]
mov ebx, dword [edi + eax]
mov dword [ecx], ebx
mov ebx, dword [edi + eax + 4]
mov dword [ecx + 4], ebx
mov ebx, dword [edi + eax + 8]
mov dword [ecx + 8], ebx
mov edi, dword [edi + eax + 0xc]
mov dword [ecx + 0xc], edi
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x48], edi
jle 0x5f2c0f
cmp dword [esp + 0x30], eax
jg 0x5f211f
mov edi, dword [esi + 0x40]
cmp dword [esp + 0x30], edi
jge 0x5f211f
cmp dword [esp + 0x48], edi
jge 0x5f211f
cmp edx, 0x10
mov edi, dword [esp + 0x30]
mov dword [esp + 0x14], edi
jle 0x5f2c74
cmp edx, 0x20
jle 0x5f2c53
add edx, 0xfffffff0
push edx
mov edx, dword [esp + 0x28]
lea eax, [edx + eax + 0x10]
push eax
add ecx, 0x10
push ecx
call fcn.00622730
add esp, 0xc
jmp 0x5f2c74
mov edx, dword [esp + 0x24]
mov edi, dword [edx + eax + 0x14]
mov ebx, dword [edx + eax + 0x18]
lea eax, [edx + eax + 0x10]
mov edx, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0x10], edx
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x18], ebx
mov dword [ecx + 0x1c], eax
cmp dword [esi + 0xb8], 0
jg 0x5f2168
mov dword [esi], 0xe
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
pop edi
mov dword [esi + 4], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 0x34], edx
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov dword [ebp], eax
mov eax, dword [esp + 0x64]
mov dword [ebp + 4], ecx
mov dword [ebp + 8], edx
mov dword [ebp + 0xc], eax
jmp 0x5f2184
inc dword [esi + 0xc8]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
mov dword [ebp], ecx
mov ecx, dword [esp + 0x74]
mov dword [ebp + 4], edx
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], ecx
jmp 0x5f2184
mov dword [esi], 0x10
jmp 0x5f2c87
sub dword [esp + 0x18], ecx
mov dword [esi], 0xd
jmp 0x5f2c87
pop edi
pop esi
pop ebp
mov eax, 0xfffffff0
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffee
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffed
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff5
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffe1
pop ebx
add esp, 0x68
ret