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

Disassembly:
mov eax, dword [ebp - 0x718]
add eax, 1
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x188]
add edx, 1
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
test ecx, ecx
je 0x514254
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
idiv edi
inc dword [ebp - 0x7a7bf040]
add byte [eax], al
invalid
push edx
push edx
add esp, 4
call 0x5141e3
add byte [ecx*2 + 0x443b4c45], bh
xor al, 0x3b
push eax
add esp, 4
and edx, 0x4871
sub edx, 0x15f79
pop edx
push ebx
sub ebx, 0xc4fb
or ebx, 0xcfc4
pop ebx
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
cmp edx, ecx
je 0x514246
mov edx, dword [ebp - 0x71c]
add edx, dword [ebp - 0x188]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x188]
movsx edx, byte [ebp + ecx - 0x830]
cmp eax, edx
jne 0x51424d
jmp 0x514193
jmp 0x514254
push ecx
push ebx
add esp, 4
or ecx, 0xe091
or ecx, 0x1831c
sub ecx, 0x6835
or ecx, 0xe498
pop ecx
push edx
push esi
add esp, 4
xor edx, 0xd15b
pop edx
push eax
sub eax, 0x6c01
pop eax
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
cmp ecx, eax
jne 0x5142b3
mov dword [ebp - 0xc5c], 0
jmp 0x514322
push ebx
push eax
add esp, 4
call 0x5142c6
add byte [edi + 0x47], cl
xor ecx, dword [edi + 0x47]
cmp byte [eax + 0x4d], dl
add esp, 4
sub ebx, 0x1422a
call 0x5142db
add byte [0x443e4646], dh
inc ebp
add esp, 4
add ebx, 0x139e4
pop ebx
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
or ecx, 0x20
cmp edx, ecx
jge 0x514318
mov dword [ebp - 0xc5c], 0xffffffff
jmp 0x514322
mov dword [ebp - 0xc5c], 1
cmp dword [ebp - 0xc5c], 0
jne 0x514339
mov edx, dword [ebp - 0x18ec]
mov dword [ebp - 0x3c8], edx
jmp 0x51434a
jmp 0x514123
cmp dword [ebp - 0x3c8], 0
je 0x514425
push ecx
push ecx
add esp, 4
sub ecx, 0x13688
pop ecx
push eax
push eax
add esp, 4
xor eax, 0x97a1
pop eax
push ecx
and ecx, 0x47d7
pop ecx
push edi
push edx
add esp, 4
xor edi, 0xfb17
xor edi, 0x12f9a
pop edi
mov ecx, dword [ebp - 0x3c8]
mov dword [ebp - 0x18f0], ecx
push eax
jmp 0x51439b
jmp 0x5143a0
xor eax, 0x10ef5
sub eax, 0xd40
pop eax
push ebx
or ebx, 0x5019
call 0x5143c3
add byte [esi + 0x3b], cl
cmp byte [edx + ecx*2 + 0x36], cl
cmp byte [eax + 0x34], cl
add esp, 4
pop ebx
mov edx, dword [ebp - 0x18f0]
mov dword [ebp - 0x18f4], edx
lea eax, [ebp - 0x1628]
push eax
call dword [ebp - 0x18f4]
test eax, eax
jne 0x514425
push edi
call 0x5143f4
add byte [edx], dh
inc ebx
cmp dword [edx + 0x32], ecx
inc ecx
dec ebx
inc edi
cmp eax, dword [ebx + 0xae804c4]
add byte [eax], al
add byte [eax], al
dec ebp
cmp byte [edx + 0x32], cl
cmp eax, 0x3c334135
add esp, 4
sub edi, 0x2842
sub edi, 0x8084
pop edi
mov dword [ebp - 0xa58], 0
jmp 0x514b10
push esi
and esi, 0x1335a
pop esi
push esi
push esi
add esp, 4
xor esi, 0xaffb
sub esi, 0x329a
call 0x51444d
add byte [ebx], dh
inc edx
inc esi
dec edi
inc ecx
dec ecx
dec eax
dec ebp
inc edx
add esp, 4
add esi, 0x42c5
pop esi
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18f8], ecx
mov edx, dword [ebp - 0x18f8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18fc], eax
mov ecx, dword [ebp - 0x18fc]
mov dword [ebp - 0x1574], ecx
push edx
push edx
add esp, 4
jmp 0x514489
and edx, 0x32cb
sub edx, 0x1678a
pop edx
push ebx
and ebx, 0xe662
call 0x5144ad
add byte [edi + 0x33], cl
push eax
dec ecx
dec eax
inc ebx
xor al, byte [ebx + ecx*2 + 0x4a]
add esp, 4
pop ebx
cmp dword [ebp - 0x1574], 0
jne 0x5144c9
mov dword [ebp - 0x2a8], 0
jmp 0x514770
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push ebx
and ebx, 0x2c7c
pop ebx
push edx
push edi
add esp, 4
or edx, 0xead1
add edx, 0x4d68
xor edx, 0x17cde
sub edx, 0xd121
pop edx
push esi
push esi
add esp, 4
and esi, 0x15832
pop esi
cmp dword [ebp - 0xc68], 0
jne 0x514525
mov dword [ebp - 0x2a8], 0
jmp 0x514770
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push ebx
and ebx, 0x68b1
sub ebx, 0x1561e
or ebx, 0x14e30
and ebx, 0xd642
pop ebx
push ebx
push eax
add esp, 4
add ebx, 0x1742e
or ebx, 0x108f7
add ebx, 0xa78c
pop ebx
lea eax, [ebp - 0x1628]
mov dword [ebp - 0xc64], eax
mov ecx, dword [ebp - 0x4ec]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc60], edx
xor eax, eax
mov word [ebp - 0x20c], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push edi
jmp 0x514597
or edi, 0x1447e
sub edi, 0x5312
pop edi
push esi
push esi
add esp, 4
add esi, 0x88aa
call 0x5145bb
add byte [ebx + 0x47], al
inc ebp
inc ecx
inc ecx
xor al, byte [ebx - 0x74a1fb3c]
xchg ebp, eax
mov al, byte [0x66fffff3]
mov eax, dword [edx]
mov word [ebp - 0xf92], ax
mov ecx, dword [ebp - 0xc60]
add ecx, 2
mov dword [ebp - 0xc60], ecx
mov dx, word [ebp - 0xf92]
mov word [ebp - 0x20c], dx
mov eax, dword [ebp - 0xc64]
mov cx, word [eax]
mov word [ebp - 0xf94], cx
mov edx, dword [ebp - 0xc64]
add edx, 2
mov dword [ebp - 0xc64], edx
mov ax, word [ebp - 0xf94]
mov word [ebp - 0x40], ax
push ecx
push edi
add esp, 4
call 0x51462a
add byte [ebx], bh
cmp dh, byte [edx + edi]
inc ebx
cmp byte [esi], dh
cmp dword [ebx + eax*4], esi
les eax, [ecx + ebx*2]
push ecx
or ecx, 0xb5b3
or ecx, 0x13718
and ecx, 0xb3a8
xor ecx, 0x6450
pop ecx
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x514665
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x157c], edx
jmp 0x5146bf
movzx ecx, word [ebp - 0x20c]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x51458d
movzx eax, word [ebp - 0x20c]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x51458d
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x5146a9
mov dword [ebp - 0x1578], 0xffffffff
jmp 0x5146b3
mov dword [ebp - 0x1578], 1
mov ecx, dword [ebp - 0x1578]
mov dword [ebp - 0x157c], ecx
cmp dword [ebp - 0x157c], 0
jne 0x514708
push ebx
xor ebx, 0x271a
or ebx, 0x6c04
pop ebx
push eax
and eax, 0xdb93
sub eax, 0x156ec
call 0x5146f0
add byte [eax + 0x50], al
inc esi
inc edi
xor bh, byte [edx]
aaa
add esp, 4
add eax, 0x16f38
pop eax
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x2a8], edx
jmp 0x514770
push edi
and edi, 0x10dfb
call 0x51471e
add byte [edx], dh
inc esi
xor edx, dword [eax + 0x3d]
cmp byte ss:[0x4c4834e], bh
sub edi, 0x6c57
pop edi
push edi
push eax
add esp, 4
add edi, 0x903
xor edi, 0xa4df
pop edi
mov eax, dword [ebp - 0x4ec]
mov ecx, dword [eax]
mov dword [ebp - 0x4ec], ecx
mov edx, dword [ebp - 0x4ec]
cmp edx, dword [ebp - 0xc68]
je 0x514766
mov eax, dword [ebp - 0x4ec]
cmp dword [eax + 0x30], 0
jne 0x514531
mov dword [ebp - 0x2a8], 0
push ebx
and ebx, 0xddc
pop ebx
push edi
push esi
add esp, 4
and edi, 0x25ae
call 0x514790
add byte [esi], dh
dec ebp
inc edi
dec edi
xor eax, dword ds:[ebx - 0x307efb3c]
psrad mm0, qword [eax]
add bl, ch
push es
dec esp
xor eax, 0x3a363a42
pop edi
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push eax
sub eax, 0x16d51
xor eax, 0xe944
or eax, 0xe37e
pop eax
push eax
push edx
add esp, 4
and eax, 0x115d8
or eax, 0x8918
or eax, 0xa7d8
or eax, 0x4d8a
pop eax
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x514813
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x514b04
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x51483b
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x514b04
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1584]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1588], edx
cmp dword [ebp - 0x1588], 0
jne 0x51486d
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x514b04
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x514892
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x514b04
mov eax, dword [ebp - 0x724]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1900], ecx
mov edx, dword [ebp - 0x724]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1904], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1908], edx
mov dword [ebp - 0x728], 0
jmp 0x5148ec
mov eax, dword [ebp - 0x728]
add eax, 1
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x728]
cmp edx, dword [ecx + 0x18]
jae 0x514af8
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1900]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1904]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1908]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x190c], ecx
mov dword [ebp - 0x18c], 0
jmp 0x51495c
mov edx, dword [ebp - 0x18c]
add edx, 1
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x514a0e
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x514a0e
push edx
push edx
add esp, 4
and edx, 0x7835
sub edx, 0x4c10
jmp 0x5149a2
pop edx
push eax
push ecx
add esp, 4
add eax, 0x15971
xor eax, 0x11e80
or eax, 0x13008
pop eax
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
cmp edx, ecx
je 0x514a00
mov edx, dword [ebp - 0x72c]
add edx, dword [ebp - 0x18c]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x18c]
movsx edx, byte [ebp + ecx - 0x960]
cmp eax, edx
jne 0x514a07
jmp 0x51494d
jmp 0x514a0e
push eax
push eax
add esp, 4
call 0x514a22
add byte [ebx + 0x50], al
cmp al, 0x33
cmp dword [esi + 0x3c], eax
inc edi
cmp dword [ebx + 0x515804c4], eax
push edi
add esp, 4
add ecx, 0xfd5b
pop ecx
push edi
or edi, 0x1380d
or edi, 0xa23d
pop edi
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
cmp ecx, eax
jne 0x514a6d
mov dword [ebp - 0xc6c], 0
jmp 0x514adc
push eax
jmp 0x514a77
pop eax
push ebx
add ebx, 0x10f03
sub ebx, 0xf4fc
or ebx, 0x17115
call 0x514a9b
add byte [edi], bh
dec edx
cmp dword ds:[eax + 0x3b], eax
dec esi
inc eax
aas
aas
add esp, 4
pop ebx
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
or ecx, 0x20
cmp edx, ecx
jge 0x514ad2
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x514adc
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x514af3
mov edx, dword [ebp - 0x190c]
mov dword [ebp - 0x4f0], edx
jmp 0x514b04
jmp 0x5148dd
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0xa58], ecx