Function at 0x5e6d30
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.005e5d60
mov dword [esp + 0x2c], eax
mov eax, dword [esi]
cmp eax, 7
je 0x5e6dc8
cmp eax, 8
je 0x5e7020
cmp eax, 9
je 0x5e72a1
cmp eax, 0xa
jne 0x5e799e
mov ecx, dword [esi + 0x40]
mov edi, dword [esp + 0x14]
mov edx, 1
sub ecx, edi
sub dword [esp + 0x18], edx
js 0x5e6dbb
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 0x5e7949
sub dword [esp + 0x18], edx
jns 0x5e6d93
cmp dword [esi + 0xb8], 0
jle 0x5e78e1
cmp dword [esi + 0xc4], 0
mov dword [esi], 7
jne 0x5e6e06
push esi
call fcn.005e50f0
add esp, 4
test eax, eax
jne 0x5e6dc8
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 0x5e6e6a
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x5e6ebc
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 0x5e6e31
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
shr eax, cl
and eax, dword [0x6d72f4]
mov edi, eax
and edi, 0xff
mov bl, byte [edx + edi*4]
lea edx, [edx + edi*4]
cmp bl, 8
jbe 0x5e6eac
movzx edi, bl
add ecx, 8
mov dword [ebp + 4], ecx
mov ecx, dword [edi*4 + 0x6d7298]
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 0x5e6ed7
lea eax, [esp + 0x34]
push eax
mov edi, ebp
call fcn.005e3820
add esp, 4
test eax, eax
je 0x5e6de4
mov eax, dword [esp + 0x34]
mov ebx, dword [eax*8 + 0x6d7ba8]
mov ecx, dword [eax*8 + 0x6d7bac]
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 0x5e6f84
mov eax, 0x20
sub eax, dword [ebp + 4]
cmp eax, edx
jae 0x5e6f6c
lea esp, [esp]
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x5e7901
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 0x5e6f30
mov ebx, dword [esp + 0x50]
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
mov edi, dword [edx*4 + 0x6d72b8]
shr eax, cl
and edi, eax
add ecx, edx
mov dword [ebp + 4], ecx
jmp 0x5e6f86
xor edi, edi
movzx edx, bh
mov dword [esp + 0x30], edi
test edx, edx
je 0x5e6ff4
mov ecx, 0x20
sub ecx, dword [ebp + 4]
cmp ecx, edx
jae 0x5e6fdc
lea ecx, [ecx]
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x5e7901
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 0x5e6fa0
mov edi, dword [esp + 0x30]
mov ecx, dword [ebp + 4]
mov ebx, dword [ebp]
mov eax, dword [edx*4 + 0x6d72b8]
shr ebx, cl
and eax, ebx
add ecx, edx
mov dword [ebp + 4], ecx
jmp 0x5e6ff6
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 0x5e72a1
mov edx, dword [esp + 0x18]
sub dword [esi + 0xb8], edx
lea ecx, [ecx]
cmp dword [esi + 0xb0], 0
mov dword [esi], 8
je 0x5e713e
cmp dword [esi + 0xc0], 0
jne 0x5e7052
call fcn.005e4b60
test eax, eax
je 0x5e6de4
cmp dword [esi + 0xb0], 0
je 0x5e7020
mov edx, dword [esi + 0x100]
mov eax, 0x20
sub eax, dword [ebp + 4]
cmp eax, 0xf
jae 0x5e709e
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x5e70f0
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 0x5e7065
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
shr eax, cl
and eax, dword [0x6d72f4]
mov edi, eax
and edi, 0xff
mov bl, byte [edx + edi*4]
lea edx, [edx + edi*4]
cmp bl, 8
jbe 0x5e70e0
movzx edi, bl
add ecx, 8
mov dword [ebp + 4], ecx
mov ecx, dword [edi*4 + 0x6d7298]
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 0x5e7107
lea eax, [esp + 0x38]
push eax
mov edi, ebp
call fcn.005e3820
add esp, 4
test eax, eax
je 0x5e6de4
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 0x5e7951
sub dword [esp + 0x18], ecx
jne 0x5e7033
jmp 0x5e7294
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 0x5e7183
call fcn.005e4b60
test eax, eax
je 0x5e6de4
cmp dword [esi + 0xb0], 0
jne 0x5e7020
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 0x5e71f9
lea ebx, [ebx]
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x5e724b
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 0x5e71c0
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
shr eax, cl
and eax, dword [0x6d72f4]
mov edi, eax
and edi, 0xff
mov bl, byte [edx + edi*4]
lea edx, [edx + edi*4]
cmp bl, 8
jbe 0x5e723b
movzx edi, bl
add ecx, 8
mov dword [ebp + 4], ecx
mov ecx, dword [edi*4 + 0x6d7298]
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 0x5e7266
lea eax, [esp + 0x3c]
push eax
mov edi, ebp
call fcn.005e3820
add esp, 4
test eax, eax
je 0x5e6de4
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 0x5e7951
sub dword [esp + 0x18], ecx
jne 0x5e7160
cmp dword [esi + 0xb8], 0
jle 0x5e78e1
mov eax, dword [esi + 0x10c]
mov dword [esi], 9
test eax, eax
jl 0x5e72d0
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 0x5e7510
cmp dword [esi + 0xc8], 0
jne 0x5e72e8
mov ebx, esi
call fcn.005e5640
test eax, eax
je 0x5e6de4
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 0x5e7359
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x5e73ab
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 0x5e7320
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
shr eax, cl
and eax, dword [0x6d72f4]
mov edi, eax
and edi, 0xff
mov bl, byte [edx + edi*4]
lea edx, [edx + edi*4]
cmp bl, 8
jbe 0x5e739b
movzx edi, bl
add ecx, 8
mov dword [ebp + 4], ecx
mov ecx, dword [edi*4 + 0x6d7298]
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 0x5e73c6
lea eax, [esp + 0x40]
push eax
mov edi, ebp
call fcn.005e3820
add esp, 4
test eax, eax
je 0x5e6de4
mov edi, dword [esp + 0x40]
dec dword [esi + 0xc8]
mov dword [esi + 0xb4], 0
test edi, 0xfffffff0
jne 0x5e746d
cmp edi, 3
mov dword [esi + 0x10c], edi
jg 0x5e741b
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 0x5e7516
cmp edi, 0xa
mov eax, 3
lea ecx, [edi - 0xa]
jge 0x5e742d
lea ecx, [edi - 4]
jmp 0x5e7432
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 0x5e7516
mov dword [esi + 0x10c], 0x7fffffff
jmp 0x5e7516
movzx edx, byte [edi + esi + 0x270]
test edx, edx
je 0x5e75bb
cmp edx, 0x18
ja 0x5e74e6
mov ecx, 0x20
sub ecx, dword [ebp + 4]
cmp ecx, edx
jae 0x5e74ca
mov edi, edi
cmp dword [ebp + 0xc], 0
je 0x5e7922
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 0x5e7490
mov ecx, dword [ebp + 4]
mov ebx, dword [ebp]
mov eax, dword [edx*4 + 0x6d72b8]
shr ebx, cl
and eax, ebx
add ecx, edx
mov dword [esp + 0x28], eax
mov dword [ebp + 4], ecx
jmp 0x5e7501
lea ecx, [esp + 0x28]
push ecx
push edx
push ebp
call fcn.005e2de0
add esp, 0xc
test eax, eax
je 0x5e7922
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 0x5e752b
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jge 0x5e7528
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 0x5e780d
cmp edi, 0x7ffffffc
jg 0x5e795d
mov eax, edi
sub eax, ecx
lea ebx, [eax - 1]
cmp ebx, dword [esp + 0x2c]
jge 0x5e75c6
sub ecx, edi
add ecx, dword [esp + 0x2c]
push edx
mov eax, ecx
mov edi, esi
call fcn.005e5ce0
add esp, 4
test eax, eax
je 0x5e796a
mov edi, dword [esp + 0x14]
push edi
push esi
call fcn.005e5d80
add edi, eax
add esp, 8
cmp edi, dword [esi + 0x40]
mov dword [esp + 0x14], edi
jl 0x5e78d4
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 0x5e7501
lea ecx, [edx - 4]
cmp ecx, 0x1b
ja 0x5e7977
mov ecx, dword [esi + 0x248]
cmp dword [ecx + 0x7c], 0
je 0x5e7626
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 0x5e762b
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 + 0x6d72b8]
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 0x5e7697
mov ecx, dword [esp + 0x30]
cmp byte [ecx + edx], 0
jne 0x5e7777
mov eax, dword [esi + 0x248]
cmp byte [eax + 0xc0], 1
jbe 0x5e7777
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 0x5e7777
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 0x5e7739
mov al, byte [eax + edx]
test al, al
je 0x5e7739
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 0x5e774f
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 0x5e76e0
jmp 0x5e7777
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 + 0x6d72b8]
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 0x5e7977
mov eax, dword [eax + 0xa4]
test eax, eax
je 0x5e7984
mov ecx, dword [esp + 0x20]
cmp edi, dword [ecx + 0xc]
jge 0x5e7991
mov ebx, dword [esp + 0x24]
movsx ecx, word [ecx + 0x18]
add eax, ebx
mov ebx, edx
cmp edi, ecx
jne 0x5e77c4
push edx
mov edx, dword [esi + 0x60]
add edx, dword [esp + 0x18]
push eax
push edx
call fcn.00617370
add esp, 0xc
jmp 0x5e77ef
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.005e94c0
mov ebx, eax
add esp, 0x14
test ebx, ebx
jne 0x5e77ef
cmp dword [esi + 0x10c], 0x78
jle 0x5e7991
mov eax, dword [esp + 0x14]
sub dword [esi + 0xb8], ebx
add eax, ebx
cmp eax, dword [esi + 0x40]
mov dword [esp + 0x14], eax
jge 0x5e759b
jmp 0x5e78d4
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 0x5e786f
cmp dword [esp + 0x30], eax
jg 0x5e6d7f
mov edi, dword [esi + 0x40]
cmp dword [esp + 0x30], edi
jge 0x5e6d7f
cmp dword [esp + 0x48], edi
jge 0x5e6d7f
cmp edx, 0x10
mov edi, dword [esp + 0x30]
mov dword [esp + 0x14], edi
jle 0x5e78d4
cmp edx, 0x20
jle 0x5e78b3
add edx, 0xfffffff0
push edx
mov edx, dword [esp + 0x28]
lea eax, [edx + eax + 0x10]
push eax
add ecx, 0x10
push ecx
call fcn.00617370
add esp, 0xc
jmp 0x5e78d4
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 0x5e6dc8
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 0x5e6de4
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 0x5e6de4
mov dword [esi], 0x10
jmp 0x5e78e7
sub dword [esp + 0x18], ecx
mov dword [esi], 0xd
jmp 0x5e78e7
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