Function at 0x41dc50
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 + 0x74]
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.0043d410
xor edx, edx
cmp eax, 0
jl 0x41e565
mov dword [esp], esi
call fcn.004136a0
mov ecx, eax
and ecx, 0xfffffffd
mov edx, eax
or edx, 0xfffffffd
xor edx, 0xffffffff
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
mov ecx, eax
and ecx, 2
shl ecx, 1
xor eax, 2
add eax, ecx
mov word [esp + 0xca], ax
mov dword [esp + 0xcc], esi
mov dword [esp], 0x848
call fcn.00436bc0
mov dword [esp + 0x50], eax
mov esi, dword [esp + 0x74]
mov al, byte [esp + 0x84]
mov byte [esp + 0xb0], al
mov byte [esp + 0x88], 0x45
mov byte [esp + 0x89], 0x5a
mov byte [esp + 0x8a], 0x5b
mov byte [esp + 0x8b], 0x58
mov eax, 4
mov byte [esp + eax + 0x88], 0
add eax, 1
cmp eax, 7
jne 0x41dd2d
xor eax, eax
cmp eax, 7
jae 0x41dd94
movzx edx, byte [esp + eax + 0x88]
mov edi, eax
shl edi, 1
and edi, 0xbeddd9de
mov ecx, eax
xor ecx, 0x5f6eecef
add ecx, edi
mov edi, ecx
and edi, edx
shl edi, 1
mov ebx, ecx
add ebx, edx
xor ebx, 0xffffffff
add edi, ebx
mov ebx, ecx
and ebx, edi
shl ebx, 1
sub ecx, ebx
add ecx, edx
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, 0x54
add ecx, edx
mov byte [esp + eax + 0x88], cl
add eax, 1
jmp 0x41dd3f
mov edi, dword [esp + 0x88]
xor ebp, ebp
cmp ebp, dword [0x44a4ac]
jb 0x41ddaf
mov ecx, 2
jmp 0x41de67
mov edx, dword [0x44a4b0]
cmp dword [edx + ebp*8], 0x557d0c65
sete bl
xor ecx, ecx
mov byte [esp + 0x3b], bl
test bl, 1
jne 0x41ddcf
jmp 0x41de56
mov edx, dword [edx + ebp*8 + 4]
mov ecx, 2
cmp edx, edi
je 0x41de56
mov eax, dword [0x44a4b4]
xor ecx, ecx
lea ecx, [esp + 0xe0]
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 + 0x50]
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.00439880
mov ecx, 1
test byte [esp + 0x3b], 1
jne 0x41de65
add ebp, 1
jmp 0x41dd9d
jmp 0x41de67
cmp ecx, 2
je 0x41de6e
mov edi, eax
xor edx, edx
cmp edi, 0
jl 0x41e436
mov dword [esp + 0x48], 0
xor edx, edx
xor esi, esi
mov eax, dword [esp + 0x50]
mov dword [esp + 0x4c], eax
jmp 0x41de8f
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x3c]
shr ecx, 1
mov dword [esp + 0xc4], ecx
mov edi, eax
add edi, 0x38
mov eax, dword [eax + 0x38]
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x400
add eax, ecx
cmp eax, 0
jne 0x41e0db
mov dword [esp + 0x3c], edx
mov al, byte [esp + 0x70]
mov byte [esp + 0x90], al
mov byte [esp + 0x40], 0x26
mov byte [esp + 0x41], 0xf1
mov byte [esp + 0x42], 0xf2
mov byte [esp + 0x43], 0xf3
xor eax, eax
cmp eax, 4
jae 0x41df3d
movzx edx, byte [esp + eax + 0x40]
mov ecx, eax
add ecx, 0x450b372c
xor ecx, edx
mov edx, ecx
and edx, 0x21
mov dword [esp + 0xdc], edi
mov edi, esi
mov ebx, ecx
and ebx, 2
xor ebx, 2
mov ebp, ecx
and ebp, 0x21
imul ebp, ebx
mov ebx, ecx
and ebx, 2
or edx, 2
imul edx, ebx
mov esi, edi
mov edi, dword [esp + 0xdc]
add edx, ebp
xor ecx, 0x23
add ecx, edx
add cl, 1
mov byte [esp + eax + 0x40], cl
add eax, 1
jmp 0x41dee4
mov ebp, dword [esp + 0x4c]
add ebp, 0x44
lea eax, [esp + 0x40]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 8], eax
call fcn.0041e580
cmp eax, 0
mov edx, dword [esp + 0x3c]
je 0x41e0db
mov al, byte [esp + 0x6c]
mov byte [esp + 0x94], al
mov byte [esp + 0xb8], 0x72
mov byte [esp + 0xb9], 0x87
mov byte [esp + 0xba], 0x70
mov byte [esp + 0xbb], 0x81
mov byte [esp + 0xbc], 0x80
mov byte [esp + 0xbd], 0x83
mov eax, 6
mov byte [esp + eax + 0xb8], 0
add eax, 1
cmp eax, 0xc
jne 0x41dfac
mov dword [esp + 0x44], esi
xor eax, eax
cmp eax, 0xc
jae 0x41dff7
movzx edx, byte [esp + eax + 0xb8]
mov ecx, eax
add ecx, 0x61
or ecx, edx
mov ebx, eax
add ebx, 0x62
mov esi, 0x9e
sub esi, eax
or esi, edx
add esi, ebx
sub ecx, esi
add cl, 0x1b
mov byte [esp + eax + 0xb8], cl
add eax, 1
jmp 0x41dfc2
lea eax, [esp + 0xb8]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov ebx, dword [esp + 0xc4]
mov dword [esp + 8], ebx
call fcn.0041e580
cmp eax, 0
mov esi, dword [esp + 0x44]
jne 0x41e027
mov edx, dword [esp + 0x3c]
jmp 0x41e0dd
mov eax, ebx
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x41e042
mov ecx, eax
mov dword [esp], ecx
call fcn.004086b0
mov esi, eax
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.00413300
mov word [eax], 0
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x28]
mov edx, dword [edi]
mov edi, esi
mov ecx, edx
add ecx, 1
xor edx, 0xffffffff
or edx, 0x10
add edx, ecx
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 + 0x3c]
and cl, 1
movzx ecx, cl
mov edx, ecx
or edx, eax
xor edx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
or eax, edx
xor eax, 0xffffffff
cmp eax, 0
setne al
and al, 1
mov esi, eax
mov dword [esp], edi
call fcn.004086c0
mov edx, esi
mov esi, dword [esp + 0x44]
jmp 0x41e0dd
jmp 0x41e0dd
cmp esi, 0
je 0x41e0e8
mov edi, dword [esp + 0x48]
jmp 0x41e113
mov esi, edx
mov dword [esp], 0x10900
call fcn.00436bc0
mov edi, eax
cmp edi, 0
jne 0x41e10b
mov eax, 2
mov edx, esi
xor esi, esi
jmp 0x41e42a
mov eax, edi
mov edx, esi
mov esi, eax
jmp 0x41e113
cmp edi, esi
jne 0x41e40b
mov al, byte [esp + 0x60]
mov byte [esp + 0x98], al
mov byte [esp + 0x64], 0x38
mov byte [esp + 0x65], 0x20
mov byte [esp + 0x66], 0x37
mov byte [esp + 0x67], 0x37
mov eax, 4
mov byte [esp + eax + 0x64], 0
add eax, 1
cmp eax, 7
jne 0x41e13f
mov dword [esp + 0x44], esi
mov dword [esp + 0x3c], edx
xor eax, eax
cmp eax, 7
jae 0x41e1a6
mov cl, byte [esp + eax + 0x64]
mov esi, eax
add esi, 1
mov edx, eax
xor edx, 0xffffffff
or edx, 0x561bf676
add edx, esi
mov esi, edx
and esi, 0xfd
mov ebx, edx
and ebx, 2
xor ebx, 2
imul ebx, esi
mov esi, edx
and esi, 2
or edx, 2
imul edx, esi
add edx, ebx
mov ebx, eax
xor ebx, 0x76
add ebx, edx
xor bl, cl
add bl, 0xb2
mov byte [esp + eax + 0x64], bl
add eax, 1
jmp 0x41e156
mov eax, dword [esp + 0x64]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0xd4], eax
mov al, byte [esp + 0x78]
mov byte [esp + 0xb4], al
mov byte [esp + 0x7c], 0x45
mov byte [esp + 0x7d], 0x5a
mov byte [esp + 0x7e], 0x5b
mov byte [esp + 0x7f], 0x58
mov eax, 4
mov byte [esp + eax + 0x7c], 0
add eax, 1
cmp eax, 7
jne 0x41e1e0
xor eax, eax
cmp eax, 7
jae 0x41e23e
movzx edx, byte [esp + eax + 0x7c]
mov esi, eax
shl esi, 1
and esi, 0xbeddd9de
mov ecx, eax
xor ecx, 0x5f6eecef
add ecx, esi
mov esi, ecx
and esi, edx
shl esi, 1
mov ebx, ecx
add ebx, edx
xor ebx, 0xffffffff
add esi, ebx
mov ebx, ecx
and ebx, esi
shl ebx, 1
sub ecx, ebx
add ecx, edx
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, 0x54
add ecx, edx
mov byte [esp + eax + 0x7c], cl
add eax, 1
jmp 0x41e1ef
mov esi, dword [esp + 0x7c]
xor ebp, ebp
cmp ebp, dword [0x44a4ac]
jb 0x41e256
mov ecx, 2
jmp 0x41e312
mov edx, dword [0x44a4b0]
cmp dword [edx + ebp*8], 0x557d0c65
sete bl
xor ecx, ecx
test bl, 1
jne 0x41e272
jmp 0x41e303
mov edx, dword [edx + ebp*8 + 4]
mov ecx, 2
cmp edx, esi
je 0x41e303
mov eax, dword [0x44a4b4]
xor ecx, ecx
lea ecx, [esp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x2c
mov eax, dword [esp + 0xd4]
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 + 0xd8]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], 0
lea eax, [esp + 0xc8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 0
call fcn.00439880
mov ecx, 1
test bl, 1
jne 0x41e310
add ebp, 1
jmp 0x41e244
jmp 0x41e312
cmp ecx, 2
je 0x41e319
mov esi, eax
mov al, byte [esp + 0x54]
mov byte [esp + 0x9c], al
mov byte [esp + 0x58], 0x77
mov byte [esp + 0x59], 0x7b
mov byte [esp + 0x5a], 0x7a
mov byte [esp + 0x5b], 0xf9
mov eax, 4
mov byte [esp + eax + 0x58], 0
add eax, 1
cmp eax, 6
jne 0x41e33d
xor eax, eax
cmp eax, 6
jae 0x41e397
movzx edx, byte [esp + eax + 0x58]
mov ecx, eax
add ecx, 0x3ddc196b
mov ebx, eax
shl ebx, 1
add ebx, 0xd7
mov ebp, ecx
sub ebp, ebx
and ebp, edx
xor edx, 0xffffffff
and ecx, edx
or ebp, ecx
xor ecx, ecx
sub ecx, ebp
mov edx, ecx
shl edx, 1
and edx, 0x30
xor ecx, 0xe7
add ecx, 1
sub ecx, edx
add cl, 1
mov byte [esp + eax + 0x58], cl
add eax, 1
jmp 0x41e34c
cmp esi, dword [esp + 0x58]
sete al
test al, 1
jne 0x41e3a4
jmp 0x41e3d8
xor eax, eax
mov edx, edi
jmp 0x41e3aa
mov ecx, edx
mov esi, dword [ecx]
cmp esi, 0
je 0x41e3c1
shr esi, 2
shl esi, 2
mov edx, ecx
add edx, esi
mov eax, ecx
jmp 0x41e3aa
cmp eax, 0
setne cl
test cl, 1
jne 0x41e3ce
jmp 0x41e3d4
mov dword [eax], 0
xor esi, esi
jmp 0x41e3d8
cmp esi, 0
jge 0x41e3f4
mov esi, dword [esp + 0x44]
mov dword [esp], esi
call fcn.00436c60
mov eax, 2
mov edx, dword [esp + 0x3c]
jmp 0x41e400
xor eax, eax
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x44]
jmp 0x41e400
cmp eax, 0
je 0x41e40b
mov dword [esp + 0x48], edi
jmp 0x41e42a
mov eax, dword [edi]
cmp eax, 0
je 0x41e41c
mov ecx, edi
add ecx, eax
mov dword [esp + 0x48], ecx
jmp 0x41e422
mov dword [esp + 0x48], esi
jmp 0x41e422
xor eax, eax
mov dword [esp + 0x4c], edi
jmp 0x41e42a
test eax, eax
je 0x41de8f
jmp 0x41e434
jmp 0x41e436
mov esi, edx
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.00436c60
mov eax, dword [esp + 0x74]
mov dword [esp + 0xd0], eax
mov al, byte [esp + 0xa0]
mov byte [esp + 0xac], al
mov byte [esp + 0xa4], 0x45
mov byte [esp + 0xa5], 0x5a
mov byte [esp + 0xa6], 0x5b
mov byte [esp + 0xa7], 0x58
mov eax, 4
mov byte [esp + eax + 0xa4], 0
add eax, 1
cmp eax, 7
jne 0x41e482
xor eax, eax
cmp eax, 7
jae 0x41e4e9
movzx edx, byte [esp + eax + 0xa4]
mov edi, eax
shl edi, 1
and edi, 0xbeddd9de
mov ecx, eax
xor ecx, 0x5f6eecef
add ecx, edi
mov edi, ecx
and edi, edx
shl edi, 1
mov ebx, ecx
add ebx, edx
xor ebx, 0xffffffff
add edi, ebx
mov ebx, ecx
and ebx, edi
shl ebx, 1
sub ecx, ebx
add ecx, edx
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, 0x54
add ecx, edx
mov byte [esp + eax + 0xa4], cl
add eax, 1
jmp 0x41e494
mov edi, dword [esp + 0xa4]
xor ebp, ebp
mov edx, esi
mov eax, 2
cmp ebp, dword [0x44a4ac]
jb 0x41e503
jmp 0x41e560
mov ecx, dword [0x44a4b0]
cmp dword [ecx + ebp*8], 0xb62b8d10
sete bl
xor eax, eax
test bl, 1
jne 0x41e51c
jmp 0x41e554
mov ecx, dword [ecx + ebp*8 + 4]
mov eax, 2
cmp ecx, edi
je 0x41e554
mov eax, dword [0x44a4b4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 4
mov eax, dword [esp + 0xd0]
mov dword [esp + 0xc], eax
call fcn.00439880
mov edx, esi
mov eax, 1
test bl, 1
je 0x41e55b
jmp 0x41e560
add ebp, 1
jmp 0x41e4f4
cmp eax, 2
jne 0x41e565
and dl, 1
movzx eax, dl
add esp, 0xe8
pop esi
pop edi
pop ebx
pop ebp
ret