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

Disassembly:
mov edx, dword [ebp - 0x758]
add edx, 1
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x758]
cmp ecx, dword [eax + 0x18]
jae 0x412198
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x1964]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x75c], ecx
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x1968]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x196c]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x1970], eax
mov dword [ebp - 0x198], 0
jmp 0x411ffc
mov ecx, dword [ebp - 0x198]
add ecx, 1
mov dword [ebp - 0x198], ecx
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
test eax, eax
je 0x4120ae
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x894]
test edx, edx
je 0x4120ae
push edx
or edx, 0x4a6e
xor edx, 0x8095
call 0x412045
add byte [eax + 0x4a], cl
inc edi
dec edx
dec edx
dec edi
dec edx
xor eax, 0x4c48332
call 0x412057
add byte [ebx + 0x4f], al
xor edi, dword [edx]
dec esi
aas
cmp dword [ecx + 0x41], eax
add esp, 4
pop edx
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x894]
cmp ecx, eax
je 0x4120a0
mov ecx, dword [ebp - 0x75c]
add ecx, dword [ebp - 0x198]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x198]
movsx ecx, byte [ebp + eax - 0x894]
cmp edx, ecx
jne 0x4120a7
jmp 0x411fed
jmp 0x4120ae
push esi
push ebx
add esp, 4
add esi, 0x11ac7
jmp 0x4120bf
xor esi, 0xb2c3
jmp 0x4120cc
pop esi
push edi
push ecx
add esp, 4
jmp 0x4120d9
sub edi, 0x16cb7
pop edi
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x894]
cmp eax, edx
jne 0x41210d
mov dword [ebp - 0xca8], 0
jmp 0x41217c
push ebx
or ebx, 0xe4e7
and ebx, 0x593e
jmp 0x412121
cmp bl, byte [ebx + 0x56]
pop ebx
push esi
push ebx
add esp, 4
call 0x412135
add byte [esi + 0x3c], al
xor bh, byte [ecx]
cmp ecx, dword [edi + 0x3c]
inc edx
add esp, 4
and esi, 0x31bc
pop esi
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x894]
or eax, 0x20
cmp ecx, eax
jge 0x412172
mov dword [ebp - 0xca8], 0xffffffff
jmp 0x41217c
mov dword [ebp - 0xca8], 1
cmp dword [ebp - 0xca8], 0
jne 0x412193
mov ecx, dword [ebp - 0x1970]
mov dword [ebp - 0x3f4], ecx
jmp 0x4121a4
jmp 0x411f7d
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], edx
cmp dword [ebp - 0x3f4], 0
je 0x41227f
push ecx
or ecx, 0x6cf2
sub ecx, 0x2c0d
call 0x4121cd
add byte [edi + 0x4d], cl
dec ebp
xor eax, 0x4c364748
dec edx
add esp, 4
sub ecx, 0x12874
pop ecx
push edi
push ecx
add esp, 4
add edi, 0x83fe
pop edi
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x1974], eax
push edi
push edi
add esp, 4
xor edi, 0x14b5
add edi, 0x10dd3
jmp 0x412205
jmp 0x41220d
pop edi
push edi
sub edi, 0x158e3
out dx, eax
jecxz 0x41226b
add dword [eax], eax
jmp 0x41221a
add edi, 0x3b13
pop edi
mov ecx, dword [ebp - 0x1974]
mov dword [ebp - 0x1978], ecx
lea edx, [ebp - 0x1738]
push edx
call dword [ebp - 0x1978]
test eax, eax
jne 0x41227f
push ebx
add ebx, 0x13274
or ebx, 0xd73f
pop ebx
push esi
push esi
add esp, 4
xor esi, 0x79f0
or esi, 0x14e9c
add esi, 0x163fb
pop esi
push ebx
push edx
add esp, 4
and ebx, 0xfbe2
pop ebx
mov dword [ebp - 0x79c], 0
jmp 0x412969
push ebx
push edx
add esp, 4
add ebx, 0x13243
sub ebx, 0xcdb6
and ebx, 0x14a5f
jmp 0x41229e
pop ebx
push edx
push ebx
add esp, 4
sub edx, 0x14ea
sub edx, 0x11d45
pop edx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x197c], eax
mov ecx, dword [ebp - 0x197c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1980], edx
mov eax, dword [ebp - 0x1980]
mov dword [ebp - 0x15fc], eax
push ebx
push edi
add esp, 4
sub ebx, 0x93ad
pop ebx
push edi
push esi
add esp, 4
add edi, 0x612b
or edi, 0x8e7f
pop edi
push ecx
xor ecx, 0xe16a
and ecx, 0x7cee
or ecx, 0x6707
pop ecx
cmp dword [ebp - 0x15fc], 0
jne 0x412322
mov dword [ebp - 0x31c], 0
jmp 0x4125c9
mov ecx, dword [ebp - 0x15fc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcb4], eax
push ecx
push ecx
add esp, 4
add ecx, 0x7bc
sub ecx, 0xb7d6
and ecx, 0xc2c
or ecx, 0x18203
pop ecx
push edx
call 0x412362
add byte [0x4033433c], dh
push eax
inc ebp
cmp eax, 0x4c48339
pop edx
cmp dword [ebp - 0xcb4], 0
jne 0x41237e
mov dword [ebp - 0x31c], 0
jmp 0x4125c9
mov ecx, dword [ebp - 0xcb4]
mov dword [ebp - 0x50c], ecx
push ebx
or ebx, 0x196
call 0x4123a0
add byte [ecx], bh
inc ebp
cmp dword [edi], edi
inc esp
cmp edi, dword [esp + ecx*2]
dec edi
add esp, 4
pop ebx
push ebx
push esi
add esp, 4
and ebx, 0xa13e
sub ebx, 0xfb65
and ebx, 0x299f
pop ebx
lea edx, [ebp - 0x1738]
mov dword [ebp - 0xcb0], edx
mov eax, dword [ebp - 0x50c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcac], ecx
xor edx, edx
mov word [ebp - 0x218], dx
xor eax, eax
mov word [ebp - 0x34], ax
push esi
push edx
add esp, 4
call 0x4123f7
add byte [edi + 0x37], al
xor al, byte [eax + 0x34]
inc esp
add esp, 4
add esi, 0x72aa
pop esi
push eax
xor eax, 0x12942
pop eax
push eax
push edx
add esp, 4
jmp 0x412417
pop eax
mov ecx, dword [ebp - 0xcac]
mov dx, word [ecx]
mov word [ebp - 0x103a], dx
mov eax, dword [ebp - 0xcac]
add eax, 2
mov dword [ebp - 0xcac], eax
mov cx, word [ebp - 0x103a]
mov word [ebp - 0x218], cx
mov edx, dword [ebp - 0xcb0]
mov ax, word [edx]
mov word [ebp - 0x103c], ax
test esp, eax
out dx, eax
invalid
dec dword [ebx - 0xcaf73]
inc dword [ebx - 0x7276fd3f]
push eax
invalid
invalid
jmp dword [esi - 0x75]
xchg ebp, eax
invalid
out dx, eax
invalid
jmp dword [esi - 0x77]
push ebp
int3
push ecx
xor ecx, 0x64b4
xor ecx, 0xd3a6
add ecx, 0x14b5d
sub ecx, 0x84ce
pop ecx
push esi
push edi
add esp, 4
add esi, 0xccd7
or esi, 0x117a0
or esi, 0x5179
pop esi
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x4124be
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x1604], ecx
jmp 0x412518
movzx eax, word [ebp - 0x218]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x4123e6
movzx edx, word [ebp - 0x218]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x4123e6
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x412502
mov dword [ebp - 0x1600], 0xffffffff
jmp 0x41250c
mov dword [ebp - 0x1600], 1
mov eax, dword [ebp - 0x1600]
mov dword [ebp - 0x1604], eax
cmp dword [ebp - 0x1604], 0
jne 0x412561
push esi
push eax
add esp, 4
or esi, 0xa857
or esi, 0x16a59
pop esi
push ebx
call 0x412543
add byte [edi], dh
xor ecx, dword [esi + 0x33]
xor eax, 0x413f494a
add esp, 4
and ebx, 0xe426
sub ebx, 0x88ba
pop ebx
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x31c], ecx
jmp 0x4125c9
push eax
call 0x41256f
add byte [eax], bh
dec esp
dec edi
xor al, byte [eax + ecx*2 + 0x48]
add esp, 4
jmp 0x412579
pop eax
push edi
jmp 0x412580
and edi, 0x15503
and edi, 0x18459
sub edi, 0x8704
pop edi
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx]
mov dword [ebp - 0x50c], eax
dec dword [ebx - 0x50b73]
invalid
cmp ecx, dword [ebp - 0xcb4]
je 0x4125bf
mov edx, dword [ebp - 0x50c]
cmp dword [edx + 0x30], 0
jne 0x41238a
mov dword [ebp - 0x31c], 0
push ebx
push ecx
add esp, 4
jmp 0x4125d3
and ebx, 0x604c
call 0x4125e7
add byte [ecx + 0x33], al
cmp al, 0x39
dec edi
inc esi
cmp dword [0xe804c483], esi
or byte [eax], al
add byte [eax], al
add byte [ecx + 0x36], cl
xor al, 0x4b
dec edi
dec ecx
push eax
add esp, 4
pop ebx
mov eax, dword [ebp - 0x31c]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x324], ecx
push eax
push edi
add esp, 4
add eax, 0x955d
pop eax
push ebx
call 0x412626
add byte [esp + edi], bh
cmp dword [ecx + 0x46], ecx
inc ecx
cmp edi, dword [edx]
inc ecx
add esp, 4
sub ebx, 0xe770
and ebx, 0x6570
xor ebx, 0xf20f
pop ebx
mov dword [ebp - 0x770], 0
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x1608], edx
cmp dword [ebp - 0x1608], 0
jne 0x41266c
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x41295d
mov ecx, dword [ebp - 0x1608]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x160c], edx
jne 0x412694
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x41295d
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x160c]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1610], ecx
cmp dword [ebp - 0x1610], 0
jne 0x4126c6
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
jmp 0x41295d
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x1610]
mov dword [ebp - 0x764], eax
jne 0x4126eb
mov ecx, dword [ebp - 0x770]
mov dword [ebp - 0x510], ecx
jmp 0x41295d
mov edx, dword [ebp - 0x764]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1984], eax
mov ecx, dword [ebp - 0x764]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x1988], edx
xchg ebp, eax
js 0x4126f9
invalid
dec dword [ebx - 0x7637b]
dec dword [ebx - 0x32373]
inc dword [ebx]
dec eax
sbb al, 0x89
invalid
invalid
loop 0x412728
inc edi
test dword [eax + 0xfffff8], ebx
add byte [eax], al
add bl, ch
invalid
mov edx, dword [ebp - 0x768]
add edx, 1
mov dword [ebp - 0x768], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x768]
cmp ecx, dword [eax + 0x18]
jae 0x412951
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x1984]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x76c], ecx
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x1988]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1d10]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x198c], eax
mov dword [ebp - 0x19c], 0
jmp 0x4127b5
mov ecx, dword [ebp - 0x19c]
add ecx, 1
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
test eax, eax
je 0x412867
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x878]
test edx, edx
je 0x412867
push ecx
sub ecx, 0x5cba
or ecx, 0x57b2
xor ecx, 0xd123
and ecx, 0xd624
pop ecx
push edi
call 0x41280a
add byte [0x494c504e], bh
dec eax
add esp, 4
sub edi, 0x17b2f
pop edi
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x878]
cmp ecx, eax
je 0x412859
mov ecx, dword [ebp - 0x76c]
add ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x19c]
movsx ecx, byte [ebp + eax - 0x878]
cmp edx, ecx
jne 0x412860
jmp 0x4127a6
jmp 0x412867
push edx
push eax
add esp, 4
sub edx, 0x11075
or edx, 0x4cc1
sub edx, 0x3866
pop edx
push edx
add edx, 0x12361
add edx, 0x10710
sub edx, 0xf5da
or edx, 0x9fb2
pop edx
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x878]
cmp eax, edx
jne 0x4128c6
mov dword [ebp - 0xcb8], 0
jmp 0x412935
push eax
push esi
add esp, 4
or eax, 0x11ecd
and eax, 0x13a1
pop eax
push esi
or esi, 0x33d0
pop esi
push eax
push edx
add esp, 4
xor eax, 0x1141c
add eax, 0x8080
or eax, 0x7214
pop eax
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x878]
or eax, 0x20
cmp ecx, eax
jge 0x41292b
mov dword [ebp - 0xcb8], 0xffffffff
jmp 0x412935
mov dword [ebp - 0xcb8], 1
cmp dword [ebp - 0xcb8], 0
jne 0x41294c
mov ecx, dword [ebp - 0x198c]
mov dword [ebp - 0x510], ecx
jmp 0x41295d
jmp 0x412736
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
mov eax, dword [ebp - 0x510]
mov dword [ebp - 0x79c], eax
push edi
call 0x412976
add byte [ecx + 0x4b], cl
inc ebx
inc esp
inc esi
xor al, 0x83
les eax, [edi + ebx*2]
push edx
call 0x41298b
add byte [ebp + 0x40], cl
cmp dword [ecx + 0x48], eax
cmp cl, byte [eax + 0x46]
inc ebp
add esp, 4
pop edx
push edi
push eax
add esp, 4
sub edi, 0xebb8
pop edi
mov ecx, dword [ebp - 0x3e8]
add ecx, 0xe
mov dword [ebp - 0x19dc], ecx
push edx
push esi
add esp, 4
and edx, 0x170af
xor edx, 0x10a05
pop edx
push eax
push ebx
add esp, 4
or eax, 0xdb52
jmp 0x4129cd
add eax, 0x13d38
pop eax
push ecx
and ecx, 0x11820
pop ecx
cmp dword [ebp - 0x3e8], 0
je 0x4129ee
cmp dword [ebp - 0xab8], 0
jne 0x412a34
push ebx
push ebx
add esp, 4
add ebx, 0x11882
or ebx, 0x13dd6
pop ebx
push eax
xor eax, 0xc0c6
add eax, 0x8b9a
call 0x412a1c
add byte [edi], bh
dec ebx
cmp eax, dword [edi + 0x4c]
dec esp
dec ebp
inc esp
xor al, byte [ebx - 0x74a7fb3c]
xchg ebp, eax
clc
invalid
mov dword [ebp - 0x20a8], 0xa
push eax
push eax