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

Disassembly:
mov edx, dword [esp + 0x30]
add edx, dword [esi + ebp*4]
cmp byte [edx], 0
je 0x10006166
xor ebx, ebx
inc ebx
cmp byte [ebx + edx], 0
cmp al, 0x13
add byte [ebp - 7], dh
xor ecx, ecx
test ebx, ebx
je 0x1000599a
mov dword [esp + 0x18], ebp
xor eax, eax
mov dword [esp + 0x1c], ebx
sbb al, 0x89
je 0x1000598c
adc al, 0x89
jl fcn.10005990
invalid
mov ebp, dword [esp + 0xc]
movzx esi, byte [eax + edx]
xor ebx, ebx
test ebp, ebp
in eax, dx
jbe 0x10005984
xor edi, edi
inc edi
add ebx, ecx
cmp edi, ebp
jb 0x1000597d
inc eax
lea ecx, [ebx + esi]
cmp eax, dword [esp + 0x1c]
jb 0x10005971
mov ebp, dword [esp + 0x18]
and al, 0x18
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
cmp ecx, edi
je 0x1000614d
inc ebp
cmp ebp, dword [esp + 8]
jb 0x1000593c
mov ebx, dword [esp + 0x30]
xor eax, eax
mov edx, dword [0x104414b2]
push edx
push 0
call eax
mov ebp, eax
mov edi, dword [ebx + 0x3c]
add edi, ebx
mov eax, dword [0x104414a6]
mov edx, dword [str.gT4]
mov ecx, dword [0x104414de]
mov esi, dword [edi + eax*8 + 0x78]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
mov edx, dword [esi + ebx + 0x24]
mov edi, dword [esi + ebx + 0x20]
add edx, ebx
mov ecx, dword [esi + ebx + 0x1c]
add edi, ebx
mov eax, dword [esi + ebx + 0x18]
add ecx, ebx
test eax, eax
jbe 0x10005a86
mov dword [esp + 0x1c], ebp
xor esi, esi
mov dword [esp + 0x30], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
add edx, dword [edi + esi*4]
cmp byte [edx], 0
je 0x10006146
xor ebx, ebx
inc ebx
cmp byte [ebx + edx], 0
jne 0x10005a27
xor ecx, ecx
test ebx, ebx
je 0x10005a6f
mov dword [esp + 0x20], ebx
xor eax, eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], edi
mov ebp, dword [esp + 0xc]
movzx esi, byte [eax + edx]
xor ebx, ebx
test ebp, ebp
jbe 0x10005a59
xor edi, edi
inc edi
add ebx, ecx
cmp edi, ebp
jb 0x10005a52
inc eax
lea ecx, [ebx + esi]
cmp eax, dword [esp + 0x20]
jb 0x10005a46
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
cmp ecx, ebp
je 0x10006129
inc esi
cmp esi, dword [esp + 8]
jb 0x10005a15
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x1c]
xor eax, eax
push 0x104
push ebp
push 0
call eax
mov edx, eax
mov eax, dword [str.tbfrxho]
mov esi, dword [0x104414e6]
movzx ecx, word [ebp + edx*2 - 2]
cmp cx, si
je 0x10005ac1
xor edi, edi
mov word [ebp + edx*2], di
dec edx
mov esi, dword [0x104414e6]
movzx ecx, word [ebp + edx*2 - 2]
cmp cx, si
jne 0x10005aab
cmp byte [eax], 0
je 0x10005ad9
xor ecx, ecx
movsx esi, byte [ecx + eax]
inc ecx
mov word [ebp + edx*2], si
inc edx
cmp byte [ecx + eax], 0
jne 0x10005ac8
mov edi, dword [ebx + 0x3c]
add edi, ebx
mov eax, dword [0x104414a6]
mov edx, dword [0x104414ae]
mov ecx, dword [0x104414de]
mov esi, dword [edi + eax*8 + 0x78]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
mov edi, dword [esi + ebx + 0x24]
mov edx, dword [esi + ebx + 0x20]
add edi, ebx
mov ecx, dword [esi + ebx + 0x1c]
add edx, ebx
mov esi, dword [esi + ebx + 0x18]
add ecx, ebx
test esi, esi
jbe 0x10005ba3
invalid
mov dword [esp], edi
xor eax, eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x1c], ebp
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x30]
add ebx, dword [edx + eax*4]
cmp byte [ebx], 0
je 0x10006122
xor esi, esi
inc esi
cmp byte [esi + ebx], 0
jne 0x10005b44
xor ebp, ebp
test esi, esi
je 0x10005b8c
mov dword [esp + 0x14], edx
xor ecx, ecx
mov dword [esp + 0x20], esi
mov dword [esp + 0x18], eax
inc esp
and al, 0x18
mov edx, dword [esp + 0xc]
movzx esi, byte [ecx + ebx]
xor eax, eax
test edx, edx
jbe 0x10005b76
xor edi, edi
inc edi
add eax, ebp
cmp edi, edx
jb 0x10005b6f
inc ecx
lea ebp, [eax + esi]
cmp ecx, dword [esp + 0x20]
jb 0x10005b63
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
cmp ebp, edi
je 0x10006105
inc eax
cmp eax, dword [esp + 8]
jb 0x10005b32
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x30], ebx
xor ebx, ebx
push ebx
mov edi, dword [0x104414c2]
mov esi, dword [0x104414a2]
mov ecx, dword [0x1044149e]
mov edx, dword [0x10441496]
push edx
push ecx
push ebx
push esi
push edi
push ebp
mov ebx, dword [esp + 0x4c]
call eax
mov esi, eax
mov eax, dword [ebx + 0x3c]
add eax, ebx
mov edi, dword [0x104414a6]
mov ecx, dword [0x104414ea]
mov edx, dword [0x104414de]
mov eax, dword [eax + edi*8 + 0x78]
mov dword [esp + 0xc], edx
mov dword [esp + 0x14], ecx
mov edx, dword [eax + ebx + 0x20]
add edx, ebx
mov dword [esp + 0x18], edx
mov ecx, dword [eax + ebx + 0x24]
mov edx, dword [eax + ebx + 0x1c]
add ecx, ebx
mov eax, dword [eax + ebx + 0x18]
add edx, ebx
test eax, eax
jbe 0x10005caa
mov dword [esp + 0x1c], ebp
xor edi, edi
mov dword [esp + 0x10], esi
mov dword [esp + 0x30], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ecx
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x30]
add edx, dword [ebp + edi*4]
cmp byte [edx], 0
je 0x100060fe
xor ebx, ebx
inc ebx
cmp byte [ebx + edx], 0
jne 0x10005c4b
xor ecx, ecx
test ebx, ebx
je 0x10005c8f
mov dword [esp + 0x24], ebx
xor eax, eax
mov dword [esp + 0x20], edi
mov ebp, dword [esp + 0xc]
movzx esi, byte [eax + edx]
xor ebx, ebx
test ebp, ebp
jbe 0x10005c79
xor edi, edi
inc edi
add ebx, ecx
cmp edi, ebp
jb 0x10005c72
inc eax
lea ecx, [ebx + esi]
cmp eax, dword [esp + 0x24]
jb 0x10005c66
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
cmp ecx, esi
je 0x100060dd
inc edi
cmp edi, dword [esp + 8]
jb 0x10005c38
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
xor eax, eax
push 0
push esi
call eax
mov ecx, eax
test ecx, ecx
jne 0x10005cc1
xor eax, eax
add esp, 0x38
pop ebp
pop ebx
pop edi
pop esi
ret
mov edi, dword [ebx + 0x3c]
add edi, ebx
mov eax, dword [0x104414a6]
mov edx, dword [str.uz_uz_cyrl]
mov dword [esp + 0x24], edx
mov edi, dword [edi + eax*8 + 0x78]
mov edx, dword [0x104414de]
mov dword [esp + 0x18], edx
mov edx, dword [edi + ebx + 0x20]
add edx, ebx
mov dword [esp + 0x14], edx
mov eax, dword [edi + ebx + 0x24]
mov edx, dword [edi + ebx + 0x1c]
add eax, ebx
mov edi, dword [edi + ebx + 0x18]
add edx, ebx
mov dword [esp + 0xc], edi
test edi, edi
jbe 0x10005d9e
xor edi, edi
mov dword [esp], edx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x1c], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
xor ecx, ecx
mov dword [esp + 0x10], esi
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x30]
add ebp, dword [edx + edi*4]
cmp byte [ebp], 0
je 0x100060d6
mov eax, ecx
inc eax
cmp byte [eax + ebp], 0
jne 0x10005d3b
mov esi, ecx
test eax, eax
je 0x10005d7d
mov dword [esp + 0x28], eax
mov ebx, ecx
mov dword [esp + 0x20], edi
mov edx, dword [esp + 0x18]
movzx ecx, byte [ebx + ebp]
xor eax, eax
test edx, edx
jbe 0x10005d69
xor edi, edi
inc edi
add eax, esi
cmp edi, edx
jb 0x10005d62
inc ebx
lea esi, [eax + ecx]
cmp ebx, dword [esp + 0x28]
jb 0x10005d56
mov edi, dword [esp + 0x20]
xor ecx, ecx
mov edx, dword [esp + 0x14]
cmp esi, dword [esp + 0x24]
je 0x100060b1
inc edi
cmp edi, dword [esp + 0xc]
jb 0x10005d28
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0x10]
xor eax, eax
xor edx, edx
lea edi, [esp + 0x14]
mov dword [edi], edx
push edx
push edi
push ecx
push ebp
push esi
call eax
mov eax, dword [esp + 0x14]
inc esp
and al, 0x14
mov edx, dword [0x1044148e]
add eax, ebp
add ebp, edx
mov dword [esp + 0x18], eax
mov edx, dword [ebp]
mov eax, dword [ebp + 4]
test edx, edx
jbe 0x10005df3
mov ecx, edx
shr ecx, 1
je 0x100060a7
xor esi, esi
add dword [ebp + esi*8 + 8], eax
add dword [ebp + esi*8 + 0xc], eax
inc esi
cmp esi, ecx
jb 0x10005dd7
lea esi, [esi + esi + 1]
lea ecx, [esi - 1]
cmp ecx, edx
jae 0x10005df3
add dword [ebp + esi*4 + 4], eax
mov eax, dword [ebx + 0x3c]
add eax, ebx
mov edx, dword [0x104414ca]
mov esi, dword [0x104414a6]
mov ecx, dword [0x1044149a]
lcall 0xde3d, 0x8b104414
adc al, 0x44
adc byte [ebx - 0x76870fbc], cl
push esp
and al, 0xc
mov dword [esp + 0x28], ecx
mov dword [esp + 0x10], edi
mov edi, dword [eax + ebx + 0x24]
mov edx, dword [eax + ebx + 0x20]
add edi, ebx
mov ecx, dword [eax + ebx + 0x1c]
add edx, ebx
mov esi, dword [eax + ebx + 0x18]
add ecx, ebx
test esi, esi
jbe 0x10005ec7
xor eax, eax
mov dword [esp + 0x30], ebx
mov dword [esp + 8], esi
mov dword [esp], ecx
mov dword [esp + 4], edi
xor edi, edi
mov dword [esp + 0x1c], ebp
mov ecx, dword [esp + 0x30]
add ecx, dword [edx + eax*4]
cmp byte [ecx], 0
add byte [edi], cl
test byte [ebx], bh
add al, byte [eax]
invalid
mov esi, edi
inc esi
cmp byte [esi + ecx], 0
jne 0x10005e67
mov ebx, edi
test esi, esi
je 0x10005eae
mov dword [esp + 0x20], edx
mov ebp, edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x10]
movzx esi, byte [ebp + ecx]
xor eax, eax
test edx, edx
jbe 0x10005e9a
xor edi, edi
inc edi
add eax, ebx
cmp edi, edx
jb 0x10005e93
inc ebp
lea ebx, [eax + esi]
cmp ebp, dword [esp + 0x2c]
jb 0x10005e86
mov eax, dword [esp + 0x24]
xor edi, edi
mov edx, dword [esp + 0x20]
cmp ebx, dword [esp + 0x28]
je 0x10006083
inc eax
cmp eax, dword [esp + 8]
jb 0x10005e55
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x1c]
xor eax, eax
mov edx, dword [ebx + 0x3c]
add edx, ebx
mov esi, dword [0x104414a6]
mov edi, dword [0x104414ee]
inc esp
adc byte [ebx + 0x4414de0d], cl
adc byte [ebx - 0x76870dac], cl
dec esp
and al, 0x20
mov dword [esp + 0x24], edi
mov ecx, dword [edx + ebx + 0x20]
add ecx, ebx
mov dword [esp + 0x28], ecx
mov edi, dword [edx + ebx + 0x24]
mov ecx, dword [edx + ebx + 0x1c]
add edi, ebx
mov edx, dword [edx + ebx + 0x18]
add ecx, ebx
test edx, edx
jbe 0x10005f9d
mov dword [esp], edi
xor esi, esi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x30], ebx
mov dword [esp + 8], eax
mov dword [esp + 0x10], edx
mov dword [esp + 4], ecx
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
add edx, dword [ebp + esi*4]
cmp byte [edx], 0
je 0x1000607c
xor ebx, ebx
inc ebx
cmp byte [ebx + edx], 0
jne 0x10005f42
xor ecx, ecx
test ebx, ebx
je 0x10005f86
mov dword [esp + 0x34], ebx
xor eax, eax
mov dword [esp + 0x2c], esi
je 0x10005f7c
sub al, 0x8b
insb byte es:[edi], dx
and al, 0x20
movzx esi, byte [eax + edx]
xor ebx, ebx
test ebp, ebp
jbe 0x10005f70
xor edi, edi
inc edi
add ebx, ecx
cmp edi, ebp
jb 0x10005f69
inc eax
lea ecx, [ebx + esi]
cmp eax, dword [esp + 0x34]
jb 0x10005f5d
mov esi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
cmp ecx, edi
je 0x1000605d
inc esi
cmp esi, dword [esp + 0x10]
jb 0x10005f2f
mov eax, dword [esp + 8]
mov ebp, dword [esp + 0x1c]
xor ebx, ebx
mov esi, dword [esp + 0xc]
mov edx, dword [0x104414a2]
lea esi, [ebp + esi + 0x1e]
add edx, esi
push edx
call eax
mov edx, eax
movsx ebp, byte [esi]
add esi, ebp
mov edi, dword [0x104414ba]
add edi, esi
mov dword [esp + 0x10], edi
mov ebp, dword [esi + 4]
mov edi, dword [esi + 8]
mov esi, dword [edx + 0x3c]
mov eax, dword [0x104414f2]
mov esi, dword [esi + edx + 0x2c]
add esi, edx
lea edx, [esp + 0xc]
mov dword [edx], 0
push edx
push eax
push edi
push esi
call ebx
push edi
mov ecx, esi
mov edx, dword [esp + 0x14]
call fcn.10006177
lea eax, [esp + 0xc]
push eax
push dword [esp + 0x10]
push edi
push esi
call ebx
mov eax, dword [0x104414d6]
cmp byte [eax], 0
mov eax, 0
je 0x10006030
mov edx, dword [esp + 0x18]
mov ebx, dword [0x104414d6]
movsx ebx, byte [ebx + eax]
mov word [edx + eax*2], bx
inc eax
mov ebx, dword [0x104414d6]
cmp byte [ebx + eax], 0
jne 0x10006015
mov ebx, dword [esp + 0x18]
lea ecx, [esp]
xor edx, edx
add ebp, esi
mov word [ebx + eax*2], dx
mov eax, dword [ecx + 0x10]
add eax, edi
mov dword [ecx + 4], ebx
mov dword [ecx], eax
mov byte [ecx + 8], 1
push ecx
call ebp
mov eax, 1
add esp, 0x3c
pop ebp
pop ebx
pop edi
pop esi
ret
mov edi, dword [esp]
movzx edx, word [edi + esi*2]
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 4]
mov eax, dword [esp + 8]
xor ecx, ecx
jmp 0x10005f86
mov edi, dword [esp + 4]
movzx edx, word [edi + eax*2]
mov ebx, dword [esp + 0x30]
invalid