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

Disassembly:
mov edx, dword [ebp + esi + 0x24]
mov ecx, dword [ebp + esi + 0x20]
add edx, esi
mov ebx, dword [ebp + esi + 0x1c]
add ecx, esi
add ebx, esi
mov esi, dword [ebp + esi + 0x18]
mov dword [esp + 8], edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x14], esi
mov ebx, dword [esp + 0x14]
mov ebp, dword [0x598570f1]
test ebx, ebx
jbe 0x59806d84
mov ecx, dword [esp + 0x50]
xor eax, eax
mov edx, dword [esp + 0x44]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x74], ebp
mov ebp, dword [edx + eax*4]
add ebp, dword [esp + 0x78]
mov ebx, dword [0x59857131]
cmp byte [ebp], 0
je 0x598074dd
xor edi, edi
inc edi
cmp byte [edi + ebp], 0
jne 0x59806d33
xor esi, esi
test edi, edi
je 0x59806d73
mov dword [esp + 0x7c], edi
xor ecx, ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], edx
movzx edx, byte [ecx + ebp]
xor eax, eax
test ebx, ebx
jbe 0x59806d61
xor edi, edi
inc edi
add eax, esi
cmp edi, ebx
jb 0x59806d5a
inc ecx
lea esi, [eax + edx]
cmp ecx, dword [esp + 0x7c]
jb 0x59806d4e
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
cmp esi, dword [esp + 0x74]
je 0x598074c3
inc eax
cmp eax, dword [esp + 0x68]
jb 0x59806d1a
xor ecx, ecx
mov edx, dword [0x59857119]
mov eax, dword [0x59857121]
push eax
push edx
call ecx
mov ebp, eax
mov ecx, dword [esp + 0x14]
mov ebx, dword [0x598570d5]
test ecx, ecx
jbe 0x59806e47
mov eax, dword [esp + 0x50]
xor esi, esi
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x70], ebp
mov dword [esp + 0x80], eax
mov dword [esp + 0x7c], edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x78], ebx
mov eax, dword [esp + 0x7c]
mov edx, dword [edi + 0x64]
mov ecx, dword [eax + esi*4]
add ecx, dword [esp + 0x80]
cmp byte [ecx], 0
je 0x598074bc
xor ebp, ebp
inc ebp
cmp byte [ebp + ecx], 0
jne 0x59806dea
xor ebx, ebx
test ebp, ebp
je 0x59806e32
mov dword [esp + 0x84], ebp
xor eax, eax
mov dword [esp + 0x74], esi
mov dword [esp + 0x6c], edi
movzx esi, byte [eax + ecx]
xor ebp, ebp
test edx, edx
jbe 0x59806e1c
xor edi, edi
inc edi
add ebp, ebx
cmp edi, edx
jb 0x59806e15
inc eax
lea ebx, [ebp + esi]
cmp eax, dword [esp + 0x84]
jb 0x59806e09
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x6c]
cmp ebx, dword [esp + 0x78]
je 0x5980749b
inc esi
cmp esi, dword [esp + 0x68]
jb 0x59806dce
mov ebp, dword [esp + 0x70]
xor eax, eax
push 0x148
push ebp
push 0
call eax
mov edx, eax
mov eax, dword [0x5985711d]
mov ebx, dword [0x5985710d]
movzx ecx, word [ebp + edx*2 - 2]
cmp cx, bx
je 0x59806e82
xor esi, esi
mov word [ebp + edx*2], si
dec edx
mov ebx, dword [0x5985710d]
movzx ecx, word [ebp + edx*2 - 2]
cmp cx, bx
jne 0x59806e6c
cmp byte [eax], 0
je 0x59806e9a
xor ecx, ecx
movsx ebx, byte [ecx + eax]
inc ecx
mov word [ebp + edx*2], bx
inc edx
cmp byte [ecx + eax], 0
jne 0x59806e89
mov ecx, dword [esp + 0x14]
mov ebx, dword [0x598570f9]
test ecx, ecx
jbe 0x59806f4a
mov eax, dword [esp + 0x50]
xor esi, esi
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x70], ebp
mov dword [esp + 0x80], eax
mov dword [esp + 0x7c], edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x78], ebx
mov eax, dword [esp + 0x7c]
mov edx, dword [edi + 0x64]
mov ecx, dword [eax + esi*4]
add ecx, dword [esp + 0x80]
cmp byte [ecx], 0
je 0x59807494
xor ebp, ebp
inc ebp
cmp byte [ebp + ecx], 0
jne 0x59806eed
xor ebx, ebx
test ebp, ebp
je 0x59806f35
mov dword [esp + 0x84], ebp
xor eax, eax
mov dword [esp + 0x74], esi
mov dword [esp + 0x6c], edi
movzx esi, byte [eax + ecx]
xor ebp, ebp
test edx, edx
jbe 0x59806f1f
xor edi, edi
inc edi
add ebp, ebx
cmp edi, edx
jb 0x59806f18
inc eax
lea ebx, [ebp + esi]
cmp eax, dword [esp + 0x84]
jb 0x59806f0c
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x6c]
cmp ebx, dword [esp + 0x78]
je 0x59807473
inc esi
cmp esi, dword [esp + 0x68]
jb 0x59806ed1
mov ebp, dword [esp + 0x70]
xor eax, eax
xor ebx, ebx
push ebx
mov edi, dword [0x598570cd]
mov esi, dword [0x59857135]
mov ecx, dword [0x598570e5]
mov edx, dword [0x59857109]
push edx
push ecx
push ebx
push esi
push edi
push ebp
call eax
mov ebx, eax
mov esi, dword [esp + 0x14]
mov edi, dword [0x598570e1]
test esi, esi
jbe 0x5980702e
mov edx, dword [esp + 0x44]
xor eax, eax
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x70], ebp
mov dword [esp + 0x84], ecx
mov dword [esp + 0x68], esi
mov dword [esp + 0x80], edi
mov dword [esp + 0x74], ebx
mov ecx, dword [esp + 0x7c]
mov ebx, dword [edx + 0x64]
mov ebp, dword [ecx + eax*4]
add ebp, dword [esp + 0x84]
cmp byte [ebp], 0
je 0x5980746c
xor edi, edi
inc edi
cmp byte [edi + ebp], 0
jne 0x59806fcc
xor esi, esi
test edi, edi
je 0x59807012
mov dword [esp + 0x88], edi
xor ecx, ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0x6c], edx
movzx edx, byte [ecx + ebp]
xor eax, eax
test ebx, ebx
jbe 0x59806ffd
xor edi, edi
inc edi
add eax, esi
cmp edi, ebx
jb 0x59806ff6
inc ecx
lea esi, [eax + edx]
cmp ecx, dword [esp + 0x88]
jb 0x59806fea
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x6c]
cmp esi, dword [esp + 0x80]
je 0x59807447
inc eax
cmp eax, dword [esp + 0x68]
jb 0x59806faf
mov ebp, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
xor ecx, ecx
push 0
push ebx
call ecx
mov edi, eax
test edi, edi
jne 0x59807048
xor eax, eax
add esp, 0x94
pop ebp
pop ebx
pop edi
pop esi
ret
mov ecx, dword [esp + 0x14]
mov esi, dword [0x59857125]
test ecx, ecx
jbe 0x59807116
mov eax, dword [esp + 0x44]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x80], eax
xor eax, eax
mov dword [esp + 0x70], ebp
mov dword [esp + 0x84], edx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x88], esi
xor esi, esi
mov dword [esp + 0x68], edi
mov dword [esp + 0x74], ebx
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov edx, dword [edx + eax*4]
add edx, dword [esp + 0x84]
xor edx, edx
xor eax, eax
lea ecx, [esp + 0x6c]
mov dword [ecx], eax
push eax
push ecx
push edi
push ebp
push ebx
call edx
mov eax, dword [esp + 0x6c]
mov edx, dword [0x59857129]
add eax, ebp
add ebp, edx
mov dword [esp + 0x70], eax
mov edx, dword [ebp]
mov eax, dword [ebp + 4]
test edx, edx
jbe 0x5980716b
mov ecx, edx
shr ecx, 1
je 0x5980740d
xor ebx, ebx
add dword [ebp + ebx*8 + 8], eax
add dword [ebp + ebx*8 + 0xc], eax
inc ebx
cmp ebx, ecx
jb 0x5980714f
lea ebx, [ebx + ebx + 1]
lea ecx, [ebx - 1]
cmp ecx, edx
jae 0x5980716b
add dword [ebp + ebx*4 + 4], eax
mov eax, dword [0x59857111]
mov ecx, dword [esp + 0x14]
add eax, ebp
mov dword [esp + 0x68], eax
mov esi, dword [0x598570d1]
test ecx, ecx
jbe 0x59807230
mov ebp, dword [esp + 0x50]
xor eax, eax
mov ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x7c], esi
xor esi, esi
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
mov edx, dword [edx + eax*4]
add edx, dword [esp + 0x8c]
mov ebp, dword [ecx + 0x64]
cmp byte [edx], 0
je 0x59807406
mov edi, esi
inc edi
cmp byte [edi + edx], 0
jne 0x598071db
mov ebx, esi
test edi, edi
je 0x5980721b
mov dword [esp + 0x88], edi
mov ecx, esi
mov dword [esp + 0x78], eax
movzx esi, byte [ecx + edx]
xor eax, eax
test ebp, ebp
jbe 0x59807208
xor edi, edi
inc edi
add eax, ebx
cmp edi, ebp
jb 0x59807201
inc ecx
lea ebx, [eax + esi]
cmp ecx, dword [esp + 0x88]
jb 0x598071f5
mov eax, dword [esp + 0x78]
xor esi, esi
cmp ebx, dword [esp + 0x7c]
je 0x598073e5
inc eax
cmp eax, dword [esp + 0x74]
jb 0x598071b5
mov ecx, dword [esp + 0x74]
xor ebp, ebp
mov edi, dword [0x598570fd]
test ecx, ecx
jbe 0x598072ee
mov ebx, dword [esp + 0x50]
xor eax, eax
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x84], esi
mov dword [esp + 0x80], edi
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x84]
mov ebx, dword [edx + 0x64]
mov esi, dword [ecx + eax*4]
add esi, dword [esp + 0x88]
cmp byte [esi], 0
je 0x598073de
xor edi, edi
inc edi
cmp byte [edi + esi], 0
jne 0x5980728d
xor ebp, ebp
test edi, edi
je 0x598072d3
mov dword [esp + 0x90], edi
xor ecx, ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], edx
movzx edx, byte [ecx + esi]
xor eax, eax
test ebx, ebx
jbe 0x598072be
xor edi, edi
inc edi
add eax, ebp
cmp edi, ebx
jb 0x598072b7
inc ecx
lea ebp, [eax + edx]
cmp ecx, dword [esp + 0x90]
jb 0x598072ab
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
cmp ebp, dword [esp + 0x80]
je 0x598073ba
inc eax
cmp eax, dword [esp + 0x74]
jb 0x5980726e
mov ebp, dword [esp + 0x8c]
xor ebx, ebx
mov eax, dword [0x59857135]
add eax, dword [esp + 0x68]
push eax
call ebp
mov edx, eax
mov edi, dword [esp + 0x68]
lea eax, [esp + 0xc]
mov ebp, dword [0x59857101]
mov ecx, dword [0x598570e9]
movsx esi, byte [edi]
add edi, esi
add ebp, edi
mov dword [eax + 4], ebp
mov ebp, dword [edx + 0x3c]
mov esi, dword [edi + 4]
mov edi, dword [edi + 8]
mov ebp, dword [ebp + edx + 0x2c]
mov dword [eax], 0
add ebp, edx
push eax
push ecx
push edi
push ebp
call ebx
push edi
mov ecx, ebp
mov edx, dword [esp + 0x14]
call fcn.598074e7
lea eax, [esp + 0xc]
push eax
push dword [esp + 0x10]
push edi
push ebp
call ebx
mov eax, dword [str.rkmcrb]
cmp byte [eax], 0
mov eax, 0
je 0x5980737e
mov edx, dword [esp + 0x70]
mov ebx, dword [str.rkmcrb]
movsx ebx, byte [ebx + eax]
mov word [edx + eax*2], bx
inc eax
mov ebx, dword [str.rkmcrb]
cmp byte [ebx + eax], 0
jne 0x59807363
mov ebx, dword [esp + 0x70]
lea ecx, [esp]
xor edx, edx
add esi, ebp
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 esi
mov eax, 1
add esp, 0x98
pop ebp
pop ebx
pop edi
pop esi
ret
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x8c]
mov word [eax], es
add byte [eax], al
movzx ecx, word [edx + eax*2]
mov eax, dword [esp + 0x28]
mov esi, dword [eax + ecx*4]
add ebx, esi
jmp 0x598072f0
xor ebp, ebp
jmp 0x598072d3
mov edx, dword [esp + 8]
mov ebp, dword [esp + 0x8c]
mov ecx, dword [esp + 0x74]
movzx ebx, word [edx + eax*2]
mov eax, dword [esp + 0x28]
mov esi, dword [eax + ebx*4]
add ebp, esi
jmp 0x59807232
mov ebx, esi
jmp 0x5980721b
mov ebx, 1
jmp 0x59807160
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0x84]
mov ebp, dword [esp + 0x70]
movzx esi, word [edx + eax*2]
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x74]
mov edi, dword [eax + esi*4]
add ecx, edi
jmp 0x59807030
xor esi, esi
jmp 0x59807012
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x80]
movzx ebx, word [edx + esi*2]
mov ebp, dword [esp + 0x70]
mov esi, dword [ecx + ebx*4]
add eax, esi
jmp 0x59806f4c
xor ebx, ebx
jmp 0x59806f35
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x80]
movzx ebx, word [edx + esi*2]
mov ebp, dword [esp + 0x70]
mov esi, dword [ecx + ebx*4]
add eax, esi
jmp 0x59806e49
xor ebx, ebx
jmp 0x59806e32
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0x78]
movzx ebx, word [edx + eax*2]
mov eax, dword [esp + 0x28]
mov ebp, dword [eax + ebx*4]
add ecx, ebp
jmp 0x59806d86
invalid
xor esi, esi
jmp 0x59806d73