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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xe8
mov esi, dword [esp + 0x100]
mov eax, dword [esp + 0xfc]
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.0043d140
xor ecx, ecx
cmp eax, 0
jl 0x41f375
mov dword [esp], esi
call fcn.004139a0
shl eax, 1
mov word [esp + 0xcc], ax
movzx eax, ax
sub eax, 0xfffffffe
mov word [esp + 0xce], ax
mov dword [esp + 0xd0], esi
mov dword [esp], 0x848
call fcn.00436c80
mov dword [esp + 0x4c], eax
mov esi, dword [esp + 0x78]
mov al, byte [esp + 0x88]
mov byte [esp + 0xb4], al
mov byte [esp + 0x8c], 0x6f
mov byte [esp + 0x8d], 0x6e
mov byte [esp + 0x8e], 0x6d
mov byte [esp + 0x8f], 0x6c
mov eax, 4
mov byte [esp + eax + 0x8c], 0
add eax, 1
cmp eax, 6
jne 0x41eaf9
xor eax, eax
cmp eax, 6
jae 0x41eb79
movzx edx, byte [esp + eax + 0x8c]
mov ecx, eax
add ecx, 0x127d0f68
mov ebx, ecx
xor ebx, edx
xor ebx, 0xffffffff
mov ebp, eax
add ebp, 0x127d0f69
mov edi, 0xed82f097
sub edi, eax
or edi, ebx
add edi, ebp
mov ebx, edi
and ebx, 2
xor ebx, 2
mov ebp, edi
and ebp, 0xfffffffd
imul ebp, ebx
mov ebx, edi
and ebx, 2
or edi, 2
imul edi, ebx
add edi, ebp
sub ecx, edi
add ecx, edx
add ecx, 0xa38eb2f7
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, edx
mov byte [esp + eax + 0x8c], cl
add eax, 1
jmp 0x41eb0b
mov edi, dword [esp + 0x8c]
xor ebp, ebp
mov ecx, 2
cmp ebp, dword [0x44a3a4]
jb 0x41eb94
jmp 0x41ec4c
mov edx, dword [0x44a3a8]
cmp dword [edx + ebp*8], 0x557d0c65
sete bl
xor ecx, ecx
mov byte [esp + 0x3b], bl
test bl, 1
jne 0x41ebb4
jmp 0x41ec3b
mov edx, dword [edx + ebp*8 + 4]
mov ecx, 2
cmp edx, edi
je 0x41ec3b
mov eax, dword [0x44a3ac]
xor ecx, ecx
lea ecx, [esp + 0xe0]
lea ebx, [esp + 0xcc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x2c
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 + 0x4c]
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.00439600
mov ecx, 1
test byte [esp + 0x3b], 1
je 0x41ec44
jmp 0x41ec4c
add ebp, 1
jmp 0x41eb82
cmp ecx, 2
je 0x41ec53
mov edi, eax
cmp edi, 0
setge al
xor edx, edx
test al, 1
jne 0x41ec64
jmp 0x41f243
mov dword [esp + 0x44], 0
xor edx, edx
xor ebx, ebx
mov eax, dword [esp + 0x4c]
jmp 0x41ec76
mov edi, dword [eax + 0x3c]
shr edi, 1
mov esi, eax
add esi, 0x38
mov dword [esp + 0x48], eax
mov eax, dword [eax + 0x38]
and eax, 0x400
cmp eax, 0
jne 0x41eea5
mov dword [esp + 0x40], edx
mov al, byte [esp + 0x6c]
mov byte [esp + 0x94], al
mov byte [esp + 0x70], 0x3a
mov byte [esp + 0x71], 9
mov byte [esp + 0x72], 0xe
mov byte [esp + 0x73], 0xf
mov eax, 4
mov byte [esp + eax + 0x70], 0
add eax, 1
cmp eax, 5
jne 0x41ecbd
mov dword [esp + 0x3c], ebx
xor eax, eax
cmp eax, 5
jae 0x41ecff
mov dl, byte [esp + eax + 0x70]
mov ebx, eax
add ebx, 0xc2
mov ecx, eax
add ecx, 2
and ecx, 0x3f
and ebx, 0xc0
or ecx, ebx
xor cl, dl
add cl, 0x36
mov byte [esp + eax + 0x70], cl
add eax, 1
jmp 0x41ecd0
mov ebp, dword [esp + 0x48]
add ebp, 0x44
lea eax, [esp + 0x70]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.0041f390
cmp eax, 0
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
je 0x41eea5
mov al, byte [esp + 0x68]
mov byte [esp + 0x98], al
mov byte [esp + 0xbc], 0x56
mov byte [esp + 0xbd], 0x7b
mov byte [esp + 0xbe], 0x28
mov byte [esp + 0xbf], 0x79
mov byte [esp + 0xc0], pe_nt_image_headers32
mov byte [esp + 0xc1], 0x7f
mov eax, 6
mov byte [esp + eax + 0xbc], 0
add eax, 1
cmp eax, 9
jne 0x41ed6b
xor eax, eax
cmp eax, 9
jae 0x41ede3
movzx edx, byte [esp + eax + 0xbc]
mov ecx, eax
add ecx, 0xc7b9603f
mov ebx, ecx
and ebx, edx
add ecx, edx
shl ebx, 1
sub ecx, ebx
mov ebx, ecx
and ebx, 0x19611ec4
mov edx, ecx
and edx, 0xe69ee13b
xor edx, 0xe69ee13b
and ecx, 0xe69ee13b
xor ecx, 0xe69ee13b
or ecx, edx
mov edx, ebx
shl edx, 1
or ecx, ebx
mov ebx, dword [esp + 0x3c]
xor ecx, 0xffffffff
add edx, ecx
and ecx, 1
or edx, 1
add edx, ecx
mov byte [esp + eax + 0xbc], dl
add eax, 1
jmp 0x41ed7d
lea eax, [esp + 0xbc]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.0041f390
cmp eax, 0
jne 0x41ee08
mov edx, dword [esp + 0x40]
jmp 0x41eea7
mov eax, edi
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x41ee23
mov ecx, eax
mov dword [esp], ecx
call fcn.00408420
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov edi, eax
call fcn.004135e0
mov word [eax], 0
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x28]
mov edx, dword [esi]
or edx, edx
xor edx, 0xffffffff
or edx, 0xffffffef
xor edx, 0xffffffff
xor ecx, ecx
cmp edx, 0
setne cl
mov edx, dword [esp + 0x108]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp], edi
and ecx, 1
mov dword [esp + 4], ecx
call dword [esp + 0x104]
and al, 1
movzx eax, al
mov ecx, dword [esp + 0x40]
and cl, 1
movzx ecx, cl
or ecx, eax
cmp ecx, 0
setne al
and al, 1
mov esi, eax
mov dword [esp], edi
call fcn.00408430
mov edx, esi
jmp 0x41eea7
jmp 0x41eea7
cmp ebx, 0
sete al
test al, 1
jne 0x41eeb7
mov edi, dword [esp + 0x44]
jmp 0x41eee4
mov esi, edx
mov dword [esp], 0x10900
call fcn.00436c80
mov edi, eax
cmp edi, 0
jne 0x41eede
xor ebx, ebx
mov eax, 2
mov edi, dword [esp + 0x48]
mov edx, esi
jmp 0x41f235
mov ebx, edi
mov edx, esi
jmp 0x41eee4
cmp edi, ebx
sete al
test al, 1
jne 0x41eef2
jmp 0x41f212
mov al, byte [esp + 0x5c]
mov byte [esp + 0x9c], al
mov byte [esp + 0x60], 0x30
mov byte [esp + 0x61], 0xc8
mov byte [esp + 0x62], 0x33
mov byte [esp + 0x63], 0x33
mov eax, 4
mov byte [esp + eax + 0x60], 0
add eax, 1
cmp eax, 7
jne 0x41ef16
mov dword [esp + 0x40], edx
xor eax, eax
cmp eax, 7
jae 0x41ef5c
movzx edx, byte [esp + eax + 0x60]
mov ecx, eax
add ecx, 0xfe0f64cc
xor ecx, edx
mov esi, ecx
xor esi, 0x7c
mov edx, ecx
or edx, 3
and edx, esi
shl edx, 1
xor ecx, 3
add edx, ecx
add dl, 1
mov byte [esp + eax + 0x60], dl
add eax, 1
jmp 0x41ef29
mov eax, dword [esp + 0x60]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xd8], eax
mov al, byte [esp + 0x7c]
mov byte [esp + 0xb8], al
mov byte [esp + 0x80], 0x6f
mov byte [esp + 0x81], 0x6e
mov byte [esp + 0x82], 0x6d
mov byte [esp + 0x83], 0x6c
mov eax, 4
mov byte [esp + eax + 0x80], 0
add eax, 1
cmp eax, 6
jne 0x41efa2
mov dword [esp + 0x3c], ebx
xor eax, eax
cmp eax, 6
jae 0x41f026
movzx edx, byte [esp + eax + 0x80]
mov ecx, eax
add ecx, 0x127d0f68
mov ebx, ecx
xor ebx, edx
xor ebx, 0xffffffff
mov ebp, eax
add ebp, 0x127d0f69
mov esi, 0xed82f097
sub esi, eax
or esi, ebx
add esi, ebp
mov ebx, esi
and ebx, 2
xor ebx, 2
mov ebp, esi
and ebp, 0xfffffffd
imul ebp, ebx
mov ebx, esi
and ebx, 2
or esi, 2
imul esi, ebx
add esi, ebp
sub ecx, esi
add ecx, edx
add ecx, 0xa38eb2f7
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, edx
mov byte [esp + eax + 0x80], cl
add eax, 1
jmp 0x41efb8
mov esi, dword [esp + 0x80]
xor ebp, ebp
mov ebx, dword [esp + 0x3c]
mov ecx, 2
cmp ebp, dword [0x44a3a4]
jb 0x41f045
jmp 0x41f124
mov dword [esp + 0xc8], esi
mov esi, ebx
mov edx, dword [0x44a3a8]
cmp dword [edx + ebp*8], 0x557d0c65
sete bl
xor ecx, ecx
mov byte [esp + 0x3a], bl
test bl, 1
jne 0x41f070
mov ebx, esi
jmp 0x41f10c
mov edx, dword [edx + ebp*8 + 4]
mov ecx, 2
cmp edx, dword [esp + 0xc8]
mov ebx, esi
je 0x41f10c
mov eax, dword [0x44a3ac]
xor ecx, ecx
lea ecx, [esp + 0xe0]
lea ebx, [esp + 0xcc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x2c
mov eax, dword [esp + 0xd8]
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 + 0xdc]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x34], 0
call fcn.00439600
mov ecx, 1
test byte [esp + 0x3a], 1
mov esi, dword [esp + 0xc8]
je 0x41f11c
jmp 0x41f124
add ebp, 1
jmp 0x41f033
cmp ecx, 2
je 0x41f12b
mov esi, eax
mov al, byte [esp + 0x50]
mov byte [esp + 0xa0], al
mov byte [esp + 0x54], 0xe5
mov byte [esp + 0x55], 0xe1
mov byte [esp + 0x56], 0xe2
mov byte [esp + 0x57], 0x63
mov eax, 4
mov byte [esp + eax + 0x54], 0
add eax, 1
cmp eax, 5
jne 0x41f14f
xor eax, eax
cmp eax, 5
jae 0x41f1a5
movzx edx, byte [esp + eax + 0x54]
mov ebx, eax
shl ebx, 1
and ebx, 0x10d4e0b0
mov ecx, eax
xor ecx, 0x86a7058
mov ebp, ecx
and ebp, ebx
shl ebp, 1
xor ecx, ebx
mov ebx, dword [esp + 0x3c]
add ecx, ebp
xor ecx, edx
add ecx, 0x3b34803d
mov edx, ecx
shl edx, 1
and edx, 0x16
xor ecx, 0xb
add ecx, edx
mov byte [esp + eax + 0x54], cl
add eax, 1
jmp 0x41f15e
mov eax, dword [esp + 0x54]
cmp esi, eax
jne 0x41f1e3
xor eax, eax
mov edx, edi
jmp 0x41f1b3
mov ecx, edx
mov esi, dword [ecx]
cmp esi, 0
je 0x41f1ca
shr esi, 2
shl esi, 2
mov edx, ecx
add edx, esi
mov eax, ecx
jmp 0x41f1b3
cmp eax, 0
setne cl
jmp 0x41f1d2
test cl, 1
jne 0x41f1d9
jmp 0x41f1df
mov dword [eax], 0
xor esi, esi
jmp 0x41f1e3
cmp esi, 0
jge 0x41f1fb
mov dword [esp], ebx
call fcn.00436ce0
mov eax, 2
mov edx, dword [esp + 0x40]
jmp 0x41f203
mov edx, dword [esp + 0x40]
xor eax, eax
jmp 0x41f203
cmp eax, 0
je 0x41f212
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x48]
jmp 0x41f235
mov eax, dword [edi]
cmp eax, 0
setne cl
jmp 0x41f21c
test cl, 1
jne 0x41f223
jmp 0x41f22d
mov ecx, edi
add ecx, eax
mov dword [esp + 0x44], ecx
jmp 0x41f233
mov dword [esp + 0x44], ebx
jmp 0x41f233
xor eax, eax
test eax, eax
mov eax, edi
je 0x41ec76
jmp 0x41f241
jmp 0x41f243
mov esi, edx
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.00436ce0
mov eax, dword [esp + 0x78]
mov dword [esp + 0xd4], eax
mov al, byte [esp + 0xa4]
mov byte [esp + 0xb0], al
mov byte [esp + 0xa8], 0x6f
mov byte [esp + 0xa9], 0x6e
mov byte [esp + 0xaa], 0x6d
mov byte [esp + 0xab], 0x6c
mov eax, 4
mov byte [esp + eax + 0xa8], 0
add eax, 1
cmp eax, 6
jne 0x41f28f
xor eax, eax
cmp eax, 6
jae 0x41f30f
movzx edx, byte [esp + eax + 0xa8]
mov ecx, eax
add ecx, 0x127d0f68
mov ebx, ecx
xor ebx, edx
xor ebx, 0xffffffff
mov ebp, eax
add ebp, 0x127d0f69
mov edi, 0xed82f097
sub edi, eax
or edi, ebx
add edi, ebp
mov ebx, edi
and ebx, 2
xor ebx, 2
mov ebp, edi
and ebp, 0xfffffffd
imul ebp, ebx
mov ebx, edi
and ebx, 2
or edi, 2
imul edi, ebx
add edi, ebp
sub ecx, edi
add ecx, edx
add ecx, 0xa38eb2f7
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, edx
mov byte [esp + eax + 0xa8], cl
add eax, 1
jmp 0x41f2a1
mov edi, dword [esp + 0xa8]
xor ebp, ebp
mov ecx, esi
cmp ebp, dword [0x44a3a4]
jb 0x41f324
jmp 0x41f375
mov eax, dword [0x44a3a8]
cmp dword [eax + ebp*8], 0xb62b8d10
sete bl
test bl, 1
jne 0x41f33a
jmp 0x41f369
mov eax, dword [eax + ebp*8 + 4]
cmp eax, edi
je 0x41f369
mov ecx, dword [0x44a3ac]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xc], eax
call fcn.00439600
mov ecx, esi
test bl, 1
je 0x41f370
jmp 0x41f375
add ebp, 1
jmp 0x41f31a
and cl, 1
movzx eax, cl
add esp, 0xe8
pop esi
pop edi
pop ebx
pop ebp
ret