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

Disassembly:
push edi
push edi
add esp, 4
call fcn.0041f2fc
add byte [ecx + 0x48], cl
xor al, 0x4c
cmp eax, 0x833c4b46
add esp, 4
call 0x41f30b
add byte [edi], dh
add esp, 4
call 0x41f30b
add byte [edi], dh
dec eax
dec eax
inc edx
dec ebx
add esp, 4
add edi, 0x13c73
xor edi, 0x12b3a
pop edi
lea ecx, [ebp - 0x1790]
mov dword [ebp - 0xccc], ecx
mov edx, dword [ebp - 0x518]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xcc8], eax
xor ecx, ecx
mov word [ebp - 0x220], cx
xor edx, edx
mov word [ebp - 0x3c], dx
push edi
push edx
add esp, 4
or edi, 0x17df3
sub edi, 0x606d
pop edi
push edi
sub edi, 0x71cf
and edi, 0x59cf
add edi, 0xcef5
pop edi
push edi
push edi
add esp, 4
add edi, 0xe839
pop edi
mov eax, dword [ebp - 0xcc8]
mov cx, word [eax]
mov word [ebp - 0x1042], cx
mov edx, dword [ebp - 0xcc8]
add edx, 2
mov dword [ebp - 0xcc8], edx
mov ax, word [ebp - 0x1042]
mov word [ebp - 0x220], ax
mov ecx, dword [ebp - 0xccc]
mov dx, word [ecx]
mov word [ebp - 0x1044], dx
mov eax, dword [ebp - 0xccc]
add eax, 2
mov dword [ebp - 0xccc], eax
mov cx, word [ebp - 0x1044]
mov word [ebp - 0x3c], cx
push esi
sub esi, 0xd583
and esi, 0xc252
pop esi
push edi
push esi
add esp, 4
add edi, 0x138fd
pop edi
push ecx
push ebx
add esp, 4
and ecx, 0xb32b
xor ecx, 0xd997
add ecx, 0xb9ce
pop ecx
movzx edx, word [ebp - 0x3c]
test edx, edx
jne 0x41f41d
movzx eax, word [ebp - 0x220]
movzx ecx, word [ebp - 0x3c]
sub eax, ecx
mov dword [ebp - 0x1668], eax
jmp 0x41f477
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
je 0x41f345
movzx ecx, word [ebp - 0x220]
xor ecx, 0x20
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x41f345
movzx eax, word [ebp - 0x220]
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
jge 0x41f461
mov dword [ebp - 0x1624], 0xffffffff
jmp 0x41f46b
mov dword [ebp - 0x1624], 1
mov edx, dword [ebp - 0x1624]
mov dword [ebp - 0x1668], edx
cmp dword [ebp - 0x1668], 0
jne 0x41f4c0
push esi
or esi, 0xbbbe
call 0x41f495
add byte [edx], dh
inc eax
dec eax
cmp byte [ebx + 0x50], al
dec esi
dec ebp
add esp, 4
or esi, 0x41e8
jmp 0x41f4a5
pop esi
push edx
push edx
add esp, 4
xor edx, 0xc6dc
pop edx
mov eax, dword [ebp - 0x518]
mov dword [ebp - 0x774], eax
jmp 0x41f528
push esi
push eax
add esp, 4
xor esi, 0xf28b
or esi, 0xb6ac
pop esi
push ecx
push edx
add esp, 4
add ecx, 0x15ad9
pop ecx
push esi
and esi, 0x1096
add esi, 0xcd38
or esi, 0xa8e8
pop esi
mov ecx, dword [ebp - 0x518]
mov edx, dword [ecx]
mov dword [ebp - 0x518], edx
mov eax, dword [ebp - 0x518]
cmp eax, dword [ebp - 0xcd0]
je 0x41f51e
mov ecx, dword [ebp - 0x518]
cmp dword [ecx + 0x30], 0
jne 0x41f2e9
mov dword [ebp - 0x774], 0
push edx
call 0x41f538
add byte [eax + 0x3d], cl
dec ebp
dec esp
cmp dword [edi], edi
inc esi
inc esi
inc ecx
add esp, 4
xor edx, 0xad6
jmp 0x41f549
jmp 0x41f551
pop edx
push ebx
and ebx, 0xf26f
pop ebx
cmp dword [ebp - 0x774], 0
jne 0x41f5a4
push edi
push ecx
add esp, 4
add edi, 0x15d76
or edi, 0x12bb2
add edi, 0x70e4
pop edi
push ebx
xor ebx, 0x3d7d
pop ebx
push ecx
push edi
add esp, 4
sub ecx, 0x4f10
xor ecx, 0x14c3f
pop ecx
mov dword [ebp - 0xab4], 0
jmp 0x4200cc
push ebx
push ecx
add esp, 4
call 0x41f5b7
add byte [0x3c384a3b], dh
dec edi
aaa
inc ecx
add esp, 4
add ebx, 0xf0fe
add ebx, 0x66ec
call 0x41f5d2
add byte [esi + 0x4e], al
xor ecx, dword [ebx + 0x35]
dec edi
add esp, 4
pop ebx
mov edx, dword [ebp - 0x774]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x3a4], eax
mov dword [ebp - 0x784], 0
mov ecx, dword [ebp - 0x3a4]
mov dword [ebp - 0x166c], ecx
cmp dword [ebp - 0x166c], 0
jne 0x41f615
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], edx
jmp 0x41f906
mov eax, dword [ebp - 0x166c]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x1670], ecx
jne 0x41f63d
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], edx
jmp 0x41f906
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0x1670]
mov eax, dword [edx + ecx + 0x78]
mov dword [ebp - 0x1678], eax
cmp dword [ebp - 0x1678], 0
jne 0x41f66f
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], ecx
jmp 0x41f906
mov edx, dword [ebp - 0x3a4]
add edx, dword [ebp - 0x1678]
mov dword [ebp - 0x778], edx
jne 0x41f694
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], eax
jmp 0x41f906
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0x19a4], edx
mov eax, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0x19a8], ecx
mov edx, dword [ebp - 0x778]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0x19ac], eax
mov dword [ebp - 0x77c], 0
jmp 0x41f6ee
mov ecx, dword [ebp - 0x77c]
add ecx, 1
mov dword [ebp - 0x77c], ecx
mov edx, dword [ebp - 0x778]
mov eax, dword [ebp - 0x77c]
cmp eax, dword [edx + 0x18]
jae 0x41f8fa
mov ecx, dword [ebp - 0x77c]
mov edx, dword [ebp - 0x19a4]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x780], eax
mov ecx, dword [ebp - 0x77c]
mov edx, dword [ebp - 0x19a8]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0x19ac]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x19b0], edx
mov dword [ebp - 0x1a0], 0
jmp 0x41f75e
mov eax, dword [ebp - 0x1a0]
add eax, 1
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp - 0x780]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
test edx, edx
je 0x41f810
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x8a4]
test ecx, ecx
je 0x41f810
push edx
add edx, 0x12c38
pop edx
push ebx
push eax
add esp, 4
sub ebx, 0x1262f
add ebx, 0xfcea
or ebx, 0xe66b
sub ebx, 0x6b72
pop ebx
push eax
push edi
add esp, 4
and eax, 0x2314
pop eax
mov edx, dword [ebp - 0x780]
add edx, dword [ebp - 0x1a0]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x1a0]
movsx edx, byte [ebp + ecx - 0x8a4]
cmp eax, edx
je 0x41f802
mov eax, dword [ebp - 0x780]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
xor ecx, 0x20
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x8a4]
cmp ecx, eax
jne 0x41f809
jmp 0x41f74f
jmp 0x41f810
push ebx
push edx
add esp, 4
xor ebx, 0x1590a
pop ebx
push ecx
and ecx, 0x98e6
sub ecx, 0x13125
pop ecx
push edi
push esi
add esp, 4
and edi, 0x16ec0
xor edi, 0x199d
xor edi, 0xb723
pop edi
mov ecx, dword [ebp - 0x780]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x8a4]
cmp edx, ecx
jne 0x41f86f
mov dword [ebp - 0xcd4], 0
jmp 0x41f8de
push esi
push ecx
add esp, 4
call 0x41f880
add byte [ebp + 0x4c], al
xor eax, 0x83323334
les eax, [ecx + eax*4]
out 1, al
sbb dword [eax], eax
add byte [esi + 0x50], bl
push edx
add esp, 4
jmp 0x41f894
add eax, 0x168eb
and eax, 0x12e64
pop eax
mov edx, dword [ebp - 0x780]
add edx, dword [ebp - 0x1a0]
movsx eax, byte [edx]
or eax, 0x20
mov ecx, dword [ebp - 0x1a0]
movsx edx, byte [ebp + ecx - 0x8a4]
or edx, 0x20
cmp eax, edx
jge 0x41f8d4
mov dword [ebp - 0xcd4], 0xffffffff
jmp 0x41f8de
mov dword [ebp - 0xcd4], 1
cmp dword [ebp - 0xcd4], 0
jne 0x41f8f5
mov eax, dword [ebp - 0x19b0]
mov dword [ebp - 0x3f8], eax
jmp 0x41f906
jmp 0x41f6df
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], ecx
cmp dword [ebp - 0x3f8], 0
je 0x41f9e1
push esi
add esi, 0x691
or esi, 0x89cd
pop esi
push esi
push eax
add esp, 4
xor esi, 0xf613
or esi, 0x722f
xor esi, 0x15d96
pop esi
push eax
push ebx
add esp, 4
xor eax, 0x3f72
pop eax
mov edx, dword [ebp - 0x3f8]
mov dword [ebp - 0x19b4], edx
push esi
push ecx
add esp, 4
call 0x41f963
add byte [esi + 0x49], al
dec ebp
inc ecx
inc esi
aas
add esp, 4
call 0x41f976
add byte [ebx + edi + 0x41], al
cmp dword [edi], esi
dec ebp
dec esp
xor eax, 0xeb04c483
pop es
inc ebx
cmp dword [edi], edi
inc esi
inc eax
cmp cl, byte [ebx + 0x5e]
mov eax, dword [ebp - 0x19b4]
mov dword [ebp - 0x19b8], eax
lea ecx, [ebp - 0x1738]
push ecx
call dword [ebp - 0x19b8]
test eax, eax
jne 0x41f9e1
push ecx
sub ecx, 0x121f8
sub ecx, 0x18112
pop ecx
push edi
push ebx
add esp, 4
add edi, 0x30d7
sub edi, 0x4ff5
and edi, 0x1e47
pop edi
push edx
push esi
add esp, 4
sub edx, 0xa99c
pop edx
mov dword [ebp - 0xab4], 0
jmp 0x4200cc