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

Disassembly:
add byte [eax], al
pop ebx
push edi
and edi, 0x16463
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 0x411cb8
mov dword [ebp - 0xca8], 0
jmp 0x411d27
push edi
or edi, 0x1c68
and edi, 0x151f3
or edi, 0x14df2
and edi, 0x2504
pop edi
push ebx
push edi
add esp, 4
add ebx, 0xbc47
add ebx, 0xacb8
xor ebx, 0x7078
pop ebx
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 0x411d1d
mov dword [ebp - 0xca8], 0xffffffff
jmp 0x411d27
mov dword [ebp - 0xca8], 1
cmp dword [ebp - 0xca8], 0
jne 0x411d3e
mov ecx, dword [ebp - 0x1970]
mov dword [ebp - 0x3f4], ecx
jmp 0x411d4f
jmp 0x411b28
cmp dword [ebp - 0x3f4], 0
je 0x411e2a
push ecx
sub ecx, 0x155dd
xor ecx, 0x10682
add ecx, 0x135af
and ecx, 0x10962
pop ecx
push edi
push eax
add esp, 4
and edi, 0x944e
add edi, 0x10ecf
and edi, 0x13e6e
pop edi
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x1974], eax
push edi
sub edi, 0xe34c
jmp 0x411da9
pop edi
push esi
jmp 0x411db0
jmp 0x411db5
or esi, 0x2ece
jmp 0x411dc3
pop esi
push ebx
and ebx, 0x412b
pop ebx
mov ecx, dword [ebp - 0x1974]
mov dword [ebp - 0x1978], ecx
lea edx, [ebp - 0x1738]
push edx
call dword [ebp - 0x1978]
test eax, eax
jne 0x411e2a
push eax
push ecx
add esp, 4
and eax, 0x11720
xor eax, 0x13c49
pop eax
push eax
add eax, 0xd269
xor eax, 0x12ab5
pop eax
push eax
push ecx
add esp, 4
or eax, 0x169cb
sub eax, 0x5cfa
pop eax
mov dword [ebp - 0x79c], 0
jmp 0x412514
push edi
push esi
add esp, 4
and edi, 0xd28f
or edi, 0x1039b
pop edi
push eax
add eax, 0x29c1
pop eax
push esi
push eax
add esp, 4
xor esi, 0x26e1
and esi, 0xa925
sub esi, 0x116e1
pop esi
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 edx
add edx, 0xc173
pop edx
push edi
push ecx
add esp, 4
xor edi, 0x7268
pop edi
push esi
push ecx
add esp, 4
add esi, 0x75af
call 0x411eb1
add byte [esp + edi + 0x36], al
aaa
inc edi
xor edi, dword ds:[ebx]
inc ecx
add esp, 4
pop esi
cmp dword [ebp - 0x15fc], 0
jne 0x411ecd
mov dword [ebp - 0x31c], 0
jmp 0x412174
mov ecx, dword [ebp - 0x15fc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcb4], eax
push ecx
push esi
add esp, 4
or ecx, 0x878b
call 0x411ef7
add byte [esi + eax*2], bh
cmp al, 0x32
xor eax, 0xc4834b4e
add al, 0x81
sal esp, 0x3f
add dword [eax], eax
jmp 0x411f08
pop ecx
push ebx
xor ebx, 0x4aed
pop ebx
cmp dword [ebp - 0xcb4], 0
jne 0x411f29
mov dword [ebp - 0x31c], 0
jmp 0x412174
mov ecx, dword [ebp - 0xcb4]
mov dword [ebp - 0x50c], ecx
push ebx
xor ebx, 0x8e42
or ebx, 0x14407
pop ebx
push ebx
push ecx
add esp, 4
call 0x411f57
add byte [eax], bh
aas
dec esp
aas
xor eax, 0x483e3543
add esp, 4
or ebx, 0x10628
xor ebx, 0x145bb
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 edx
push eax
add esp, 4
sub edx, 0x135bc
or edx, 0x1103d
xor edx, 0x11a90
pop edx
push eax
and eax, 0x1a7e
call 0x411fbf
add byte [ecx + eax*2], bh
xor bh, byte ds:[edx]
cmp byte ds:[edi + 0x36], cl
add esp, 4
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
mov ecx, dword [ebp - 0xcb0]
add ecx, 2
mov dword [ebp - 0xcb0], ecx
mov dx, word [ebp - 0x103c]
mov word [ebp - 0x34], dx
push edx
push edx
add esp, 4
xor edx, 0x13f92
xor edx, 0xfd5f
pop edx
push edi
push ecx
add esp, 4
sub edi, 0x2917
pop edi
push esi
add esi, 0xce9c
sub esi, 0x10407
and esi, 0x4158
pop esi
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x412069
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x1604], ecx
jmp 0x4120c3
movzx eax, word [ebp - 0x218]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x411f91
movzx edx, word [ebp - 0x218]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x411f91
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x4120ad
mov dword [ebp - 0x1600], 0xffffffff
jmp 0x4120b7
mov dword [ebp - 0x1600], 1
mov eax, dword [ebp - 0x1600]
mov dword [ebp - 0x1604], eax
cmp dword [ebp - 0x1604], 0
jne 0x41210c
push ebx
xor ebx, 0x1302d
pop ebx
push edi
xor edi, 0x697c
or edi, 0x1c91
jmp 0x4120e7
pop edi
push edx
push ebx
add esp, 4
call 0x4120fa
add byte [edi + 0x49], al
inc eax
cmp edi, dword [ebx]
xor bh, byte [edi]
add esp, 4
pop edx
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x31c], ecx
jmp 0x412174
push edx
push esi
add esp, 4
xor edx, 0x165a8
sub edx, 0x8cd4
pop edx
push ebx
sub ebx, 0xd129
call 0x412134
add byte [0x41443342], bh
inc esp
xor ecx, dword [ebp + 0x38]
add esp, 4
sub ebx, 0x4e8d
pop ebx
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
cmp ecx, dword [ebp - 0xcb4]
je 0x41216a
mov edx, dword [ebp - 0x50c]
cmp dword [edx + 0x30], 0
jne 0x411f35
mov dword [ebp - 0x31c], 0
push eax
push edi
add esp, 4
sub eax, 0x118ca
pop eax
push esi
jmp 0x412189
pop esi
push ebx
and ebx, 0x1537b
and ebx, 0xc6be
add ebx, 0x7836
pop ebx
push ecx
add ecx, 0x2fd7
pop ecx
mov eax, dword [ebp - 0x31c]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x324], ecx
push ebx
push ecx
add esp, 4
and ebx, 0xfe70
add ebx, 0xbbe
call 0x4121d5
add byte [esi], bh
dec edx
dec ecx
inc ebp
inc edx
inc ebx
inc eax
xor esi, dword [esi]
add esp, 4
and ebx, 0xc75c
pop ebx
push ebx
or ebx, 0x14b6e
pop ebx
mov dword [ebp - 0x770], 0
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x1608], edx
cmp dword [ebp - 0x1608], 0
jne 0x412217
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x412508
mov ecx, dword [ebp - 0x1608]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x160c], edx
jne 0x41223f
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x412508
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 0x412271
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
jmp 0x412508
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x1610]
mov dword [ebp - 0x764], eax
jne 0x412296
mov ecx, dword [ebp - 0x770]
mov dword [ebp - 0x510], ecx
jmp 0x412508
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
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1d10], ecx
mov dword [ebp - 0x768], 0
jmp 0x4122f0
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 0x4124fc
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 0x412360
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 0x412412
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x878]
test edx, edx
je 0x412412
push ecx
push edx
add esp, 4
jmp 0x41239a
xor ecx, 0xd50b
sub ecx, 0x1676f
xor ecx, 0xef49
pop ecx
push edi
push esi
add esp, 4
sub edi, 0xc2d4
and edi, 0x80c1
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 0x412404
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 0x41240b
jmp 0x412351
jmp 0x412412
push edx
or edx, 0x6307
xor edx, 0x96d
and edx, 0x6c5c
jmp 0x41242c
pop edx
push esi
xor esi, 0x91a5
call 0x412440
add byte [ecx], bh
inc edx
inc esi
dec esi
inc ebp
dec eax
add esp, 4
pop esi
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 0x412471
mov dword [ebp - 0xcb8], 0
jmp 0x4124e0
push eax
call 0x41247e
add byte [edi + 0x38], al
xor eax, 0x83394744
les eax, [eax + ebx*2]
push ebx
call 0x412493
add byte [0x3c3c504c], dh
cmp eax, 0x39453b45
add esp, 4
sub ebx, 0xb277
or ebx, 0x178c0
pop ebx
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 0x4124d6
mov dword [ebp - 0xcb8], 0xffffffff
jmp 0x4124e0
mov dword [ebp - 0xcb8], 1
cmp dword [ebp - 0xcb8], 0
jne 0x4124f7
mov ecx, dword [ebp - 0x198c]
mov dword [ebp - 0x510], ecx
jmp 0x412508
jmp 0x4122e1
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
mov eax, dword [ebp - 0x510]
mov dword [ebp - 0x79c], eax
push edi
push eax
add esp, 4
add edi, 0x8bcc
call 0x41252e
add byte [eax + 0x3a], dl
inc ebp
xor dh, byte [ebx]
inc edx
inc edi
inc ebx
xor al, 0x83
les eax, [ecx + eax*4]
invalid