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

Disassembly:
push edi
push esi
push ebx
sub esp, 0x10
mov ebx, eax
mov eax, dword [edx + 0x60]
test eax, 0x40000000
je 0x591f7c
cmp byte [edx + 0x70], 0
je 0x591f7c
mov eax, dword [ebx]
mov esi, dword [edx]
cmp byte [ebx + 0x6c], 0
jne 0x591f4c
cmp byte [edx + 0x6c], 0
je 0x591f54
test eax, eax
je 0x591c60
cmp byte [0x6dc2c4], 4
jne 0x591f4c
mov dword [eax], esi
nop
mov eax, dword [ebx + 4]
mov esi, dword [edx + 4]
cmp byte [ebx + 0x6d], 0
jne 0x591f4c
cmp byte [edx + 0x6d], 0
je 0x591fb0
test eax, eax
je 0x591c90
cmp byte [0x6dc2c5], 4
jne 0x591f4c
mov dword [eax], esi
lea esi, [esi]
mov eax, dword [ebx + 8]
mov esi, dword [edx + 8]
cmp byte [ebx + 0x6e], 0
jne 0x591f4c
cmp byte [edx + 0x6e], 0
je 0x591fd8
test eax, eax
je 0x591cc0
cmp byte [0x6dc2c6], 4
jne 0x591f4c
mov dword [eax], esi
lea esi, [esi]
mov eax, dword [ebx + 0xc]
mov esi, dword [edx + 0xc]
cmp byte [ebx + 0x6f], 0
jne 0x591f4c
cmp byte [edx + 0x6f], 0
je 0x592000
test eax, eax
je 0x591cf0
cmp byte [0x6dc2c7], 4
jne 0x591f4c
mov dword [eax], esi
lea esi, [esi]
mov eax, dword [ebx + 0x10]
mov esi, dword [edx + 0x10]
cmp byte [ebx + 0x70], 0
jne 0x591f4c
cmp byte [edx + 0x70], 0
je 0x592028
test eax, eax
je 0x591d20
cmp byte [0x6dc2c8], 4
jne 0x591f4c
mov dword [eax], esi
lea esi, [esi]
mov eax, dword [ebx + 0x14]
mov esi, dword [edx + 0x14]
cmp byte [ebx + 0x71], 0
jne 0x591f4c
cmp byte [edx + 0x71], 0
je 0x592050
test eax, eax
je 0x591d50
cmp byte [0x6dc2c9], 4
jne 0x591f4c
mov dword [eax], esi
lea esi, [esi]
mov eax, dword [ebx + 0x18]
mov esi, dword [edx + 0x18]
cmp byte [ebx + 0x72], 0
jne 0x591f4c
cmp byte [edx + 0x72], 0
je 0x592078
test eax, eax
je 0x591d80
cmp byte [0x6dc2ca], 4
jne 0x591f4c
mov dword [eax], esi
lea esi, [esi]
mov eax, dword [ebx + 0x1c]
mov esi, dword [edx + 0x1c]
cmp byte [ebx + 0x73], 0
jne 0x591f4c
cmp byte [edx + 0x73], 0
je 0x5920a0
test eax, eax
je 0x591db0
cmp byte [0x6dc2cb], 4
jne 0x591f4c
mov dword [eax], esi
lea esi, [esi]
mov eax, dword [ebx + 0x20]
mov esi, dword [edx + 0x20]
cmp byte [ebx + 0x74], 0
jne 0x591f4c
cmp byte [edx + 0x74], 0
je 0x5920c8
test eax, eax
je 0x591de0
cmp byte [0x6dc2cc], 4
jne 0x591f4c
mov dword [eax], esi
lea esi, [esi]
mov eax, dword [ebx + 0x24]
mov esi, dword [edx + 0x24]
cmp byte [ebx + 0x75], 0
jne 0x591f4c
cmp byte [edx + 0x75], 0
je 0x5920f0
test eax, eax
je 0x591e10
cmp byte [0x6dc2cd], 4
jne 0x591f4c
mov dword [eax], esi
lea esi, [esi]
mov eax, dword [ebx + 0x28]
mov esi, dword [edx + 0x28]
cmp byte [ebx + 0x76], 0
jne 0x591f4c
cmp byte [edx + 0x76], 0
je 0x592118
test eax, eax
je 0x591e40
cmp byte [0x6dc2ce], 4
jne 0x591f4c
mov dword [eax], esi
lea esi, [esi]
mov eax, dword [ebx + 0x2c]
mov esi, dword [edx + 0x2c]
cmp byte [ebx + 0x77], 0
jne 0x591f4c
cmp byte [edx + 0x77], 0
je 0x592140
test eax, eax
je 0x591e70
cmp byte [0x6dc2cf], 4
jne 0x591f4c
mov dword [eax], esi
lea esi, [esi]
mov eax, dword [ebx + 0x30]
mov esi, dword [edx + 0x30]
cmp byte [ebx + 0x78], 0
jne 0x591f4c
cmp byte [edx + 0x78], 0
je 0x592168
test eax, eax
je 0x591ea0
cmp byte [0x6dc2d0], 4
jne 0x591f4c
mov dword [eax], esi
lea esi, [esi]
mov eax, dword [ebx + 0x34]
mov esi, dword [edx + 0x34]
cmp byte [ebx + 0x79], 0
jne 0x591f4c
cmp byte [edx + 0x79], 0
je 0x592190
test eax, eax
je 0x591ed0
cmp byte [0x6dc2d1], 4
jne 0x591f4c
mov dword [eax], esi
lea esi, [esi]
mov eax, dword [ebx + 0x38]
mov esi, dword [edx + 0x38]
cmp byte [ebx + 0x7a], 0
jne 0x591f4c
cmp byte [edx + 0x7a], 0
je 0x5921b8
test eax, eax
je 0x591ef8
cmp byte [0x6dc2d2], 4
jne 0x591f4c
mov dword [eax], esi
lea esi, [esi]
mov eax, dword [ebx + 0x3c]
mov esi, dword [edx + 0x3c]
cmp byte [ebx + 0x7b], 0
jne 0x591f4c
cmp byte [edx + 0x7b], 0
je 0x5921e0
test eax, eax
je 0x591f20
cmp byte [0x6dc2d3], 4
jne 0x591f4c
mov dword [eax], esi
lea esi, [esi]
mov eax, dword [ebx + 0x40]
mov esi, dword [edx + 0x40]
cmp byte [ebx + 0x7c], 0
jne 0x591f4c
cmp byte [edx + 0x7c], 0
je 0x592208
test eax, eax
je 0x59221f
cmp byte [0x6dc2d4], 4
je 0x592260
nop
call sub.msvcrt.dll_abort
lea esi, [esi]
test esi, esi
je 0x591c60
test eax, eax
je 0x591c60
cmp esi, eax
je 0x591c60
movzx ecx, byte [0x6dc2c4]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x591c60
mov ecx, dword [edx + 0x10]
test ecx, ecx
jne 0x591c34
mov ecx, dword [edx + 0x48]
cmp byte [0x6dc2c8], 4
jne 0x591f4c
mov dword [esp + 0xc], ecx
test eax, 0x40000000
je 0x591fa2
mov byte [edx + 0x70], 0
lea eax, [esp + 0xc]
mov dword [edx + 0x10], eax
jmp 0x591c34
test esi, esi
je 0x591c90
test eax, eax
je 0x591c90
cmp esi, eax
je 0x591c90
movzx ecx, byte [0x6dc2c5]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x591c90
test esi, esi
je 0x591cc0
test eax, eax
je 0x591cc0
cmp esi, eax
je 0x591cc0
movzx ecx, byte [0x6dc2c6]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x591cc0
test esi, esi
je 0x591cf0
test eax, eax
je 0x591cf0
cmp esi, eax
je 0x591cf0
movzx ecx, byte [0x6dc2c7]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x591cf0
test esi, esi
je 0x591d20
test eax, eax
je 0x591d20
cmp esi, eax
je 0x591d20
movzx ecx, byte [0x6dc2c8]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x591d20
test esi, esi
je 0x591d50
test eax, eax
je 0x591d50
cmp esi, eax
je 0x591d50
movzx ecx, byte [0x6dc2c9]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x591d50
test esi, esi
je 0x591d80
test eax, eax
je 0x591d80
cmp esi, eax
je 0x591d80
movzx ecx, byte [0x6dc2ca]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x591d80
test esi, esi
je 0x591db0
test eax, eax
je 0x591db0
cmp esi, eax
je 0x591db0
movzx ecx, byte [0x6dc2cb]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x591db0
test esi, esi
je 0x591de0
test eax, eax
je 0x591de0
cmp esi, eax
je 0x591de0
movzx ecx, byte [0x6dc2cc]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x591de0
test esi, esi
je 0x591e10
test eax, eax
je 0x591e10
cmp esi, eax
je 0x591e10
movzx ecx, byte [0x6dc2cd]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x591e10
test esi, esi
je 0x591e40
test eax, eax
je 0x591e40
cmp esi, eax
je 0x591e40
movzx ecx, byte [0x6dc2ce]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x591e40
test esi, esi
je 0x591e70
test eax, eax
je 0x591e70
cmp esi, eax
je 0x591e70
movzx ecx, byte [0x6dc2cf]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x591e70
test esi, esi
je 0x591ea0
test eax, eax
je 0x591ea0
cmp esi, eax
je 0x591ea0
movzx ecx, byte [0x6dc2d0]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x591ea0
test esi, esi
je 0x591ed0
test eax, eax
je 0x591ed0
cmp esi, eax
je 0x591ed0
movzx ecx, byte [0x6dc2d1]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x591ed0
test esi, esi
je 0x591ef8
test eax, eax
je 0x591ef8
cmp esi, eax
je 0x591ef8
movzx ecx, byte [0x6dc2d2]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x591ef8
test esi, esi
je 0x591f20
test eax, eax
je 0x591f20
cmp esi, eax
je 0x591f20
movzx ecx, byte [0x6dc2d3]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x591f20
test esi, esi
je 0x59221f
test eax, eax
je 0x59221f
cmp esi, eax
je 0x59221f
movzx ecx, byte [0x6dc2d4]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
test byte [ebx + 0x63], 0x40
je 0x592234
cmp byte [ebx + 0x70], 0
je 0x592234
xor eax, eax
add esp, 0x10
pop ebx
pop esi
pop edi
ret
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x59222b
movzx eax, byte [0x6dc2c8]
mov ecx, dword [edx + 0x10]
test byte [edx + 0x63], 0x40
je 0x592251
cmp byte [edx + 0x70], 0
jne 0x59226c
cmp eax, 4
jne 0x591f4c
mov eax, dword [ecx]
jmp 0x59226e
mov dword [eax], esi
test byte [ebx + 0x63], 0x40
je 0x592234
jmp 0x592225
mov eax, ecx
sub eax, dword [ebx + 0x48]
add eax, dword [edx + 0x68]
add esp, 0x10
pop ebx
pop esi
pop edi
ret