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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xec
mov esi, dword [esp + 0x104]
mov eax, dword [esp + 0x100]
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.0043ce20
xor ebx, ebx
cmp eax, 0
jl 0x41e290
mov dword [esp], esi
call fcn.00412c10
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 + 0xc8], ax
movzx eax, ax
add eax, 2
lea ecx, [esp + 0xc8]
add ecx, 2
mov word [ecx], ax
mov dword [esp + 0xcc], esi
mov dword [esp], 0x848
call fcn.00436070
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, 8
jne 0x41da39
xor eax, eax
cmp eax, 8
jae 0x41da8f
movzx edx, byte [esp + eax + 0x8c]
mov edi, 0x17
sub edi, eax
or edi, edx
mov ecx, 0x17
sub ecx, eax
and ecx, edx
xor edi, 0xffffffff
or ecx, edi
add cl, 0x78
mov byte [esp + eax + 0x8c], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
mov edx, eax
and edx, ecx
shl edx, 1
xor eax, ecx
xor eax, 1
add eax, edx
jmp 0x41da4b
mov edi, dword [esp + 0x8c]
xor ebp, ebp
mov ecx, 2
cmp ebp, dword [0x44a890]
jb 0x41daaa
jmp 0x41db62
mov edx, dword [0x44a894]
cmp dword [edx + ebp*8], 0x557d0c65
sete bl
xor ecx, ecx
mov byte [esp + 0x3b], bl
test bl, 1
jne 0x41daca
jmp 0x41db51
mov edx, dword [edx + ebp*8 + 4]
mov ecx, 2
cmp edx, edi
je 0x41db51
mov eax, dword [0x44a898]
xor ecx, ecx
lea ecx, [esp + 0xe4]
lea ebx, [esp + 0xc8]
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.00439540
mov ecx, 1
test byte [esp + 0x3b], 1
je 0x41db5a
jmp 0x41db62
add ebp, 1
jmp 0x41da98
cmp ecx, 2
je 0x41db69
mov edi, eax
xor ebx, ebx
cmp edi, 0
jl 0x41e188
mov dword [esp + 0x44], 0
xor ebx, ebx
xor esi, esi
mov eax, dword [esp + 0x4c]
jmp 0x41db86
mov edi, dword [eax + 0x3c]
shr edi, 1
mov ecx, eax
add ecx, 0x38
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x48], eax
mov eax, dword [eax + 0x38]
mov ecx, eax
xor ecx, 0xfffffbff
and ecx, eax
cmp ecx, 0
jne 0x41ddee
mov al, byte [esp + 0x6c]
mov byte [esp + 0x94], al
mov byte [esp + 0x70], 0x3a
mov byte [esp + 0x71], 0x49
mov byte [esp + 0x72], 0x56
mov byte [esp + 0x73], 0x57
mov eax, 4
mov byte [esp + eax + 0x70], 0
add eax, 1
cmp eax, 8
jne 0x41dbd5
mov dword [esp + 0x3c], ebx
xor eax, eax
cmp eax, 8
jae 0x41dc13
movzx edx, byte [esp + eax + 0x70]
mov ecx, eax
add ecx, 0x6e
mov ebx, 0x91
sub ebx, eax
and ebx, edx
xor edx, 0xffffffff
and ecx, edx
or ecx, ebx
add cl, 0xda
mov byte [esp + eax + 0x70], cl
add eax, 1
jmp 0x41dbe8
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.0041e2b0
mov ebx, dword [esp + 0x3c]
cmp eax, 0
setne al
test al, 1
jne 0x41dc41
jmp 0x41ddee
mov dword [esp + 0x40], esi
mov al, byte [esp + 0x68]
mov byte [esp + 0x98], al
mov byte [esp + 0xbc], 0x76
mov byte [esp + 0xbd], 0x5b
mov byte [esp + 0xbe], 0x68
mov byte [esp + 0xbf], 0x59
mov byte [esp + 0xc0], 0x58
mov byte [esp + 0xc1], 0x5f
mov eax, 6
mov byte [esp + eax + 0xbc], 0
add eax, 1
cmp eax, 0xa
jne 0x41dc85
xor esi, esi
cmp esi, 0xa
jae 0x41dd2c
movzx ebx, byte [esp + esi + 0xbc]
mov ecx, esi
add ecx, 0xf
mov edx, 0xf0
sub edx, esi
and edx, 0x96
and ecx, 0x69
or edx, ecx
xor edx, ebx
xor edx, 0x96
and edx, ebx
xor ebx, 0xffffffff
mov eax, esi
add eax, 0xc5baaf10
mov ecx, 0xf0
sub ecx, esi
or ecx, ebx
add ecx, eax
mov eax, edx
xor eax, 0xffffffff
mov ebx, ecx
and ebx, eax
mov eax, ecx
xor eax, edx
add ecx, eax
sub ecx, ebx
mov eax, ecx
xor eax, 0xdca56b4b
mov edx, ecx
or edx, 0x235a94b4
and edx, eax
or ecx, 0x235a94b4
add ecx, edx
add ecx, 0xd1c3f8d7
mov eax, ecx
shl eax, 1
and eax, 2
xor ecx, 1
add ecx, eax
add cl, 0x29
mov byte [esp + esi + 0xbc], cl
add esi, 1
jmp 0x41dc97
lea eax, [esp + 0xbc]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.0041e2b0
cmp eax, 0
mov ebx, dword [esp + 0x3c]
jne 0x41dd55
mov esi, dword [esp + 0x40]
jmp 0x41ddee
mov eax, edi
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
mov esi, dword [esp + 0x40]
jne 0x41dd74
mov ecx, eax
mov dword [esp], ecx
call fcn.00408210
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov edi, eax
call fcn.00412870
mov word [eax], 0
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0x28]
mov eax, dword [esp + 0xe0]
mov edx, dword [eax]
and edx, 0x10
xor eax, eax
cmp edx, 0
setne al
mov edx, dword [esp + 0x10c]
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 + 0x108]
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.00408220
jmp 0x41ddee
cmp esi, 0
je 0x41ddf9
mov edi, dword [esp + 0x44]
jmp 0x41de27
mov dword [esp], 0x10900
call fcn.00436070
mov edi, eax
cmp edi, 0
sete al
test al, 1
jne 0x41de13
jmp 0x41de23
xor esi, esi
mov eax, 2
mov edi, dword [esp + 0x48]
jmp 0x41e17a
mov esi, edi
jmp 0x41de27
cmp edi, esi
jne 0x41e159
mov al, byte [esp + 0x5c]
mov byte [esp + 0x9c], al
mov byte [esp + 0x60], 0x64
mov byte [esp + 0x61], 0x64
mov byte [esp + 0x62], 0x6d
mov byte [esp + 0x63], 0x69
mov eax, 4
mov byte [esp + eax + 0x60], 0
add eax, 1
cmp eax, 6
jne 0x41de53
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], ebx
xor eax, eax
cmp eax, 6
jae 0x41dec0
mov dl, byte [esp + eax + 0x60]
movzx ebx, dl
mov ecx, eax
add ecx, 0x5fe7d4e7
mov esi, 0xa0182b18
sub esi, eax
and esi, 0xb8775cf8
mov ebp, ecx
and ebp, 0x4788a307
or esi, ebp
xor esi, ebx
mov ebx, esi
xor ebx, 7
xor esi, 7
or ebx, esi
mov esi, ecx
and esi, ebx
shl esi, 1
sub ecx, esi
add cl, dl
add cl, 0x7d
mov byte [esp + eax + 0x60], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x41de6a
mov eax, dword [esp + 0x60]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xd8], eax
mov ebx, dword [esp + 0x3c]
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, 8
jne 0x41df0a
xor eax, eax
cmp eax, 8
jae 0x41df60
movzx edx, byte [esp + eax + 0x80]
mov esi, 0x17
sub esi, eax
or esi, edx
mov ecx, 0x17
sub ecx, eax
and ecx, edx
xor esi, 0xffffffff
or ecx, esi
add cl, 0x78
mov byte [esp + eax + 0x80], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
mov edx, eax
and edx, ecx
shl edx, 1
xor eax, ecx
xor eax, 1
add eax, edx
jmp 0x41df1c
mov esi, dword [esp + 0x80]
xor ebp, ebp
mov ecx, 2
cmp ebp, dword [0x44a890]
jb 0x41df7b
jmp 0x41e054
mov eax, edi
mov edi, esi
mov esi, dword [0x44a894]
cmp dword [esi + ebp*8], 0x557d0c65
sete dl
xor ecx, ecx
mov byte [esp + 0x3a], dl
test dl, 1
jne 0x41dfa3
mov esi, edi
mov edi, eax
jmp 0x41e043
mov edx, dword [esi + ebp*8 + 4]
mov ecx, 2
mov esi, edi
cmp edx, esi
mov edi, eax
je 0x41e043
mov eax, dword [0x44a898]
xor ecx, ecx
lea ecx, [esp + 0xe4]
lea ebx, [esp + 0xc8]
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.00439540
mov dword [esp + 0xd0], eax
mov ecx, 1
test byte [esp + 0x3a], 1
je 0x41e04c
jmp 0x41e054
add ebp, 1
jmp 0x41df69
cmp ecx, 2
je 0x41e060
mov esi, dword [esp + 0xd0]
mov al, byte [esp + 0x50]
mov byte [esp + 0xa0], al
mov byte [esp + 0x54], 0x8d
mov byte [esp + 0x55], 0x91
mov byte [esp + 0x56], 0x92
mov byte [esp + 0x57], 0x13
mov eax, 4
mov byte [esp + eax + 0x54], 0
add eax, 1
cmp eax, 8
jne 0x41e084
xor eax, eax
cmp eax, 8
jae 0x41e0e9
movzx ecx, byte [esp + eax + 0x54]
mov edx, eax
shl edx, 1
and edx, 0x938275b8
mov ebx, eax
xor ebx, 0x49c13adc
add ebx, edx
xor ebx, ecx
mov ebp, ebx
add ebp, 0x8f39d9b3
mov ecx, ebp
shl ecx, 1
and ecx, 2
mov edx, 0x4c
sub edx, ebx
mov ebx, dword [esp + 0x3c]
and edx, 0xb4
and ebp, 0x4b
or edx, ebp
xor edx, 0xb5
add edx, ecx
mov byte [esp + eax + 0x54], dl
add eax, 1
jmp 0x41e093
cmp esi, dword [esp + 0x54]
sete al
test al, 1
jne 0x41e0f6
jmp 0x41e12a
xor eax, eax
mov edx, edi
jmp 0x41e0fc
mov ecx, edx
mov esi, dword [ecx]
cmp esi, 0
je 0x41e113
shr esi, 2
shl esi, 2
mov edx, ecx
add edx, esi
mov eax, ecx
jmp 0x41e0fc
cmp eax, 0
setne cl
test cl, 1
jne 0x41e120
jmp 0x41e126
mov dword [eax], 0
xor esi, esi
jmp 0x41e12a
cmp esi, 0
jge 0x41e142
mov esi, dword [esp + 0x40]
mov dword [esp], esi
call fcn.00436100
mov eax, 2
jmp 0x41e14a
mov esi, dword [esp + 0x40]
xor eax, eax
jmp 0x41e14a
cmp eax, 0
je 0x41e159
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x48]
jmp 0x41e17a
mov eax, dword [edi]
cmp eax, 0
setne cl
test cl, 1
jne 0x41e168
jmp 0x41e172
mov ecx, edi
add ecx, eax
mov dword [esp + 0x44], ecx
jmp 0x41e178
mov dword [esp + 0x44], esi
jmp 0x41e178
xor eax, eax
test eax, eax
mov eax, edi
je 0x41db86
jmp 0x41e186
jmp 0x41e188
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.00436100
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, 8
jne 0x41e1d2
xor eax, eax
cmp eax, 8
jae 0x41e228
movzx edx, byte [esp + eax + 0xa8]
mov edi, 0x17
sub edi, eax
or edi, edx
mov ecx, 0x17
sub ecx, eax
and ecx, edx
xor edi, 0xffffffff
or ecx, edi
add cl, 0x78
mov byte [esp + eax + 0xa8], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
mov edx, eax
and edx, ecx
shl edx, 1
xor eax, ecx
xor eax, 1
add eax, edx
jmp 0x41e1e4
mov edi, dword [esp + 0xa8]
xor ebp, ebp
cmp ebp, dword [0x44a890]
jb 0x41e23b
jmp 0x41e290
mov esi, ebx
mov eax, dword [0x44a894]
cmp dword [eax + ebp*8], 0xb62b8d10
sete bl
test bl, 1
jne 0x41e253
jmp 0x41e280
mov eax, dword [eax + ebp*8 + 4]
cmp eax, edi
je 0x41e280
mov ecx, dword [0x44a898]
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.00439540
test bl, 1
je 0x41e289
mov ebx, esi
jmp 0x41e290
add ebp, 1
mov ebx, esi
jmp 0x41e231
and bl, 1
movzx eax, bl
add esp, 0xec
pop esi
pop edi
pop ebx
pop ebp
ret