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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x40
mov ebp, dword [esp + 0x54]
mov esi, dword [ebp + 0x249c]
mov eax, dword [esi + 0x1c]
test eax, 0x200
je 0x443c0a
mov eax, dword [esp + 0x58]
mov ebx, dword [eax + 0x5c]
add ebx, dword [eax + 0x78]
mov edx, dword [eax + 0x7c]
test edx, edx
jne 0x443ba7
jmp 0x4445a4
mov esi, dword [ebp + 0x249c]
movzx ecx, byte [ebx]
mov edi, dword [ebp + 0x24a0]
mov edi, dword [edi]
movzx eax, word [esi + 0x24]
mov edi, dword [edi]
mov eax, dword [edi + eax*4]
add eax, dword [esi]
movzx esi, word [eax + ecx*2]
test esi, 0x40
je 0x4445a4
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
test eax, eax
jle 0x4445a4
cmp ecx, 0xa
je 0x4447af
mov edx, dword [esp + 0x5c]
add eax, 0xffffffff
mov dword [edx], eax
mov eax, dword [esp + 0x58]
mov edx, dword [eax + 0x7c]
add edx, 0xffffffff
add dword [eax + 0x78], 1
mov dword [eax + 0x7c], edx
add ebx, 1
test edx, edx
jne 0x443ba1
jmp 0x4445a4
mov edx, dword [esp + 0x58]
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x30], esi
mov esi, dword [edx + 0xd8]
mov eax, dword [esi + 8]
mov edx, dword [edx + 0x7c]
mov dword [esp + 0x34], eax
test edx, edx
je 0x443eae
mov dword [esp + 0x38], ebx
mov ebx, eax
mov eax, dword [esi]
test eax, eax
je 0x443c5f
mov eax, dword [esi + 0xc]
mov edx, dword [ebp + 0x24a0]
mov ecx, dword [edx]
movzx edx, word [eax + 0x24]
mov edi, dword [ecx]
mov edx, dword [edi + edx*4]
add edx, dword [eax]
mov eax, dword [esi + 8]
movzx eax, byte [eax]
movzx eax, word [edx + eax*2]
and eax, 0x40
jmp 0x443c6e
push dword [ebp + 0x24a0]
push esi
call sub.OCI.dll_lxmspax
add esp, 8
test eax, eax
je 0x44473e
mov edx, dword [esi]
test edx, edx
jne 0x443cdb
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x1c]
test ecx, 0x4000000
jne 0x443cea
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x443ca4
mov ecx, dword [esi + 0x14]
test ecx, ecx
mov eax, 0
sete al
mov dword [esp + 0x2c], eax
jmp 0x443cd7
mov edi, dword [ebp + 0x24a0]
mov dword [esp + 0x3c], edx
mov edx, dword [edi]
movzx edi, word [eax + 0x24]
mov ecx, dword [edx]
mov edx, dword [ecx + edi*4]
add edx, dword [eax]
mov eax, dword [esi + 8]
movzx eax, byte [eax]
movzx eax, word [edx + eax*2]
mov edx, dword [esp + 0x3c]
test al, 3
mov eax, 0
sete al
mov dword [esp + 0x2c], eax
test eax, eax
je 0x443cea
mov eax, dword [esi + 8]
movzx ecx, byte [eax]
cmp ecx, 0xa
je 0x444752
mov eax, dword [ebp + 0x187c]
test eax, eax
je 0x443d50
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0x10]
neg eax
add eax, ecx
cmp eax, dword [esi + 0x18]
jae 0x443d2c
mov eax, dword [esi + 0xc]
mov edx, dword [eax + 0x1c]
test dl, 0x10
je 0x443d1b
add ecx, 1
mov dword [esi + 8], ecx
mov eax, 1
jmp 0x443d34
push dword [ebp + 0x24a0]
push esi
call sub.OCI.dll_lxmfwdx
add esp, 8
jmp 0x443d34
add ecx, 1
mov dword [esi + 8], ecx
xor eax, eax
mov edx, dword [esp + 0x5c]
sub dword [edx], eax
add ebx, eax
mov ecx, dword [esp + 0x58]
mov edx, dword [ecx + 0x7c]
add dword [ecx + 0x78], eax
sub edx, eax
mov dword [ecx + 0x7c], edx
jmp 0x443e9e
test edx, edx
je 0x443d5b
mov eax, 1
jmp 0x443d9f
mov eax, dword [esi + 4]
test eax, eax
je 0x443d79
mov eax, dword [esi + 0x14]
test eax, eax
je 0x443d72
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 0x46]
jmp 0x443d9f
mov eax, 1
jmp 0x443d9f
mov eax, dword [esi + 0xc]
mov edx, dword [ebp + 0x24a0]
mov ecx, dword [edx]
movzx edx, word [eax + 0x24]
mov edi, dword [ecx]
mov edx, dword [edi + edx*4]
add edx, dword [eax]
mov eax, dword [esi + 8]
movzx eax, byte [eax]
movzx eax, word [edx + eax*2]
and eax, 3
add eax, 1
mov edx, dword [esp + 0x5c]
sub dword [edx], eax
mov eax, dword [esi]
test eax, eax
je 0x443db2
mov eax, 1
jmp 0x443df6
mov eax, dword [esi + 4]
test eax, eax
je 0x443dd0
mov eax, dword [esi + 0x14]
test eax, eax
je 0x443dc9
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 0x46]
jmp 0x443df6
mov eax, 1
jmp 0x443df6
mov eax, dword [esi + 0xc]
mov edx, dword [ebp + 0x24a0]
mov ecx, dword [edx]
movzx edx, word [eax + 0x24]
mov edi, dword [ecx]
mov edx, dword [edi + edx*4]
add edx, dword [eax]
mov eax, dword [esi + 8]
movzx eax, byte [eax]
movzx eax, word [edx + eax*2]
and eax, 3
add eax, 1
mov edx, dword [esp + 0x58]
sub dword [edx + 0x7c], eax
mov eax, dword [esi]
test eax, eax
je 0x443e0a
mov eax, 1
jmp 0x443e4e
mov eax, dword [esi + 4]
test eax, eax
je 0x443e28
mov eax, dword [esi + 0x14]
test eax, eax
je 0x443e21
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 0x46]
jmp 0x443e4e
mov eax, 1
jmp 0x443e4e
mov eax, dword [esi + 0xc]
mov edx, dword [ebp + 0x24a0]
mov ecx, dword [edx]
movzx edx, word [eax + 0x24]
mov edi, dword [ecx]
mov edx, dword [edi + edx*4]
add edx, dword [eax]
mov eax, dword [esi + 8]
movzx eax, byte [eax]
movzx eax, word [edx + eax*2]
and eax, 3
add eax, 1
mov edx, dword [esp + 0x58]
add dword [edx + 0x78], eax
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0x10]
neg eax
add eax, ecx
cmp eax, dword [esi + 0x18]
jae 0x443e8d
mov eax, dword [esi + 0xc]
mov edx, dword [eax + 0x1c]
test dl, 0x10
je 0x443e7c
add ecx, 1
mov dword [esi + 8], ecx
mov eax, 1
jmp 0x443e95
push dword [ebp + 0x24a0]
push esi
call sub.OCI.dll_lxmfwdx
add esp, 8
jmp 0x443e95
add ecx, 1
mov dword [esi + 8], ecx
xor eax, eax
add ebx, eax
mov eax, dword [esp + 0x58]
mov edx, dword [eax + 0x7c]
test edx, edx
jne 0x443c34
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x38]
test edx, edx
jne 0x443ec1
mov eax, dword [esp + 0x5c]
mov dword [eax], 0
jmp 0x444597
mov eax, dword [ebp + 0x187c]
test eax, eax
je 0x443f79
mov eax, dword [esi]
test eax, eax
jne 0x443f3c
mov eax, dword [esi + 0xc]
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x2c], eax
test edx, 0x4000000
jne 0x443f43
mov eax, dword [esi + 4]
test eax, eax
je 0x443f01
mov edi, dword [esi + 0x14]
test edi, edi
mov eax, 0
sete al
mov dword [esp + 0x2c], eax
jmp 0x443f38
mov edi, dword [ebp + 0x24a0]
mov eax, dword [edi]
mov edx, dword [eax]
mov eax, dword [esi + 8]
movzx eax, byte [eax]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x2c]
movzx ecx, word [ebx + 0x24]
mov edx, dword [edx + ecx*4]
add edx, dword [ebx]
mov ebx, dword [esp + 0x38]
movzx eax, word [edx + eax*2]
test al, 3
mov eax, 0
sete al
mov dword [esp + 0x2c], eax
test eax, eax
je 0x443f43
mov eax, 1
jmp 0x443f52
push dword [ebp + 0x24a0]
push esi
call sub.OCI.dll_lxmdssln
add esp, 8
mov edx, dword [esp + 0x5c]
mov edx, dword [edx]
cmp eax, edx
jbe 0x443f70
mov edx, dword [esp + 0x5c]
mov dword [edx], 0
xor eax, eax
add esp, 0x40
pop ebx
pop ebp
pop esi
pop edi
ret
test edx, edx
jl 0x443f5c
jmp 0x44401e
mov eax, dword [esi]
test eax, eax
jne 0x443fe6
mov eax, dword [esi + 0xc]
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x2c], eax
test edx, 0x4000000
jne 0x443fed
mov eax, dword [esi + 4]
test eax, eax
je 0x443fab
mov edi, dword [esi + 0x14]
test edi, edi
mov eax, 0
sete al
mov dword [esp + 0x2c], eax
jmp 0x443fe2
mov edi, dword [ebp + 0x24a0]
mov eax, dword [edi]
mov edx, dword [eax]
mov eax, dword [esi + 8]
movzx eax, byte [eax]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x2c]
movzx ecx, word [ebx + 0x24]
mov edx, dword [edx + ecx*4]
add edx, dword [ebx]
mov ebx, dword [esp + 0x38]
movzx eax, word [edx + eax*2]
test al, 3
mov eax, 0
sete al
mov dword [esp + 0x2c], eax
test eax, eax
je 0x443fed
mov eax, 1
jmp 0x443ffc
push dword [ebp + 0x24a0]
push esi
call sub.OCI.dll_lxmdspx
add esp, 8
mov edx, dword [esp + 0x5c]
mov edx, dword [edx]
cmp eax, edx
jbe 0x44401a
mov edx, dword [esp + 0x5c]
mov dword [edx], 0
xor eax, eax
add esp, 0x40
pop ebx
pop ebp
pop esi
pop edi
ret
test edx, edx
jl 0x444006
mov edx, dword [esp + 0x58]
mov eax, dword [edx + 0xd8]
mov ecx, dword [eax]
mov dword [esp], ecx
mov esi, dword [eax + 4]
mov dword [esp + 4], esi
mov edi, dword [eax + 8]
mov dword [esp + 8], edi
mov edx, dword [eax + 0xc]
mov dword [esp + 0xc], edx
mov edx, dword [eax + 0x10]
mov dword [esp + 0x10], edx
mov edx, dword [eax + 0x14]
mov dword [esp + 0x14], edx
mov edx, dword [eax + 0x18]
mov dword [esp + 0x18], edx
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x1c], edx
mov edx, dword [eax + 0x20]
mov dword [esp + 0x20], edx
mov edx, dword [eax + 0x24]
mov dword [esp + 0x24], edx
mov eax, dword [eax + 0x28]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x187c]
test eax, eax
je 0x44428b
mov edi, dword [esp + 8]
mov edx, dword [esp + 0x58]
mov eax, edi
sub eax, dword [esp + 0x34]
cmp eax, dword [edx + 0x7c]
jae 0x444713
mov ecx, dword [ebp + 0x24a0]
mov eax, dword [esp]
test eax, eax
je 0x4440ab
mov edx, dword [esp + 4]
jmp 0x4440ff
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0x1c]
test eax, 0x4000000
jne 0x444106
mov edx, dword [esp + 4]
test edx, edx
je 0x4440d1
mov eax, dword [esp + 0x14]
test eax, eax
mov eax, 0
sete al
jmp 0x4440fb
movzx eax, word [esi + 0x24]
mov dword [esp + 0x3c], ecx
mov ecx, dword [ecx]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
add eax, dword [esi]
mov ecx, dword [esp + 0x3c]
movzx esi, byte [edi]
movzx edi, word [eax + esi*2]
test edi, 3
mov eax, 0
sete al
test eax, eax
je 0x444106
mov eax, 1
jmp 0x44411e
push ecx
lea eax, [esp + 4]
push eax
call sub.OCI.dll_lxmdssln
add esp, 8
mov edx, dword [esp + 4]
mov ecx, dword [ebp + 0x24a0]
test edx, edx
je 0x444131
mov edx, dword [esp + 0x14]
test edx, edx
je 0x444131
mov edx, 1
jmp 0x444133
xor edx, edx
add eax, ebx
add eax, edx
mov edx, dword [esp + 0x5c]
cmp eax, dword [edx]
ja 0x444283
push ecx
lea eax, [esp + 4]
push eax
call sub.OCI.dll_lxmdssln
add esp, 8
mov ecx, dword [esp + 8]
add ebx, eax
mov eax, dword [esp + 0x10]
neg eax
add eax, ecx
cmp eax, dword [esp + 0x18]
jae 0x44418f
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x1c]
test dl, 0x10
je 0x44417a
add ecx, 1
mov dword [esp + 8], ecx
jmp 0x444196
push dword [ebp + 0x24a0]
lea eax, [esp + 4]
push eax
call sub.OCI.dll_lxmfwdx
add esp, 8
jmp 0x444196
add ecx, 1
mov dword [esp + 8], ecx
mov edx, dword [esp]
test edx, edx
jne 0x4441f0
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x1c]
test ecx, 0x4000000
jne 0x444200
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x4441c4
mov eax, dword [esp + 0x14]
test eax, eax
mov eax, 0
sete al
jmp 0x4441ec
mov ecx, dword [ebp + 0x24a0]
mov esi, dword [ecx]
movzx ecx, word [eax + 0x24]
mov edi, dword [esi]
mov ecx, dword [edi + ecx*4]
add ecx, dword [eax]
mov eax, dword [esp + 8]
movzx eax, byte [eax]
movzx eax, word [ecx + eax*2]
test al, 3
mov eax, 0
sete al
test eax, eax
je 0x444200
mov eax, dword [esp + 8]
movzx ecx, byte [eax]
cmp ecx, 0xa
je 0x444783
test edx, edx
je 0x44422b
mov eax, dword [esp + 0xc]
mov ecx, dword [ebp + 0x24a0]
mov edx, dword [ecx]
movzx edi, word [eax + 0x24]
mov esi, dword [edx]
mov edx, dword [esi + edi*4]
add edx, dword [eax]
mov eax, dword [esp + 8]
movzx eax, byte [eax]
movzx eax, word [edx + eax*2]
and eax, 0x40
jmp 0x444244
push dword [ebp + 0x24a0]
lea eax, [esp + 4]
push eax
call sub.OCI.dll_lxmspax
add esp, 8
mov ecx, dword [ebp + 0x24a0]
test eax, eax
je 0x444264
push ecx
lea eax, [esp + 4]
push eax
call sub.OCI.dll_lxmdssln
mov dword [esp + 0x38], eax
add esp, 8
mov ecx, dword [ebp + 0x24a0]
add dword [esp + 0x30], ebx
mov edi, dword [esp + 8]
mov edx, dword [esp + 0x58]
mov eax, edi
sub eax, dword [esp + 0x34]
cmp eax, dword [edx + 0x7c]
jb 0x44409e
mov edi, dword [esp]
jmp 0x444532
mov edi, dword [esp]
jmp 0x444532
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x58]
xor ebx, ebx
mov edx, eax
sub edx, dword [esp + 0x34]
cmp edx, dword [ecx + 0x7c]
jae 0x444730
mov esi, dword [esp + 0x30]
mov edi, dword [esp]
test edi, edi
jne 0x444307
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x1c]
test edx, 0x4000000
jne 0x44430e
mov edx, dword [esp + 4]
test edx, edx
je 0x4442d6
mov edx, dword [esp + 0x14]
test edx, edx
mov edx, 0
sete dl
jmp 0x444303
movzx edx, word [ecx + 0x24]
mov dword [esp + 0x38], ebx
mov ebx, dword [ebp + 0x24a0]
mov ebx, dword [ebx]
mov ebx, dword [ebx]
mov edx, dword [ebx + edx*4]
add edx, dword [ecx]
mov ebx, dword [esp + 0x38]
movzx ecx, byte [eax]
movzx edx, word [edx + ecx*2]
test dl, 3
mov edx, 0
sete dl
test edx, edx
je 0x44430e
mov eax, 1
jmp 0x444324
push dword [ebp + 0x24a0]
lea edx, [esp + 4]
push edx
call sub.OCI.dll_lxmdspx
add esp, 8
mov edi, dword [esp]
mov edx, dword [esp + 0x5c]
add eax, ebx
cmp eax, dword [edx]
ja 0x444721
test edi, edi
jne 0x44438a
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x1c]
test edx, 0x4000000
jne 0x44439a
mov edx, dword [esp + 4]
test edx, edx
je 0x44435d
mov edx, dword [esp + 0x14]
test edx, edx
mov edx, 0
sete dl
jmp 0x444386
mov edx, dword [ebp + 0x24a0]
mov edx, dword [edx]
movzx ecx, word [eax + 0x24]
mov edx, dword [edx]
mov edx, dword [edx + ecx*4]
add edx, dword [eax]
mov ecx, dword [esp + 8]
movzx ecx, byte [ecx]
movzx edx, word [edx + ecx*2]
test dl, 3
mov edx, 0
sete dl
test edx, edx
je 0x44439a
mov edx, dword [esp + 8]
movzx ecx, byte [edx]
cmp ecx, 0xa
je 0x4447d0
test edi, edi
je 0x4443c5
mov eax, dword [esp + 0xc]
mov edx, dword [ebp + 0x24a0]
mov edx, dword [edx]
movzx ecx, word [eax + 0x24]
mov edx, dword [edx]
mov edx, dword [edx + ecx*4]
add edx, dword [eax]
mov ecx, dword [esp + 8]
movzx ecx, byte [ecx]
movzx eax, word [edx + ecx*2]
and eax, 0x40
jmp 0x4443db
push dword [ebp + 0x24a0]
lea edx, [esp + 4]
push edx
call sub.OCI.dll_lxmspax
add esp, 8
mov edi, dword [esp]
test eax, eax
je 0x444457
test edi, edi
jne 0x444436
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x1c]
test edx, 0x4000000
jne 0x44443d
mov edx, dword [esp + 4]
test edx, edx
je 0x44440a
mov eax, dword [esp + 0x14]
test eax, eax
mov eax, 0
sete al
jmp 0x444432
mov edx, dword [ebp + 0x24a0]
mov ecx, dword [edx]
movzx edx, word [eax + 0x24]
mov esi, dword [ecx]
mov edx, dword [esi + edx*4]
add edx, dword [eax]
mov eax, dword [esp + 8]
movzx eax, byte [eax]
movzx eax, word [edx + eax*2]
test al, 3
mov eax, 0
sete al
test eax, eax
je 0x44443d
mov esi, 1
jmp 0x444455
push dword [ebp + 0x24a0]
lea eax, [esp + 4]
push eax
call sub.OCI.dll_lxmdspx
mov esi, eax
add esp, 8
mov edi, dword [esp]
add esi, ebx
test edi, edi
jne 0x4444af
mov edx, dword [esp + 0xc]
mov ecx, dword [edx + 0x1c]
test ecx, 0x4000000
jne 0x4444b6
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x444482
mov edx, dword [esp + 0x14]
test edx, edx
mov edx, 0
sete dl
jmp 0x4444ab
mov ecx, dword [ebp + 0x24a0]
mov edi, dword [ecx]
movzx eax, word [edx + 0x24]
mov ecx, dword [edi]
mov ecx, dword [ecx + eax*4]
add ecx, dword [edx]
mov edx, dword [esp + 8]
movzx edx, byte [edx]
movzx edx, word [ecx + edx*2]
test dl, 3
mov edx, 0
sete dl
test edx, edx
je 0x4444b6
mov eax, 1
jmp 0x4444c9
push dword [ebp + 0x24a0]
lea edx, [esp + 4]
push edx
call sub.OCI.dll_lxmdspx
add esp, 8
mov edx, dword [esp + 0x10]
add ebx, eax
mov eax, dword [esp + 8]
neg edx
add edx, eax
cmp edx, dword [esp + 0x18]
jae 0x44450b
mov edx, dword [esp + 0xc]
mov ecx, dword [edx + 0x1c]
test cl, 0x10
je 0x4444f2
add eax, 1
mov dword [esp + 8], eax
jmp 0x444512
push dword [ebp + 0x24a0]
lea edx, [esp + 4]
push edx
call sub.OCI.dll_lxmfwdx
add esp, 8
mov eax, dword [esp + 8]
jmp 0x444512
add eax, 1
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x58]
mov edx, eax
sub edx, dword [esp + 0x34]
cmp edx, dword [ecx + 0x7c]
jb 0x4442a8
mov edi, dword [esp]
mov ecx, dword [ebp + 0x24a0]
mov dword [esp + 0x30], esi
test edi, edi
je 0x444558
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 8]
mov ecx, dword [ecx]
movzx edx, word [ebp + 0x24]
mov eax, dword [ecx]
mov edi, dword [eax + edx*4]
add edi, dword [ebp]
movzx eax, byte [esi]
movzx eax, word [edi + eax*2]
and eax, 0x40
jmp 0x444566
push ecx
lea eax, [esp + 4]
push eax
call sub.OCI.dll_lxmspax
add esp, 8
test eax, eax
je 0x444587
mov eax, dword [esp + 0x5c]
cmp ebx, dword [eax]
jg 0x444587
mov eax, dword [esp + 8]
sub eax, dword [esp + 0x34]
mov edx, dword [esp + 0x58]
cmp eax, dword [edx + 0x7c]
ja 0x444587
mov dword [esp + 0x30], ebx
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x5c]
cmp ebx, eax
jl 0x444595
mov ebx, eax
mov dword [edx], ebx
mov eax, 1
add esp, 0x40
pop ebx
pop ebp
pop esi
pop edi
ret
test edx, edx
jne 0x4445b4
mov eax, dword [esp + 0x5c]
mov dword [eax], 0
jmp 0x444597
push 0xa
push 0xffffffffffffffff
push ebx
push ebp
call fcn.00458f04
add esp, 0x10
test eax, eax
je 0x444708
mov ecx, dword [esp + 0x5c]
mov ecx, dword [ecx]
lea edx, [ebx + ecx]
cmp eax, edx
jae 0x4445fb
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
neg ebx
add ebx, eax
add ebx, 1
mov dword [edx], ebx
mov byte [eax], 0x20
mov eax, 1
mov byte [ecx], 1
add esp, 0x40
pop ebx
pop ebp
pop esi
pop edi
ret
mov esi, dword [ebp + 0x249c]
movzx eax, word [esi + 0x24]
mov ebp, dword [ebp + 0x24a0]
mov edi, dword [ebp]
mov ebp, dword [edi]
mov eax, dword [ebp + eax*4]
add eax, dword [esi]
movzx ebp, byte [ebx]
movzx ebp, word [eax + ebp*2]
xor edx, edx
and ebp, 0x40
jne 0x4446fc
mov esi, dword [esp + 0x58]
mov esi, dword [esi + 0x7c]
cmp edx, esi
jae 0x444646
movzx ebp, byte [ebx + 1]
movzx ebp, word [eax + ebp*2]
add edx, 1
add ebx, 1
and ebp, 0x40
je 0x44462f
cmp edx, esi
jne 0x444665
test ebp, ebp
jne 0x444665
mov edx, dword [esp + 0x5c]
mov dword [edx], 0
mov eax, 1
add esp, 0x40
pop ebx
pop ebp
pop esi
pop edi
ret
cmp edx, ecx
jg 0x4446ed
test edx, edx
jle 0x4446ed
mov edx, dword [esp + 0x58]
mov ebx, dword [edx + 0x5c]
add ebx, dword [edx + 0x78]
movzx ebp, byte [ecx + ebx - 1]
movzx esi, word [eax + ebp*2]
lea edi, [ecx - 1]
lea edx, [ebx + ecx - 1]
test esi, 0x40
jne 0x444597
movzx ebx, byte [edi + ebx + 1]
movzx ebp, word [eax + ebx*2]
test ebp, 0x40
jne 0x444597
add edx, 0xffffffff
movzx ebx, byte [edx]
movzx ebp, word [eax + ebx*2]
add ecx, 0xffffffff
test ebp, 0x40
jne 0x4446da
test ecx, ecx
jle 0x4446da
add edx, 0xffffffff
movzx ebx, byte [edx]
movzx ebp, word [eax + ebx*2]
add ecx, 0xffffffff
test ebp, 0x40
je 0x4446c1
test ecx, ecx
je 0x444597
mov eax, dword [esp + 0x5c]
mov dword [eax], ecx
jmp 0x444597
mov eax, dword [esp + 0x5c]
mov dword [eax], 0
jmp 0x444597
mov ebx, dword [esp + 0x58]
mov esi, dword [ebx + 0x7c]
jmp 0x444646
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax]
jmp 0x4445fb
mov edi, dword [esp]
mov ecx, dword [ebp + 0x24a0]
jmp 0x444532
mov ecx, dword [ebp + 0x24a0]
mov dword [esp + 0x30], esi
jmp 0x444532
mov edi, dword [esp]
mov ecx, dword [ebp + 0x24a0]
jmp 0x444532
mov eax, dword [esp + 0x58]
mov edx, dword [eax + 0x7c]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x38]
jmp 0x443eae
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x34], ebx
sub eax, dword [esp + 0x34]
add eax, 1
mov dword [edx], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [esi + 8]
add ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0x10]
mov byte [ecx], 0x20
mov byte [eax], 1
mov eax, 1
add esp, 0x40
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, dword [esp + 0x5c]
add ebx, 1
mov dword [edx], ebx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0x60]
add eax, ecx
sub eax, ecx
mov byte [eax], 0x20
mov byte [ebx], 1
mov eax, 1
add esp, 0x40
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
mov byte [ebx], 0x20
mov ecx, 1
mov dword [edx], ecx
mov byte [eax], cl
mov eax, 1
add esp, 0x40
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, dword [esp + 0x5c]
add ebx, 1
mov dword [edx], ebx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0x60]
add eax, ecx
sub eax, ecx
mov byte [eax], 0x20
mov byte [ebx], 1
mov eax, 1
add esp, 0x40
pop ebx
pop ebp
pop esi
pop edi
ret