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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xcc
mov esi, dword [esp + 0xe4]
mov eax, dword [esp + 0xe0]
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.00437c70
xor ebx, ebx
cmp eax, 0
jl 0x41f6f0
mov dword [esp], esi
call fcn.00413b90
shl eax, 1
mov word [esp + 0xa8], ax
movzx eax, ax
add eax, 2
mov word [esp + 0xaa], ax
mov dword [esp + 0xac], esi
mov dword [esp], 0x848
call fcn.00434ca0
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xb0], eax
mov al, byte [esp + 0x80]
mov byte [esp + 0x9c], al
mov byte [esp + 0x49], 0xc7
mov byte [esp + 0x4a], 0xc6
mov byte [esp + 0x4b], 0xc5
mov byte [esp + 0x4c], 0xc4
movzx eax, byte [esp + 0x49]
mov ecx, eax
and ecx, 0x78
shl ecx, 1
mov edi, eax
add edi, 0x2eac3878
sub edi, ecx
mov edx, edi
and edx, 0x8a9e3c3f
mov ecx, edi
and ecx, 0x7561c3c0
xor ecx, 0x7561c3c0
and edi, 0x7561c3c0
xor edi, 0x7561c3c0
or ecx, edi
and eax, 1
xor eax, 1
mov edi, ecx
sub edi, edx
sub ecx, edx
or edi, ecx
or edi, 1
sub eax, edi
mov byte [esp + 0x49], al
movzx eax, byte [esp + 0x4a]
mov ecx, eax
and ecx, 0x79
shl ecx, 1
add eax, 1
mov edi, eax
add edi, 0x2eac3878
sub edi, ecx
mov edx, edi
and edx, 0x8a9e3c3f
mov ecx, edi
and ecx, 0x7561c3c0
xor ecx, 0x7561c3c0
and edi, 0x7561c3c0
xor edi, 0x7561c3c0
or ecx, edi
and eax, 1
xor eax, 1
mov edi, ecx
sub edi, edx
sub ecx, edx
or edi, ecx
or edi, 1
sub eax, edi
mov byte [esp + 0x4a], al
movzx eax, byte [esp + 0x4b]
mov ecx, eax
and ecx, 0x7a
mov edx, ecx
and edx, 0xfd
mov edi, ecx
and edi, 2
xor edi, 2
imul edi, edx
mov edx, ecx
and edx, 2
or ecx, 2
imul ecx, edx
add ecx, edi
add eax, 2
mov edi, eax
add edi, 0x2eac3878
sub edi, ecx
mov edx, edi
and edx, 0x8a9e3c3f
mov ecx, edi
and ecx, 0x7561c3c0
xor ecx, 0x7561c3c0
and edi, 0x7561c3c0
xor edi, 0x7561c3c0
or ecx, edi
and eax, 1
xor eax, 1
mov edi, ecx
sub edi, edx
sub ecx, edx
or edi, ecx
or edi, 1
sub eax, edi
mov byte [esp + 0x4b], al
movzx eax, byte [esp + 0x4c]
mov ecx, eax
and ecx, 0x7b
mov edx, ecx
and edx, 0xfd
mov edi, ecx
and edi, 2
xor edi, 2
imul edi, edx
mov edx, ecx
and edx, 2
or ecx, 2
imul ecx, edx
add ecx, edi
add eax, 3
mov edi, eax
add edi, 0x2eac3878
sub edi, ecx
mov edx, edi
and edx, 0x8a9e3c3f
mov ecx, edi
and ecx, 0x7561c3c0
xor ecx, 0x7561c3c0
and edi, 0x7561c3c0
xor edi, 0x7561c3c0
or ecx, edi
and eax, 1
xor eax, 1
mov edi, ecx
sub edi, edx
sub ecx, edx
or edi, ecx
or edi, 1
sub eax, edi
mov byte [esp + 0x4c], al
mov edi, dword [esp + 0x49]
xor esi, esi
mov ecx, 2
cmp esi, dword [0x443550]
jb 0x41ed20
jmp 0x41ede3
mov edx, dword [0x443554]
cmp dword [edx + esi*8], 0x7be1e2d2
sete bl
xor ecx, ecx
mov byte [esp + 0x51], bl
test bl, 1
jne 0x41ed40
jmp 0x41edd2
mov edx, dword [edx + esi*8 + 4]
mov ecx, 2
cmp edx, edi
je 0x41edd2
mov eax, dword [0x443558]
xor ecx, ecx
lea ecx, [esp + 0xc4]
lea ebp, [esp + 0xa8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x2c
mov eax, dword [esp + 0xb0]
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 eax, dword [esp + 0x64]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0x848
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], 1
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], 0
call fcn.004360a0
mov ecx, 1
test byte [esp + 0x51], 1
je 0x41eddb
jmp 0x41ede3
add esi, 1
jmp 0x41ed0e
cmp ecx, 2
je 0x41edea
mov edi, eax
xor ebx, ebx
cmp edi, 0
jl 0x41f4c9
mov dword [esp + 0x58], 0
xor ebx, ebx
xor esi, esi
mov edi, dword [esp + 0x64]
jmp 0x41ee07
mov ebp, dword [edi + 0x3c]
shr ebp, 1
mov eax, edi
add eax, 0x38
mov dword [esp + 0xb4], eax
mov dword [esp + 0x5c], edi
mov eax, dword [edi + 0x38]
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x400
add eax, ecx
cmp eax, 0
jne 0x41f043
mov al, byte [esp + 0x74]
mov byte [esp + 0x84], al
mov byte [esp + 0x41], 0xb7
mov byte [esp + 0x42], 0x8a
mov byte [esp + 0x43], 0x8b
mov byte [esp + 0x44], 0x8c
movzx eax, byte [esp + 0x41]
mov ecx, eax
xor ecx, 0xf2
xor eax, 0xf2
and eax, 0x24740b73
or ecx, 0x24740b73
xor eax, ecx
add al, 0xf8
mov byte [esp + 0x41], al
movzx eax, byte [esp + 0x42]
mov ecx, eax
xor ecx, 0xf2
xor eax, 0xf2
and eax, 0x24740b70
or ecx, 0x24740b70
xor eax, ecx
add al, 0xf8
mov byte [esp + 0x42], al
movzx eax, byte [esp + 0x43]
mov ecx, eax
xor ecx, 0xf2
xor eax, 0xf2
and eax, 0x24740b71
or ecx, 0x24740b71
xor eax, ecx
add al, 0xf8
mov byte [esp + 0x43], al
movzx eax, byte [esp + 0x44]
mov ecx, eax
xor ecx, 0xf2
xor eax, 0xf2
and eax, 0x24740b76
or ecx, 0x24740b76
xor eax, ecx
add al, 0xf8
mov byte [esp + 0x44], al
mov edi, dword [esp + 0x5c]
add edi, 0x44
lea eax, [esp + 0x41]
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.0041f710
cmp eax, 0
je 0x41f043
mov al, byte [esp + 0x70]
mov byte [esp + 0x88], al
mov byte [esp + 0x52], 0xe5
mov byte [esp + 0x53], 0xbc
mov byte [esp + 0x54], 0xe3
mov byte [esp + 0x55], 0xbe
mov byte [esp + 0x56], 0xbf
mov byte [esp + 0x57], 0xb0
xor eax, eax
cmp eax, 6
jae 0x41ef89
movzx edx, byte [esp + eax + 0x52]
mov ecx, eax
add ecx, 0x930107a3
or ecx, edx
mov dword [esp + 0x60], esi
mov esi, ebx
mov ebx, eax
add ebx, 0xa3
and ebx, edx
sub ecx, ebx
mov ebx, esi
mov esi, dword [esp + 0x60]
add ecx, 0x67f7c2e7
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, edx
mov byte [esp + eax + 0x52], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x41ef39
lea eax, [esp + 0x52]
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.0041f710
cmp eax, 0
setne al
test al, 1
jne 0x41efac
jmp 0x41f043
mov eax, ebp
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x41efc7
mov ecx, eax
mov dword [esp], ecx
call fcn.00408300
mov dword [esp], eax
mov dword [esp + 4], edi
mov edi, eax
mov dword [esp + 8], ebp
call fcn.00413790
mov word [eax], 0
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x28]
mov eax, dword [esp + 0xb4]
mov edx, dword [eax]
and edx, 0x10
xor eax, eax
cmp edx, 0
setne al
mov edx, dword [esp + 0xec]
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 + 0xe8]
and al, 1
movzx eax, al
and bl, 1
movzx ecx, bl
or ecx, eax
cmp ecx, 0
setne bl
and bl, 1
mov dword [esp], edi
call fcn.00408310
jmp 0x41f041
jmp 0x41f043
cmp esi, 0
je 0x41f04e
mov edi, dword [esp + 0x58]
jmp 0x41f075
mov dword [esp], 0x10900
call fcn.00434ca0
mov edi, eax
cmp edi, 0
jne 0x41f071
xor esi, esi
mov eax, 2
mov edi, dword [esp + 0x5c]
jmp 0x41f4bd
mov esi, edi
jmp 0x41f075
cmp edi, esi
sete al
test al, 1
jne 0x41f083
jmp 0x41f49a
mov dword [esp + 0x60], esi
mov al, byte [esp + 0x6c]
mov byte [esp + 0x8c], al
mov byte [esp + 0x3d], 0xde
mov byte [esp + 0x3e], 0xd6
mov byte [esp + 0x3f], 0xc1
mov byte [esp + 0x40], 0xc1
mov al, byte [esp + 0x3d]
xor al, 0xae
add al, 0x90
mov byte [esp + 0x3d], al
mov al, byte [esp + 0x3e]
xor al, 0xaf
add al, 0x90
mov byte [esp + 0x3e], al
mov al, byte [esp + 0x3f]
xor al, 0xb0
add al, 0x90
mov byte [esp + 0x3f], al
mov al, byte [esp + 0x40]
xor al, 0xb1
add al, 0x90
mov byte [esp + 0x40], al
mov eax, dword [esp + 0x3d]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xbc], eax
mov al, byte [esp + 0x7c]
mov byte [esp + 0xa0], al
mov byte [esp + 0x45], 0xc7
mov byte [esp + 0x46], 0xc6
mov byte [esp + 0x47], 0xc5
mov byte [esp + 0x48], 0xc4
movzx eax, byte [esp + 0x45]
mov ecx, eax
and ecx, 0x78
shl ecx, 1
mov esi, eax
add esi, 0x2eac3878
sub esi, ecx
mov edx, esi
and edx, 0x8a9e3c3f
mov ecx, esi
and ecx, 0x7561c3c0
xor ecx, 0x7561c3c0
and esi, 0x7561c3c0
xor esi, 0x7561c3c0
or ecx, esi
and eax, 1
xor eax, 1
mov esi, ecx
sub esi, edx
sub ecx, edx
or esi, ecx
or esi, 1
sub eax, esi
mov byte [esp + 0x45], al
movzx eax, byte [esp + 0x46]
mov ecx, eax
and ecx, 0x79
shl ecx, 1
add eax, 1
mov esi, eax
add esi, 0x2eac3878
sub esi, ecx
mov edx, esi
and edx, 0x8a9e3c3f
mov ecx, esi
and ecx, 0x7561c3c0
xor ecx, 0x7561c3c0
and esi, 0x7561c3c0
xor esi, 0x7561c3c0
or ecx, esi
and eax, 1
xor eax, 1
mov esi, ecx
sub esi, edx
sub ecx, edx
or esi, ecx
or esi, 1
sub eax, esi
mov byte [esp + 0x46], al
movzx eax, byte [esp + 0x47]
mov ecx, eax
and ecx, 0x7a
mov edx, ecx
and edx, 0xfd
mov esi, ecx
and esi, 2
xor esi, 2
imul esi, edx
mov edx, ecx
and edx, 2
or ecx, 2
imul ecx, edx
add ecx, esi
add eax, 2
mov esi, eax
add esi, 0x2eac3878
sub esi, ecx
mov edx, esi
and edx, 0x8a9e3c3f
mov ecx, esi
and ecx, 0x7561c3c0
xor ecx, 0x7561c3c0
and esi, 0x7561c3c0
xor esi, 0x7561c3c0
or ecx, esi
and eax, 1
xor eax, 1
mov esi, ecx
sub esi, edx
sub ecx, edx
or esi, ecx
or esi, 1
sub eax, esi
mov byte [esp + 0x47], al
movzx eax, byte [esp + 0x48]
mov ecx, eax
and ecx, 0x7b
mov edx, ecx
and edx, 0xfd
mov esi, ecx
and esi, 2
xor esi, 2
imul esi, edx
mov edx, ecx
and edx, 2
or ecx, 2
imul ecx, edx
add ecx, esi
add eax, 3
mov esi, eax
add esi, 0x2eac3878
sub esi, ecx
mov edx, esi
and edx, 0x8a9e3c3f
mov ecx, esi
and ecx, 0x7561c3c0
xor ecx, 0x7561c3c0
and esi, 0x7561c3c0
xor esi, 0x7561c3c0
or ecx, esi
and eax, 1
xor eax, 1
mov esi, ecx
sub esi, edx
sub ecx, edx
or esi, ecx
or esi, 1
sub eax, esi
mov byte [esp + 0x48], al
mov esi, dword [esp + 0x45]
xor ebp, ebp
mov ecx, 2
cmp ebp, dword [0x443550]
jb 0x41f2ac
jmp 0x41f37d
mov dword [esp + 0xa4], ebx
mov edx, dword [0x443554]
cmp dword [edx + ebp*8], 0x7be1e2d2
sete bl
xor ecx, ecx
test bl, 1
jne 0x41f2cf
jmp 0x41f360
mov edx, dword [edx + ebp*8 + 4]
mov ecx, 2
cmp edx, esi
je 0x41f360
mov eax, dword [0x443558]
xor ecx, ecx
lea ecx, [esp + 0xc4]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x2c
mov eax, dword [esp + 0xbc]
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 + 0xc0]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], 0
lea eax, [esp + 0xa8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 0
call fcn.004360a0
mov ecx, 1
test bl, 1
je 0x41f36e
mov ebx, dword [esp + 0xa4]
jmp 0x41f37d
add ebp, 1
mov ebx, dword [esp + 0xa4]
jmp 0x41f29a
cmp ecx, 2
je 0x41f384
mov esi, eax
mov al, byte [esp + 0x68]
mov byte [esp + 0x90], al
mov byte [esp + 0x39], 6
mov byte [esp + 0x3a], 4
mov byte [esp + 0x3b], 5
mov byte [esp + 0x3c], 0x86
movzx eax, byte [esp + 0x39]
xor eax, 0xf0a4cddb
mov ecx, eax
xor ecx, 0x58
mov edx, eax
or edx, 0x27
and edx, ecx
xor eax, 0x27
shl edx, 1
add eax, edx
add al, 1
mov byte [esp + 0x39], al
movzx eax, byte [esp + 0x3a]
xor eax, 0xf0a4cddc
mov ecx, eax
xor ecx, 0x58
mov edx, eax
or edx, 0x27
and edx, ecx
xor eax, 0x27
shl edx, 1
add eax, edx
add al, 1
mov byte [esp + 0x3a], al
movzx eax, byte [esp + 0x3b]
xor eax, 0xf0a4cddd
mov ecx, eax
xor ecx, 0x58
mov edx, eax
or edx, 0x27
and edx, ecx
xor eax, 0x27
shl edx, 1
add eax, edx
add al, 1
mov byte [esp + 0x3b], al
movzx eax, byte [esp + 0x3c]
xor eax, 0xf0a4cdde
mov ecx, eax
xor ecx, 0x58
mov edx, eax
or edx, 0x27
and edx, ecx
xor eax, 0x27
shl edx, 1
add eax, edx
add al, 1
mov byte [esp + 0x3c], al
cmp esi, dword [esp + 0x39]
sete al
test al, 1
jne 0x41f43c
jmp 0x41f468
xor eax, eax
mov edx, edi
jmp 0x41f442
mov ecx, edx
mov esi, dword [ecx]
cmp esi, 0
je 0x41f459
shr esi, 2
shl esi, 2
mov edx, ecx
add edx, esi
mov eax, ecx
jmp 0x41f442
cmp eax, 0
je 0x41f464
mov dword [eax], 0
xor esi, esi
jmp 0x41f468
cmp esi, 0
setge al
test al, 1
mov esi, dword [esp + 0x60]
jne 0x41f487
jmp 0x41f478
mov dword [esp], esi
call fcn.00434cc0
mov eax, 2
jmp 0x41f48b
xor eax, eax
jmp 0x41f48b
cmp eax, 0
je 0x41f49a
mov dword [esp + 0x58], edi
mov edi, dword [esp + 0x5c]
jmp 0x41f4bd
mov eax, dword [edi]
cmp eax, 0
setne cl
test cl, 1
jne 0x41f4a9
jmp 0x41f4b3
mov ecx, edi
add ecx, eax
mov dword [esp + 0x58], ecx
jmp 0x41f4b9
mov dword [esp + 0x58], esi
jmp 0x41f4b9
xor eax, eax
jmp 0x41f4bd
test eax, eax
je 0x41ee07
jmp 0x41f4c7
jmp 0x41f4c9
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call fcn.00434cc0
mov eax, dword [esp + 0x78]
mov dword [esp + 0xb8], eax
mov al, byte [esp + 0x94]
mov byte [esp + 0x98], al
mov byte [esp + 0x4d], 0xc7
mov byte [esp + 0x4e], 0xc6
mov byte [esp + 0x4f], 0xc5
mov byte [esp + 0x50], 0xc4
movzx eax, byte [esp + 0x4d]
mov ecx, eax
and ecx, 0x78
shl ecx, 1
mov edi, eax
add edi, 0x2eac3878
sub edi, ecx
mov edx, edi
and edx, 0x8a9e3c3f
mov ecx, edi
and ecx, 0x7561c3c0
xor ecx, 0x7561c3c0
and edi, 0x7561c3c0
xor edi, 0x7561c3c0
or ecx, edi
and eax, 1
xor eax, 1
mov edi, ecx
sub edi, edx
sub ecx, edx
or edi, ecx
or edi, 1
sub eax, edi
mov byte [esp + 0x4d], al
movzx eax, byte [esp + 0x4e]
mov ecx, eax
and ecx, 0x79
shl ecx, 1
add eax, 1
mov edi, eax
add edi, 0x2eac3878
sub edi, ecx
mov edx, edi
and edx, 0x8a9e3c3f
mov ecx, edi
and ecx, 0x7561c3c0
xor ecx, 0x7561c3c0
and edi, 0x7561c3c0
xor edi, 0x7561c3c0
or ecx, edi
and eax, 1
xor eax, 1
mov edi, ecx
sub edi, edx
sub ecx, edx
or edi, ecx
or edi, 1
sub eax, edi
mov byte [esp + 0x4e], al
movzx eax, byte [esp + 0x4f]
mov ecx, eax
and ecx, 0x7a
mov edx, ecx
and edx, 0xfd
mov edi, ecx
and edi, 2
xor edi, 2
imul edi, edx
mov edx, ecx
and edx, 2
or ecx, 2
imul ecx, edx
add ecx, edi
add eax, 2
mov edi, eax
add edi, 0x2eac3878
sub edi, ecx
mov edx, edi
and edx, 0x8a9e3c3f
mov ecx, edi
and ecx, 0x7561c3c0
xor ecx, 0x7561c3c0
and edi, 0x7561c3c0
xor edi, 0x7561c3c0
or ecx, edi
and eax, 1
xor eax, 1
mov edi, ecx
sub edi, edx
sub ecx, edx
or edi, ecx
or edi, 1
sub eax, edi
mov byte [esp + 0x4f], al
movzx eax, byte [esp + 0x50]
mov ecx, eax
and ecx, 0x7b
mov edx, ecx
and edx, 0xfd
mov edi, ecx
and edi, 2
xor edi, 2
imul edi, edx
mov edx, ecx
and edx, 2
or ecx, 2
imul ecx, edx
add ecx, edi
add eax, 3
mov edi, eax
add edi, 0x2eac3878
sub edi, ecx
mov edx, edi
and edx, 0x8a9e3c3f
mov ecx, edi
and ecx, 0x7561c3c0
xor ecx, 0x7561c3c0
and edi, 0x7561c3c0
xor edi, 0x7561c3c0
or ecx, edi
and eax, 1
xor eax, 1
mov edi, ecx
sub edi, edx
sub ecx, edx
or edi, ecx
or edi, 1
sub eax, edi
mov byte [esp + 0x50], al
mov edi, dword [esp + 0x4d]
xor ebp, ebp
cmp ebp, dword [0x443550]
jb 0x41f69b
jmp 0x41f6f0
mov esi, ebx
mov eax, dword [0x443554]
cmp dword [eax + ebp*8], 0xb430e561
sete bl
test bl, 1
jne 0x41f6b3
jmp 0x41f6e0
mov eax, dword [eax + ebp*8 + 4]
cmp eax, edi
je 0x41f6e0
mov ecx, dword [0x443558]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0xb8]
mov dword [esp + 0xc], eax
call fcn.004360a0
test bl, 1
je 0x41f6e9
mov ebx, esi
jmp 0x41f6f0
add ebp, 1
mov ebx, esi
jmp 0x41f691
and bl, 1
movzx eax, bl
add esp, 0xcc
pop esi
pop edi
pop ebx
pop ebp
ret