Function at 0x5ee850
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.005ed880
mov dword [esp + 0x2c], eax
mov eax, dword [esi]
cmp eax, 7
je 0x5ee8e8
cmp eax, 8
je 0x5eeb40
cmp eax, 9
je 0x5eedc1
cmp eax, 0xa
jne 0x5ef4be
mov ecx, dword [esi + 0x40]
mov edi, dword [esp + 0x14]
mov edx, 1
sub ecx, edi
sub dword [esp + 0x18], edx
js 0x5ee8db
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 0x5ef469
sub dword [esp + 0x18], edx
jns 0x5ee8b3
cmp dword [esi + 0xb8], 0
jle 0x5ef401
cmp dword [esi + 0xc4], 0
mov dword [esi], 7
jne 0x5ee926
push esi
call fcn.005ecc10
add esp, 4
test eax, eax
jne 0x5ee8e8
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 0x5ee98a
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x5ee9dc
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 0x5ee951
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
shr eax, cl
and eax, dword [0x6df1b4]
mov edi, eax
and edi, 0xff
mov bl, byte [edx + edi*4]
lea edx, [edx + edi*4]
cmp bl, 8
jbe 0x5ee9cc
movzx edi, bl
add ecx, 8
mov dword [ebp + 4], ecx
mov ecx, dword [edi*4 + 0x6df158]
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 0x5ee9f7
lea eax, [esp + 0x34]
push eax
mov edi, ebp
call fcn.005eb340
add esp, 4
test eax, eax
je 0x5ee904
mov eax, dword [esp + 0x34]
mov ebx, dword [eax*8 + 0x6dfa68]
mov ecx, dword [eax*8 + 0x6dfa6c]
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 0x5eeaa4
mov eax, 0x20
sub eax, dword [ebp + 4]
cmp eax, edx
jae 0x5eea8c
lea esp, [esp]
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x5ef421
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 0x5eea50
mov ebx, dword [esp + 0x50]
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
mov edi, dword [edx*4 + 0x6df178]
shr eax, cl
and edi, eax
add ecx, edx
mov dword [ebp + 4], ecx
jmp 0x5eeaa6
xor edi, edi
movzx edx, bh
mov dword [esp + 0x30], edi
test edx, edx
je 0x5eeb14
mov ecx, 0x20
sub ecx, dword [ebp + 4]
cmp ecx, edx
jae 0x5eeafc
lea ecx, [ecx]
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x5ef421
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 0x5eeac0
mov edi, dword [esp + 0x30]
mov ecx, dword [ebp + 4]
mov ebx, dword [ebp]
mov eax, dword [edx*4 + 0x6df178]
shr ebx, cl
and eax, ebx
add ecx, edx
mov dword [ebp + 4], ecx
jmp 0x5eeb16
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 0x5eedc1
mov edx, dword [esp + 0x18]
sub dword [esi + 0xb8], edx
lea ecx, [ecx]
cmp dword [esi + 0xb0], 0
mov dword [esi], 8
je 0x5eec5e
cmp dword [esi + 0xc0], 0
jne 0x5eeb72
call fcn.005ec680
test eax, eax
je 0x5ee904
cmp dword [esi + 0xb0], 0
je 0x5eeb40
mov edx, dword [esi + 0x100]
mov eax, 0x20
sub eax, dword [ebp + 4]
cmp eax, 0xf
jae 0x5eebbe
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x5eec10
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 0x5eeb85
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
shr eax, cl
and eax, dword [0x6df1b4]
mov edi, eax
and edi, 0xff
mov bl, byte [edx + edi*4]
lea edx, [edx + edi*4]
cmp bl, 8
jbe 0x5eec00
movzx edi, bl
add ecx, 8
mov dword [ebp + 4], ecx
mov ecx, dword [edi*4 + 0x6df158]
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 0x5eec27
lea eax, [esp + 0x38]
push eax
mov edi, ebp
call fcn.005eb340
add esp, 4
test eax, eax
je 0x5ee904
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 0x5ef471
sub dword [esp + 0x18], ecx
jne 0x5eeb53
jmp 0x5eedb4
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 0x5eeca3
call fcn.005ec680
test eax, eax
je 0x5ee904
cmp dword [esi + 0xb0], 0
jne 0x5eeb40
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 0x5eed19
lea ebx, [ebx]
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x5eed6b
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 0x5eece0
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
shr eax, cl
and eax, dword [0x6df1b4]
mov edi, eax
and edi, 0xff
mov bl, byte [edx + edi*4]
lea edx, [edx + edi*4]
cmp bl, 8
jbe 0x5eed5b
movzx edi, bl
add ecx, 8
mov dword [ebp + 4], ecx
mov ecx, dword [edi*4 + 0x6df158]
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 0x5eed86
lea eax, [esp + 0x3c]
push eax
mov edi, ebp
call fcn.005eb340
add esp, 4
test eax, eax
je 0x5ee904
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 0x5ef471
sub dword [esp + 0x18], ecx
jne 0x5eec80
cmp dword [esi + 0xb8], 0
jle 0x5ef401
mov eax, dword [esi + 0x10c]
mov dword [esi], 9
test eax, eax
jl 0x5eedf0
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 0x5ef030
cmp dword [esi + 0xc8], 0
jne 0x5eee08
mov ebx, esi
call fcn.005ed160
test eax, eax
je 0x5ee904
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 0x5eee79
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x5eeecb
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 0x5eee40
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
shr eax, cl
and eax, dword [0x6df1b4]
mov edi, eax
and edi, 0xff
mov bl, byte [edx + edi*4]
lea edx, [edx + edi*4]
cmp bl, 8
jbe 0x5eeebb
movzx edi, bl
add ecx, 8
mov dword [ebp + 4], ecx
mov ecx, dword [edi*4 + 0x6df158]
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 0x5eeee6
lea eax, [esp + 0x40]
push eax
mov edi, ebp
call fcn.005eb340
add esp, 4
test eax, eax
je 0x5ee904
mov edi, dword [esp + 0x40]
dec dword [esi + 0xc8]
mov dword [esi + 0xb4], 0
test edi, 0xfffffff0
jne 0x5eef8d
cmp edi, 3
mov dword [esi + 0x10c], edi
jg 0x5eef3b
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 0x5ef036
cmp edi, 0xa
mov eax, 3
lea ecx, [edi - 0xa]
jge 0x5eef4d
lea ecx, [edi - 4]
jmp 0x5eef52
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 0x5ef036
mov dword [esi + 0x10c], 0x7fffffff
jmp 0x5ef036
movzx edx, byte [edi + esi + 0x270]
test edx, edx
je 0x5ef0db
cmp edx, 0x18
ja 0x5ef006
mov ecx, 0x20
sub ecx, dword [ebp + 4]
cmp ecx, edx
jae 0x5eefea
mov edi, edi
cmp dword [ebp + 0xc], 0
je 0x5ef442
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 0x5eefb0
mov ecx, dword [ebp + 4]
mov ebx, dword [ebp]
mov eax, dword [edx*4 + 0x6df178]
shr ebx, cl
and eax, ebx
add ecx, edx
mov dword [esp + 0x28], eax
mov dword [ebp + 4], ecx
jmp 0x5ef021
lea ecx, [esp + 0x28]
push ecx
push edx
push ebp
call fcn.005ea900
add esp, 0xc
test eax, eax
je 0x5ef442
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 0x5ef04b
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jge 0x5ef048
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 0x5ef32d
cmp edi, 0x7ffffffc
jg 0x5ef47d
mov eax, edi
sub eax, ecx
lea ebx, [eax - 1]
cmp ebx, dword [esp + 0x2c]
jge 0x5ef0e6
sub ecx, edi
add ecx, dword [esp + 0x2c]
push edx
mov eax, ecx
mov edi, esi
call fcn.005ed800
add esp, 4
test eax, eax
je 0x5ef48a
mov edi, dword [esp + 0x14]
push edi
push esi
call fcn.005ed8a0
add edi, eax
add esp, 8
cmp edi, dword [esi + 0x40]
mov dword [esp + 0x14], edi
jl 0x5ef3f4
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 0x5ef021
lea ecx, [edx - 4]
cmp ecx, 0x1b
ja 0x5ef497
mov ecx, dword [esi + 0x248]
cmp dword [ecx + 0x7c], 0
je 0x5ef146
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 0x5ef14b
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 + 0x6df178]
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 0x5ef1b7
mov ecx, dword [esp + 0x30]
cmp byte [ecx + edx], 0
jne 0x5ef297
mov eax, dword [esi + 0x248]
cmp byte [eax + 0xc0], 1
jbe 0x5ef297
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 0x5ef297
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 0x5ef259
mov al, byte [eax + edx]
test al, al
je 0x5ef259
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 0x5ef26f
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 0x5ef200
jmp 0x5ef297
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 + 0x6df178]
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 0x5ef497
mov eax, dword [eax + 0xa4]
test eax, eax
je 0x5ef4a4
mov ecx, dword [esp + 0x20]
cmp edi, dword [ecx + 0xc]
jge 0x5ef4b1
mov ebx, dword [esp + 0x24]
movsx ecx, word [ecx + 0x18]
add eax, ebx
mov ebx, edx
cmp edi, ecx
jne 0x5ef2e4
push edx
mov edx, dword [esi + 0x60]
add edx, dword [esp + 0x18]
push eax
push edx
call fcn.0061eea0
add esp, 0xc
jmp 0x5ef30f
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.005f0fd0
mov ebx, eax
add esp, 0x14
test ebx, ebx
jne 0x5ef30f
cmp dword [esi + 0x10c], 0x78
jle 0x5ef4b1
mov eax, dword [esp + 0x14]
sub dword [esi + 0xb8], ebx
add eax, ebx
cmp eax, dword [esi + 0x40]
mov dword [esp + 0x14], eax
jge 0x5ef0bb
jmp 0x5ef3f4
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 0x5ef38f
cmp dword [esp + 0x30], eax
jg 0x5ee89f
mov edi, dword [esi + 0x40]
cmp dword [esp + 0x30], edi
jge 0x5ee89f
cmp dword [esp + 0x48], edi
jge 0x5ee89f
cmp edx, 0x10
mov edi, dword [esp + 0x30]
mov dword [esp + 0x14], edi
jle 0x5ef3f4
cmp edx, 0x20
jle 0x5ef3d3
add edx, 0xfffffff0
push edx
mov edx, dword [esp + 0x28]
lea eax, [edx + eax + 0x10]
push eax
add ecx, 0x10
push ecx
call fcn.0061eea0
add esp, 0xc
jmp 0x5ef3f4
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 0x5ee8e8
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 0x5ee904
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 0x5ee904
mov dword [esi], 0x10
jmp 0x5ef407
sub dword [esp + 0x18], ecx
mov dword [esi], 0xd
jmp 0x5ef407
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