Function at 0x5e95c0
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.005e85f0
mov dword [esp + 0x2c], eax
mov eax, dword [esi]
cmp eax, 7
je 0x5e9658
cmp eax, 8
je 0x5e98b0
cmp eax, 9
je 0x5e9b31
cmp eax, 0xa
jne 0x5ea22e
mov ecx, dword [esi + 0x40]
mov edi, dword [esp + 0x14]
mov edx, 1
sub ecx, edi
sub dword [esp + 0x18], edx
js 0x5e964b
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 0x5ea1d9
sub dword [esp + 0x18], edx
jns 0x5e9623
cmp dword [esi + 0xb8], 0
jle 0x5ea171
cmp dword [esi + 0xc4], 0
mov dword [esi], 7
jne 0x5e9696
push esi
call fcn.005e7980
add esp, 4
test eax, eax
jne 0x5e9658
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 0x5e96fa
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x5e974c
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 0x5e96c1
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
shr eax, cl
and eax, dword [0x6d93b4]
mov edi, eax
and edi, 0xff
mov bl, byte [edx + edi*4]
lea edx, [edx + edi*4]
cmp bl, 8
jbe 0x5e973c
movzx edi, bl
add ecx, 8
mov dword [ebp + 4], ecx
mov ecx, dword [edi*4 + 0x6d9358]
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 0x5e9767
lea eax, [esp + 0x34]
push eax
mov edi, ebp
call fcn.005e60b0
add esp, 4
test eax, eax
je 0x5e9674
mov eax, dword [esp + 0x34]
mov ebx, dword [eax*8 + 0x6d9c68]
mov ecx, dword [eax*8 + 0x6d9c6c]
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 0x5e9814
mov eax, 0x20
sub eax, dword [ebp + 4]
cmp eax, edx
jae 0x5e97fc
lea esp, [esp]
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x5ea191
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 0x5e97c0
mov ebx, dword [esp + 0x50]
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
mov edi, dword [edx*4 + 0x6d9378]
shr eax, cl
and edi, eax
add ecx, edx
mov dword [ebp + 4], ecx
jmp 0x5e9816
xor edi, edi
movzx edx, bh
mov dword [esp + 0x30], edi
test edx, edx
je 0x5e9884
mov ecx, 0x20
sub ecx, dword [ebp + 4]
cmp ecx, edx
jae 0x5e986c
lea ecx, [ecx]
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x5ea191
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 0x5e9830
mov edi, dword [esp + 0x30]
mov ecx, dword [ebp + 4]
mov ebx, dword [ebp]
mov eax, dword [edx*4 + 0x6d9378]
shr ebx, cl
and eax, ebx
add ecx, edx
mov dword [ebp + 4], ecx
jmp 0x5e9886
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 0x5e9b31
mov edx, dword [esp + 0x18]
sub dword [esi + 0xb8], edx
lea ecx, [ecx]
cmp dword [esi + 0xb0], 0
mov dword [esi], 8
je 0x5e99ce
cmp dword [esi + 0xc0], 0
jne 0x5e98e2
call fcn.005e73f0
test eax, eax
je 0x5e9674
cmp dword [esi + 0xb0], 0
je 0x5e98b0
mov edx, dword [esi + 0x100]
mov eax, 0x20
sub eax, dword [ebp + 4]
cmp eax, 0xf
jae 0x5e992e
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x5e9980
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 0x5e98f5
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
shr eax, cl
and eax, dword [0x6d93b4]
mov edi, eax
and edi, 0xff
mov bl, byte [edx + edi*4]
lea edx, [edx + edi*4]
cmp bl, 8
jbe 0x5e9970
movzx edi, bl
add ecx, 8
mov dword [ebp + 4], ecx
mov ecx, dword [edi*4 + 0x6d9358]
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 0x5e9997
lea eax, [esp + 0x38]
push eax
mov edi, ebp
call fcn.005e60b0
add esp, 4
test eax, eax
je 0x5e9674
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 0x5ea1e1
sub dword [esp + 0x18], ecx
jne 0x5e98c3
jmp 0x5e9b24
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 0x5e9a13
call fcn.005e73f0
test eax, eax
je 0x5e9674
cmp dword [esi + 0xb0], 0
jne 0x5e98b0
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 0x5e9a89
lea ebx, [ebx]
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x5e9adb
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 0x5e9a50
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
shr eax, cl
and eax, dword [0x6d93b4]
mov edi, eax
and edi, 0xff
mov bl, byte [edx + edi*4]
lea edx, [edx + edi*4]
cmp bl, 8
jbe 0x5e9acb
movzx edi, bl
add ecx, 8
mov dword [ebp + 4], ecx
mov ecx, dword [edi*4 + 0x6d9358]
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 0x5e9af6
lea eax, [esp + 0x3c]
push eax
mov edi, ebp
call fcn.005e60b0
add esp, 4
test eax, eax
je 0x5e9674
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 0x5ea1e1
sub dword [esp + 0x18], ecx
jne 0x5e99f0
cmp dword [esi + 0xb8], 0
jle 0x5ea171
mov eax, dword [esi + 0x10c]
mov dword [esi], 9
test eax, eax
jl 0x5e9b60
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 0x5e9da0
cmp dword [esi + 0xc8], 0
jne 0x5e9b78
mov ebx, esi
call fcn.005e7ed0
test eax, eax
je 0x5e9674
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 0x5e9be9
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x5e9c3b
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 0x5e9bb0
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
shr eax, cl
and eax, dword [0x6d93b4]
mov edi, eax
and edi, 0xff
mov bl, byte [edx + edi*4]
lea edx, [edx + edi*4]
cmp bl, 8
jbe 0x5e9c2b
movzx edi, bl
add ecx, 8
mov dword [ebp + 4], ecx
mov ecx, dword [edi*4 + 0x6d9358]
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 0x5e9c56
lea eax, [esp + 0x40]
push eax
mov edi, ebp
call fcn.005e60b0
add esp, 4
test eax, eax
je 0x5e9674
mov edi, dword [esp + 0x40]
dec dword [esi + 0xc8]
mov dword [esi + 0xb4], 0
test edi, 0xfffffff0
jne 0x5e9cfd
cmp edi, 3
mov dword [esi + 0x10c], edi
jg 0x5e9cab
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 0x5e9da6
cmp edi, 0xa
mov eax, 3
lea ecx, [edi - 0xa]
jge 0x5e9cbd
lea ecx, [edi - 4]
jmp 0x5e9cc2
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 0x5e9da6
mov dword [esi + 0x10c], 0x7fffffff
jmp 0x5e9da6
movzx edx, byte [edi + esi + 0x270]
test edx, edx
je 0x5e9e4b
cmp edx, 0x18
ja 0x5e9d76
mov ecx, 0x20
sub ecx, dword [ebp + 4]
cmp ecx, edx
jae 0x5e9d5a
mov edi, edi
cmp dword [ebp + 0xc], 0
je 0x5ea1b2
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 0x5e9d20
mov ecx, dword [ebp + 4]
mov ebx, dword [ebp]
mov eax, dword [edx*4 + 0x6d9378]
shr ebx, cl
and eax, ebx
add ecx, edx
mov dword [esp + 0x28], eax
mov dword [ebp + 4], ecx
jmp 0x5e9d91
lea ecx, [esp + 0x28]
push ecx
push edx
push ebp
call fcn.005e5670
add esp, 0xc
test eax, eax
je 0x5ea1b2
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 0x5e9dbb
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jge 0x5e9db8
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 0x5ea09d
cmp edi, 0x7ffffffc
jg 0x5ea1ed
mov eax, edi
sub eax, ecx
lea ebx, [eax - 1]
cmp ebx, dword [esp + 0x2c]
jge 0x5e9e56
sub ecx, edi
add ecx, dword [esp + 0x2c]
push edx
mov eax, ecx
mov edi, esi
call fcn.005e8570
add esp, 4
test eax, eax
je 0x5ea1fa
mov edi, dword [esp + 0x14]
push edi
push esi
call fcn.005e8610
add edi, eax
add esp, 8
cmp edi, dword [esi + 0x40]
mov dword [esp + 0x14], edi
jl 0x5ea164
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 0x5e9d91
lea ecx, [edx - 4]
cmp ecx, 0x1b
ja 0x5ea207
mov ecx, dword [esi + 0x248]
cmp dword [ecx + 0x7c], 0
je 0x5e9eb6
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 0x5e9ebb
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 + 0x6d9378]
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 0x5e9f27
mov ecx, dword [esp + 0x30]
cmp byte [ecx + edx], 0
jne 0x5ea007
mov eax, dword [esi + 0x248]
cmp byte [eax + 0xc0], 1
jbe 0x5ea007
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 0x5ea007
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 0x5e9fc9
mov al, byte [eax + edx]
test al, al
je 0x5e9fc9
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 0x5e9fdf
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 0x5e9f70
jmp 0x5ea007
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 + 0x6d9378]
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 0x5ea207
mov eax, dword [eax + 0xa4]
test eax, eax
je 0x5ea214
mov ecx, dword [esp + 0x20]
cmp edi, dword [ecx + 0xc]
jge 0x5ea221
mov ebx, dword [esp + 0x24]
movsx ecx, word [ecx + 0x18]
add eax, ebx
mov ebx, edx
cmp edi, ecx
jne 0x5ea054
push edx
mov edx, dword [esi + 0x60]
add edx, dword [esp + 0x18]
push eax
push edx
call fcn.00619c20
add esp, 0xc
jmp 0x5ea07f
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.005ebd50
mov ebx, eax
add esp, 0x14
test ebx, ebx
jne 0x5ea07f
cmp dword [esi + 0x10c], 0x78
jle 0x5ea221
mov eax, dword [esp + 0x14]
sub dword [esi + 0xb8], ebx
add eax, ebx
cmp eax, dword [esi + 0x40]
mov dword [esp + 0x14], eax
jge 0x5e9e2b
jmp 0x5ea164
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 0x5ea0ff
cmp dword [esp + 0x30], eax
jg 0x5e960f
mov edi, dword [esi + 0x40]
cmp dword [esp + 0x30], edi
jge 0x5e960f
cmp dword [esp + 0x48], edi
jge 0x5e960f
cmp edx, 0x10
mov edi, dword [esp + 0x30]
mov dword [esp + 0x14], edi
jle 0x5ea164
cmp edx, 0x20
jle 0x5ea143
add edx, 0xfffffff0
push edx
mov edx, dword [esp + 0x28]
lea eax, [edx + eax + 0x10]
push eax
add ecx, 0x10
push ecx
call fcn.00619c20
add esp, 0xc
jmp 0x5ea164
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 0x5e9658
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 0x5e9674
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 0x5e9674
mov dword [esi], 0x10
jmp 0x5ea177
sub dword [esp + 0x18], ecx
mov dword [esi], 0xd
jmp 0x5ea177
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