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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xdc
mov esi, dword [esp + 0xf4]
mov eax, dword [esp + 0xf0]
lea ecx, [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x100001
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], 0x4021
call fcn.0043c650
xor ecx, ecx
cmp eax, 0
jl 0x41cdcd
mov dword [esp], esi
call fcn.00413800
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 2
mov edx, eax
and edx, 0xfffffffd
imul edx, ecx
mov ecx, eax
and ecx, 2
or eax, 2
imul eax, ecx
add eax, edx
mov word [esp + 0xbc], ax
movzx eax, ax
xor ecx, ecx
sub ecx, eax
add ecx, 0xfffffffe
xor eax, eax
sub eax, ecx
mov word [esp + 0xbe], ax
mov dword [esp + 0xc0], esi
mov dword [esp], 0x848
call fcn.004354e0
mov dword [esp + 0x54], eax
mov esi, dword [esp + 0x78]
mov al, byte [esp + 0x88]
mov byte [esp + 0xb4], al
mov byte [esp + 0x8c], 0x1b
mov byte [esp + 0x8d], 0x1a
mov byte [esp + 0x8e], 0x1d
mov byte [esp + 0x8f], 0x1c
mov eax, 4
mov byte [esp + eax + 0x8c], 0
add eax, 1
cmp eax, 5
jne 0x41c60c
xor eax, eax
cmp eax, 5
jae 0x41c672
movzx ecx, byte [esp + eax + 0x8c]
mov edi, 0x3354405
sub edi, eax
and edi, 0xf0b7477
mov ebx, 0xb3354405
sub ebx, eax
and ebx, 0xf0f48b88
mov edx, ecx
xor edx, 0x77
or ebx, edi
mov edi, ebx
xor edi, 0x88
xor ebx, 0x77
and edx, ebx
xor ecx, 0x88
and edi, ecx
or edx, edi
add dl, 0x1e
mov byte [esp + eax + 0x8c], dl
add eax, 1
jmp 0x41c61e
mov edi, dword [esp + 0x8c]
xor ebp, ebp
mov ecx, 2
cmp ebp, dword [0x449644]
jb 0x41c68d
jmp 0x41c745
mov edx, dword [0x449648]
cmp dword [edx + ebp*8], 0x557d0c65
sete bl
xor ecx, ecx
mov byte [esp + 0x3b], bl
test bl, 1
jne 0x41c6ad
jmp 0x41c734
mov edx, dword [edx + ebp*8 + 4]
mov ecx, 2
cmp edx, edi
je 0x41c734
mov eax, dword [0x44964c]
xor ecx, ecx
lea ecx, [esp + 0xd4]
lea ebx, [esp + 0xbc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0xb
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x54]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0x848
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], 1
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], 0
call fcn.00438a80
mov ecx, 1
test byte [esp + 0x3b], 1
je 0x41c73d
jmp 0x41c745
add ebp, 1
jmp 0x41c67b
cmp ecx, 2
je 0x41c74c
mov edi, eax
mov dword [esp + 0x48], 0
cmp edi, 0
jl 0x41ccc5
xor ebx, ebx
mov dword [esp + 0x48], 0
xor esi, esi
mov eax, dword [esp + 0x54]
jmp 0x41c76f
mov edi, dword [eax + 0x3c]
shr edi, 1
mov ecx, eax
add ecx, 0x38
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x40], eax
mov eax, dword [eax + 0x38]
and eax, 0x400
cmp eax, 0
jne 0x41c958
mov al, byte [esp + 0x74]
mov byte [esp + 0x94], al
mov byte [esp + 0x3c], 0x56
mov byte [esp + 0x3d], 0x2b
mov byte [esp + 0x3e], 0x2a
mov byte [esp + 0x3f], 0x29
xor eax, eax
cmp eax, 4
jae 0x41c7e8
movzx edx, byte [esp + eax + 0x3c]
mov ecx, eax
add ecx, 0x87
mov ebp, ebx
mov ebx, pe_nt_image_headers32
sub ebx, eax
and ebx, edx
xor edx, 0xffffffff
and ecx, edx
or ecx, ebx
mov ebx, ebp
add cl, 0x5d
mov byte [esp + eax + 0x3c], cl
add eax, 1
jmp 0x41c7b6
mov ebp, dword [esp + 0x40]
add ebp, 0x44
lea eax, [esp + 0x3c]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.0041cde0
cmp eax, 0
je 0x41c958
mov al, byte [esp + 0x70]
mov byte [esp + 0x98], al
mov byte [esp + 0x4c], 0xee
mov byte [esp + 0x4d], 0x3b
mov byte [esp + 0x4e], 0xe8
mov byte [esp + 0x4f], 0x39
mov byte [esp + 0x50], 0x38
mov byte [esp + 0x51], 0x27
mov eax, 6
mov byte [esp + eax + 0x4c], 0
add eax, 1
cmp eax, 8
jne 0x41c83a
mov dword [esp + 0x44], esi
xor eax, eax
cmp eax, 8
jae 0x41c896
mov dword [esp + 0xd0], ebx
movzx ebx, byte [esp + eax + 0x4c]
mov ecx, eax
add ecx, 0x4ad47b4b
mov esi, ecx
shl esi, 1
mov edx, eax
add edx, 0x4a
sub edx, esi
mov esi, 0xb4
sub esi, eax
and edx, esi
or ecx, ebx
xor ebx, 0xffffffff
or edx, ebx
mov ebx, dword [esp + 0xd0]
and edx, ecx
add dl, 0x89
mov byte [esp + eax + 0x4c], dl
add eax, 1
jmp 0x41c84d
lea eax, [esp + 0x4c]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.0041cde0
cmp eax, 0
mov esi, dword [esp + 0x44]
jne 0x41c8b8
jmp 0x41c958
mov eax, edi
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x41c8d3
mov ecx, eax
mov dword [esp], ecx
call fcn.004081b0
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov edi, eax
call fcn.00413440
mov word [eax], 0
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x28]
mov eax, dword [esp + 0xcc]
mov edx, dword [eax]
and edx, 0x10
xor eax, eax
cmp edx, 0
setne al
mov edx, dword [esp + 0xfc]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp], edi
and eax, 1
mov dword [esp + 4], eax
call dword [esp + 0xf8]
and al, 1
movzx eax, al
mov ecx, dword [esp + 0x48]
and cl, 1
movzx ecx, cl
or ecx, eax
cmp ecx, 0
setne al
and al, 1
jmp 0x41c948
mov dword [esp + 0x48], eax
mov dword [esp], edi
call fcn.004081c0
jmp 0x41c956
jmp 0x41c958
cmp esi, 0
je 0x41c961
mov edi, ebx
jmp 0x41c988
mov dword [esp], 0x10900
call fcn.004354e0
mov edi, eax
cmp edi, 0
jne 0x41c984
xor esi, esi
mov eax, 2
mov edi, dword [esp + 0x40]
jmp 0x41ccb7
mov esi, edi
jmp 0x41c988
cmp edi, esi
jne 0x41cca4
mov al, byte [esp + 0x64]
mov byte [esp + 0x9c], al
mov byte [esp + 0x68], 0xc
mov byte [esp + 0x69], 0x1c
mov byte [esp + 0x6a], 0x15
mov byte [esp + 0x6b], 9
mov eax, 4
mov byte [esp + eax + 0x68], 0
add eax, 1
cmp eax, 5
jne 0x41c9b4
xor eax, eax
mov dword [esp + 0x44], esi
cmp eax, 5
jae 0x41ca14
movzx ecx, byte [esp + eax + 0x68]
mov edx, eax
and edx, 0x339590c3
mov esi, eax
and esi, 0x339590c3
mov ebx, eax
add ebx, 0x339590c4
add ebx, edx
sub esi, ebx
xor esi, ecx
mov ecx, 0xfe142c2f
sub ecx, esi
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, edx
mov byte [esp + eax + 0x68], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x41c9c7
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xc4], eax
mov al, byte [esp + 0x7c]
mov byte [esp + 0xb8], al
mov byte [esp + 0x80], 0x1b
mov byte [esp + 0x81], 0x1a
mov byte [esp + 0x82], 0x1d
mov byte [esp + 0x83], 0x1c
mov eax, 4
mov byte [esp + eax + 0x80], 0
add eax, 1
cmp eax, 5
jne 0x41ca5a
xor eax, eax
cmp eax, 5
jae 0x41cac0
movzx ecx, byte [esp + eax + 0x80]
mov esi, 0x3354405
sub esi, eax
and esi, 0xf0b7477
mov ebx, 0xb3354405
sub ebx, eax
and ebx, 0xf0f48b88
mov edx, ecx
xor edx, 0x77
or ebx, esi
mov esi, ebx
xor esi, 0x88
xor ebx, 0x77
and edx, ebx
xor ecx, 0x88
and esi, ecx
or edx, esi
add dl, 0x1e
mov byte [esp + eax + 0x80], dl
add eax, 1
jmp 0x41ca6c
mov esi, dword [esp + 0x80]
xor ebp, ebp
mov ecx, 2
cmp ebp, dword [0x449644]
jb 0x41cadb
jmp 0x41cb97
mov edx, dword [0x449648]
cmp dword [edx + ebp*8], 0x557d0c65
sete bl
xor ecx, ecx
test bl, 1
jne 0x41caf7
jmp 0x41cb88
mov edx, dword [edx + ebp*8 + 4]
mov ecx, 2
cmp edx, esi
je 0x41cb88
mov eax, dword [0x44964c]
xor ecx, ecx
lea ecx, [esp + 0xd4]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0xb
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edi
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], 0
lea eax, [esp + 0xbc]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 0
call fcn.00438a80
mov ecx, 1
test bl, 1
je 0x41cb8f
jmp 0x41cb97
add ebp, 1
jmp 0x41cac9
cmp ecx, 2
je 0x41cb9e
mov esi, eax
mov al, byte [esp + 0x58]
mov byte [esp + 0xa0], al
mov byte [esp + 0x5c], 0x1b
mov byte [esp + 0x5d], 0x1f
mov byte [esp + 0x5e], 0x1e
mov byte [esp + 0x5f], 0x91
mov eax, 4
mov byte [esp + eax + 0x5c], 0
add eax, 1
cmp eax, 5
jne 0x41cbc2
xor eax, eax
cmp eax, 5
jae 0x41cc41
movzx ecx, byte [esp + eax + 0x5c]
mov edx, eax
xor edx, 0x2121037a
mov ebx, eax
or ebx, 0xdedefc85
and ebx, edx
mov edx, ebx
and edx, 2
xor edx, 2
mov ebp, ebx
and ebp, 0xfffffffd
imul ebp, edx
mov edx, ebx
and edx, 2
or ebx, 2
imul ebx, edx
add ebx, ebp
mov edx, eax
xor edx, 0xdedefc85
add edx, ebx
xor edx, ecx
mov ecx, edx
add ecx, 0xa5a51166
mov ebx, ecx
xor ebx, 0x7e
or ecx, 1
and ecx, ebx
shl ecx, 1
mov ebx, edx
shl ebx, 1
and ebx, 2
add edx, 0x67
sub edx, ebx
add edx, ecx
mov byte [esp + eax + 0x5c], dl
add eax, 1
jmp 0x41cbd1
mov eax, dword [esp + 0x5c]
cmp esi, eax
jne 0x41cc77
xor eax, eax
mov edx, edi
jmp 0x41cc4f
mov ecx, edx
mov esi, dword [ecx]
cmp esi, 0
je 0x41cc66
shr esi, 2
shl esi, 2
mov edx, ecx
add edx, esi
mov eax, ecx
jmp 0x41cc4f
cmp eax, 0
je 0x41cc73
mov dword [eax], 0
jmp 0x41cc73
xor esi, esi
jmp 0x41cc77
cmp esi, 0
jge 0x41cc8f
mov esi, dword [esp + 0x44]
mov dword [esp], esi
call fcn.00435570
mov eax, 2
jmp 0x41cc97
xor eax, eax
mov esi, dword [esp + 0x44]
jmp 0x41cc97
cmp eax, 0
je 0x41cca4
mov ebx, edi
mov edi, dword [esp + 0x40]
jmp 0x41ccb7
mov eax, dword [edi]
cmp eax, 0
je 0x41ccb1
mov ebx, edi
add ebx, eax
jmp 0x41ccb5
mov ebx, esi
jmp 0x41ccb5
xor eax, eax
test eax, eax
mov eax, edi
je 0x41c76f
jmp 0x41ccc3
jmp 0x41ccc5
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.00435570
mov esi, dword [esp + 0x78]
mov al, byte [esp + 0xa4]
mov byte [esp + 0xb0], al
mov byte [esp + 0xa8], 0x1b
mov byte [esp + 0xa9], 0x1a
mov byte [esp + 0xaa], 0x1d
mov byte [esp + 0xab], 0x1c
mov eax, 4
mov byte [esp + eax + 0xa8], 0
add eax, 1
cmp eax, 5
jne 0x41cd08
xor eax, eax
cmp eax, 5
jae 0x41cd6e
movzx ecx, byte [esp + eax + 0xa8]
mov edi, 0x3354405
sub edi, eax
and edi, 0xf0b7477
mov ebx, 0xb3354405
sub ebx, eax
and ebx, 0xf0f48b88
mov edx, ecx
xor edx, 0x77
or ebx, edi
mov edi, ebx
xor edi, 0x88
xor ebx, 0x77
and edx, ebx
xor ecx, 0x88
and edi, ecx
or edx, edi
add dl, 0x1e
mov byte [esp + eax + 0xa8], dl
add eax, 1
jmp 0x41cd1a
mov edi, dword [esp + 0xa8]
xor ebp, ebp
cmp ebp, dword [0x449644]
jb 0x41cd81
jmp 0x41cdc9
mov eax, dword [0x449648]
cmp dword [eax + ebp*8], 0xb62b8d10
sete bl
test bl, 1
jne 0x41cd97
jmp 0x41cdbd
mov eax, dword [eax + ebp*8 + 4]
cmp eax, edi
je 0x41cdbd
mov ecx, dword [0x44964c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov dword [esp + 0xc], esi
call fcn.00438a80
test bl, 1
jne 0x41cdc7
add ebp, 1
jmp 0x41cd77
jmp 0x41cdc9
mov ecx, dword [esp + 0x48]
and cl, 1
movzx eax, cl
add esp, 0xdc
pop esi
pop edi
pop ebx
pop ebp
ret