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

Disassembly:
push eax
push edx
add esp, 4
call 0x41c05a
add byte [ebx + 0x35], cl
aas
inc ebp
dec ebx
cmp eax, 0x8104c483
shr byte [ebp - 0x7effff2d], 0xc0
in al, dx
push ebp
add byte [eax], al
xor eax, 0x8a16
pop eax
push eax
or eax, 0x163d7
pop eax
lea edx, [ebp - 0x16cc]
mov dword [ebp - 0xc28], edx
mov eax, dword [ebp - 0x4d8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc24], ecx
xor edx, edx
mov word [ebp - 0x1fc], dx
xor eax, eax
mov word [ebp - 0x104], ax
push edi
xor edi, 0x184b0
xor edi, 0x11668
or edi, 0xe33f
and edi, 0x13ff8
pop edi
push eax
push eax
add esp, 4
add eax, 0xb589
sub eax, 0x7ee9
xor eax, 0x77e4
pop eax
mov ecx, dword [ebp - 0xc24]
mov dx, word [ecx]
mov word [ebp - 0xf82], dx
mov eax, dword [ebp - 0xc24]
add eax, 2
mov dword [ebp - 0xc24], eax
mov cx, word [ebp - 0xf82]
mov word [ebp - 0x1fc], cx
mov edx, dword [ebp - 0xc28]
mov ax, word [edx]
mov word [ebp - 0xf84], ax
mov ecx, dword [ebp - 0xc28]
add ecx, 2
mov dword [ebp - 0xc28], ecx
mov dx, word [ebp - 0xf84]
mov word [ebp - 0x104], dx
push ebx
add ebx, 0x9d62
or ebx, 0xc3bf
and ebx, 0x15286
pop ebx
push edi
call 0x41c156
add byte [eax], bh
inc eax
cmp eax, 0x40374942
xor eax, dword [edx + 0x41]
add esp, 4
jmp 0x41c162
pop edi
movzx eax, word [ebp - 0x104]
test eax, eax
jne 0x41c186
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
sub ecx, edx
mov dword [ebp - 0x14e4], ecx
jmp 0x41c1e9
movzx eax, word [ebp - 0x1fc]
movzx ecx, word [ebp - 0x104]
cmp eax, ecx
je 0x41c0a5
movzx edx, word [ebp - 0x1fc]
xor edx, 0x20
movzx eax, word [ebp - 0x104]
cmp edx, eax
je 0x41c0a5
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
cmp ecx, edx
jge 0x41c1d3
mov dword [ebp - 0x14e0], 0xffffffff
jmp 0x41c1dd
mov dword [ebp - 0x14e0], 1
mov eax, dword [ebp - 0x14e0]
mov dword [ebp - 0x14e4], eax
cmp dword [ebp - 0x14e4], 0
jne 0x41c232
push edi
push ebx
add esp, 4
or edi, 0xc7f9
sub edi, 0x1800b
sub edi, 0xff66
xor edi, 0x13f3c
pop edi
push eax
and eax, 0x7322
xor eax, 0x6dbd
add eax, 0xb8d1
pop eax
mov ecx, dword [ebp - 0x4d8]
mov dword [ebp - 0x6ec], ecx
jmp 0x41c29a
push edx
call 0x41c241
add byte [0x333d4f4a], dh
inc esi
xor cl, byte [ebx - 0x7d]
les eax, [ebx + ebp*8]
add al, 0x36
xor eax, dword [ecx + ecx*2 - 0x7f]
popfd
cmpsd dword [esi], dword es:[edi]
add byte [eax], al
jmp 0x41c257
pop edx
push esi
push eax
add esp, 4
jmp 0x41c263
pop esi
mov edx, dword [ebp - 0x4d8]
mov eax, dword [edx]
mov dword [ebp - 0x4d8], eax
mov ecx, dword [ebp - 0x4d8]
cmp ecx, dword [ebp - 0xc2c]
je 0x41c290
mov edx, dword [ebp - 0x4d8]
cmp dword [edx + 0x30], 0
jne 0x41c046
mov dword [ebp - 0x6ec], 0
push esi
xor esi, 0x17734
xor esi, 0x137f8
sub esi, 0x54f3
and esi, 0x403a
pop esi
push edi
push ecx
add esp, 4
xor edi, 0x13830
add edi, 0x9f1c
and edi, 0x12f69
pop edi
cmp dword [ebp - 0x6ec], 0
jne 0x41c316
push edi
push edi
add esp, 4
sub edi, 0xfec
sub edi, 0x161b5
pop edi
push ebx
push eax
add esp, 4
or ebx, 0x93c2
xor ebx, 0x52ff
pop ebx
push ecx
jmp 0x41c300
add ecx, 0xb4c6
pop ecx
mov dword [ebp - 0x738], 0
jmp 0x41ce3d
push edx
push ecx
add esp, 4
sub edx, 0xd225
pop edx
push ecx
push eax
add esp, 4
add ecx, 0x17e4b
pop ecx
push ecx
and ecx, 0xc5e
pop ecx
push edx
push ebx
add esp, 4
xor edx, 0xf069
and edx, 0xb014
pop edx
mov eax, dword [ebp - 0x6ec]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2f8], ecx
mov dword [ebp - 0x6fc], 0
mov edx, dword [ebp - 0x2f8]
mov dword [ebp - 0x14e8], edx
cmp dword [ebp - 0x14e8], 0
jne 0x41c387
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
invalid
invalid
jmp 0x41c678
mov ecx, dword [ebp - 0x14e8]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x14ec], edx
jne 0x41c3af
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x41c678
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x14ec]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x14f0], ecx
cmp dword [ebp - 0x14f0], 0
jne 0x41c3e1
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
jmp 0x41c678
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x14f0]
mov dword [ebp - 0x6f0], eax
jne 0x41c406
mov ecx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], ecx
jmp 0x41c678
mov edx, dword [ebp - 0x6f0]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18a0], eax
mov ecx, dword [ebp - 0x6f0]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18a4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18a8], ecx
mov dword [ebp - 0x6f4], 0
jmp 0x41c460
mov edx, dword [ebp - 0x6f4]
add edx, 1
mov dword [ebp - 0x6f4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x6f4]
cmp ecx, dword [eax + 0x18]
jae 0x41c66c
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x6f8], ecx
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18a8]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18ac], eax
mov dword [ebp - 0x180], 0
jmp 0x41c4d0
mov ecx, dword [ebp - 0x180]
add ecx, 1
mov dword [ebp - 0x180], ecx
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
test eax, eax
je 0x41c582
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
test edx, edx
je 0x41c582
push eax
push eax
add esp, 4
jmp 0x41c508
sub eax, 0x5982
pop eax
push ecx
add ecx, 0x214f
or ecx, 0x7a84
pop ecx
push edx
push ebx
add esp, 4
and edx, 0xa2da
or edx, 0x66ab
pop edx
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
cmp ecx, eax
je 0x41c574
mov ecx, dword [ebp - 0x6f8]
add ecx, dword [ebp - 0x180]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x180]
movsx ecx, byte [ebp + eax - 0x820]
cmp edx, ecx
jne 0x41c57b
jmp 0x41c4c1
jmp 0x41c582
push ecx
push esi
add esp, 4
or ecx, 0x12e39
and ecx, 0xeb6d
sub ecx, 0x76a9
and ecx, 0x1507a
pop ecx
push edx
add edx, 0x6262
xor edx, 0x8636
xor edx, 0x10d12
pop edx
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
cmp eax, edx
jne 0x41c5e1
mov dword [ebp - 0xc30], 0
jmp 0x41c650
push ecx
add ecx, 0x8374
xor ecx, 0x5de9
or ecx, 0x29fb
add ecx, 0x118eb
pop ecx
push ecx
push ecx
add esp, 4
and ecx, 0x10d13
pop ecx
push eax
push edx
add esp, 4
add eax, 0x1600d
pop eax
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
or eax, 0x20
cmp ecx, eax
jge 0x41c646
mov dword [ebp - 0xc30], 0xffffffff
jmp 0x41c650
mov dword [ebp - 0xc30], 1
cmp dword [ebp - 0xc30], 0
jne 0x41c667
mov ecx, dword [ebp - 0x18ac]
mov dword [ebp - 0x3c4], ecx
jmp 0x41c678
jmp 0x41c451
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
cmp dword [ebp - 0x3c4], 0
je 0x41c753
push edi
push edi
add esp, 4
or edi, 0x6ce4
xor edi, 0xc415
call 0x41c6a3
add byte [eax], bh
xor ecx, dword [ebx + 0x38]
inc esp
dec eax
push eax
add esp, 4
pop edi
push ecx
sub ecx, 0x12a0d
pop ecx
push ebx
and ebx, 0xdf12
pop ebx
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x18b0], eax
push edi
xor edi, 0x17beb
xor edi, 0x1d81
xor edi, 0x4f5
pop edi
push edx
sub edx, 0x4666
jmp 0x41c6e6
pop edx
push eax
add eax, 0x13d75
and eax, 0xa4d6
pop eax
mov ecx, dword [ebp - 0x18b0]
mov dword [ebp - 0x18b4], ecx
dec dword [ebp - 0x16276b]
call dword [edx - 1]
xchg ebp, eax
dec esp
out 0xff, eax
invalid
test eax, eax
jne 0x41c753
push esi
push eax
xor eax, 0x7bd9
call 0x41c767
add byte [eax + 0x39], dl
inc edi
dec edi
dec esi
inc esi
add esp, 4
add eax, 0x5004
pop eax
push edx
sub edx, 0x14d7d
or edx, 0x16b97
xor edx, 0x14b2d
pop edx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x18b8], eax
mov ecx, dword [ebp - 0x18b8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18bc], edx
mov eax, dword [ebp - 0x18bc]
mov dword [ebp - 0x14f4], eax
push ecx
jmp 0x41c7b6
xor ecx, 0x10189
xor ecx, 0x8607
pop ecx
push edx
push edx
add esp, 4
sub edx, 0x15da7
call 0x41c7da
add byte [esi], bh
cmp byte [edi], bh
inc ebx
cmp dword [eax - 0x7d], eax
les eax, [edx + ebx*2]
cmp dword [ebp - 0x14f4], 0
jne 0x41c7f6
mov dword [ebp - 0x2e0], 0
jmp 0x41ca9d
mov ecx, dword [ebp - 0x14f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc3c], eax
push edi
or edi, 0x2643
pop edi
push ebx
push eax
add esp, 4
or ebx, 0x15fa9
sub ebx, 0x6d2c
sub ebx, 0x1500
pop ebx
push ebx
push edi
add esp, 4
or ebx, 0x5a12
and ebx, 0x7c0
pop ebx
cmp dword [ebp - 0xc3c], 0
jne 0x41c852
mov dword [ebp - 0x2e0], 0
jmp 0x41ca9d
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0x4dc], ecx
push edx
call 0x41caae
add byte [esi + 0x4c], al
cmp eax, dword ds:[ebp + 0x4a]
inc esp
inc ebx
inc ebx
cmp eax, dword [ebx + 0x525a04c4]
push edi
add esp, 4
call 0x41cac5
add byte [ebx], bh
aaa
inc esi
dec ebp
cmp byte [ebp + 0x50], al
inc edx
add esp, 4
add edx, 0x12f10
pop edx
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push eax
and eax, 0x125d9
xor eax, 0xe97a
and eax, 0x3c52
pop eax
push esi
push ecx
add esp, 4
add esi, 0x157f6
call 0x41cb0c
add byte [ebp + eax*2 + 0x3c], al
dec ebx
cmp cl, byte [ecx + 0x3d]
cmp byte [ecx - 0x7d], cl
les eax, [esi + ebx*2]
mov dword [ebp - 0x70c], 0
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x1500], edx
cmp dword [ebp - 0x1500], 0
jne 0x41cb40
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x41ce31
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x41cb68
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x41ce31
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1504]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1508], ecx
cmp dword [ebp - 0x1508], 0
jne 0x41cb9a
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
jmp 0x41ce31
mov eax, dword [ebp - 0x2fc]
add eax, dword [ebp - 0x1508]
mov dword [ebp - 0x700], eax
jne 0x41cbbf
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x41ce31
mov edx, dword [ebp - 0x700]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18c0], eax
mov ecx, dword [ebp - 0x700]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18c4], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18c8], ecx
mov dword [ebp - 0x704], 0
jmp 0x41cc19
mov edx, dword [ebp - 0x704]
add edx, 1
mov dword [ebp - 0x704], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x704]
cmp ecx, dword [eax + 0x18]
jae 0x41ce25
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c0]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x708], ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18c8]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18cc], eax
mov dword [ebp - 0x184], 0
jmp 0x41cc89
mov ecx, dword [ebp - 0x184]
add ecx, 1
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
test eax, eax
je 0x41cd3b
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
test edx, edx
je 0x41cd3b
push ecx
and ecx, 0xdb8c
pop ecx
push ecx
xor ecx, 0x39a7
call 0x41ccd5
add byte [ebp + 0x43], al
inc ecx
dec ebp
dec edi
aas
dec esp
dec edi
dec ebp
add esp, 4
pop ecx
push esi
push edx
add esp, 4
jmp 0x41cce7
pop esi
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
cmp ecx, eax
je 0x41cd2d
mov ecx, dword [ebp - 0x708]
add ecx, dword [ebp - 0x184]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x184]
movsx ecx, byte [ebp + eax - 0x804]
cmp edx, ecx
jne 0x41cd34
jmp 0x41cc7a
jmp 0x41cd3b
push edi
push edi
add esp, 4
xor edi, 0x2705
jmp 0x41cd4c
pop edi
push eax
call 0x41cd5d
add byte [esi], dh
cmp eax, 0x4e473838
cmp edi, dword [edx + esi]
add esp, 4
and eax, 0x64d4
sub eax, 0x17fe9
pop eax
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
cmp eax, edx
jne 0x41cd9a
mov dword [ebp - 0xc40], 0
jmp 0x41ce09
push ebx
and ebx, 0xef5
jmp 0x41cda6
add ebx, 0x9bea
pop ebx
push edi
push ecx
add esp, 4
and edi, 0x9a6f
jmp 0x41cdbd
sub edi, 0x7838
pop edi
push eax
and eax, 0x25b5
pop eax
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
or eax, 0x20
cmp ecx, eax
jge 0x41cdff
mov dword [ebp - 0xc40], 0xffffffff
jmp 0x41ce09
mov dword [ebp - 0xc40], 1
cmp dword [ebp - 0xc40], 0
jne 0x41ce20
mov ecx, dword [ebp - 0x18cc]
mov dword [ebp - 0x4e0], ecx
jmp 0x41ce31
jmp 0x41cc0a
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax