Function at 0x41c790
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.0043cb50
xor ecx, ecx
cmp eax, 0
jl 0x41d101
mov dword [esp], esi
call fcn.004132f0
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 + 0xcc], ax
movzx eax, ax
add eax, 0xe8599732
add eax, 2
sub eax, 0xe8599732
mov word [esp + 0xce], ax
mov dword [esp + 0xd0], esi
mov dword [esp], 0x848
call fcn.00435fa0
mov dword [esp + 0x4c], eax
mov esi, dword [esp + 0x78]
mov al, byte [esp + 0x88]
mov byte [esp + 0xb4], al
mov byte [esp + 0x8c], 0x65
mov byte [esp + 0x8d], 0x66
mov byte [esp + 0x8e], 0x67
mov byte [esp + 0x8f], 0x60
mov eax, 4
mov byte [esp + eax + 0x8c], 0
add eax, 1
cmp eax, 6
jne 0x41c86e
xor eax, eax
cmp eax, 6
jae 0x41c910
movzx ecx, byte [esp + eax + 0x8c]
mov edx, eax
xor edx, 0xf49c9c4b
mov edi, eax
shl edi, 1
and edi, 0x16c6c768
sub edi, edx
mov edx, edi
add edx, 0xfd6f0064
mov ebp, ecx
shl ebp, 1
xor ebp, 0xffffffff
add ebp, ecx
and ebp, 0xc7
mov ebx, ecx
and ebx, 0xc7
xor ebx, 0xb7053cc7
or ebp, ebx
and ecx, 0x38
mov ebx, 0x290ff9b
sub ebx, edi
and ebx, 0x35011cc6
or ecx, ebp
and edx, 0xcafee339
or ebx, edx
xor ebx, ecx
mov ecx, ebx
xor ecx, 1
mov edx, ebx
xor edx, 0x7c
and edx, ecx
shl edx, 1
xor ebx, 0x83
add ebx, edx
add bl, 1
mov byte [esp + eax + 0x8c], bl
add eax, 1
jmp 0x41c880
mov edi, dword [esp + 0x8c]
xor ebp, ebp
mov ecx, 2
cmp ebp, dword [0x44a8e4]
jb 0x41c92b
jmp 0x41c9e3
mov edx, dword [0x44a8e8]
cmp dword [edx + ebp*8], 0x557d0c65
sete bl
xor ecx, ecx
mov byte [esp + 0x3b], bl
test bl, 1
jne 0x41c94b
jmp 0x41c9d2
mov edx, dword [edx + ebp*8 + 4]
mov ecx, 2
cmp edx, edi
je 0x41c9d2
mov eax, dword [0x44a8ec]
xor ecx, ecx
lea ecx, [esp + 0xe4]
lea ebx, [esp + 0xcc]
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 + 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.004390d0
mov ecx, 1
test byte [esp + 0x3b], 1
je 0x41c9db
jmp 0x41c9e3
add ebp, 1
jmp 0x41c919
cmp ecx, 2
je 0x41c9ea
mov edi, eax
xor ebx, ebx
cmp edi, 0
jl 0x41cfa7
mov dword [esp + 0x44], 0
xor ebx, ebx
xor esi, esi
mov eax, dword [esp + 0x4c]
jmp 0x41ca07
mov dword [esp + 0x3c], esi
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 0x41cbfa
mov al, byte [esp + 0x6c]
mov byte [esp + 0x94], al
mov byte [esp + 0x70], 0x72
mov byte [esp + 0x71], 0x87
mov byte [esp + 0x72], 0x86
mov byte [esp + 0x73], 0x81
mov eax, 4
mov byte [esp + eax + 0x70], 0
add eax, 1
cmp eax, 5
jne 0x41ca4e
mov dword [esp + 0x40], ebx
xor eax, eax
cmp eax, 5
jae 0x41ca8a
mov dl, byte [esp + eax + 0x70]
mov ebx, eax
and ebx, 0xe1
mov ecx, eax
or ecx, 0x1e
add ebx, eax
sub ecx, ebx
xor cl, dl
mov dl, 0x9a
sub dl, cl
mov byte [esp + eax + 0x70], dl
add eax, 1
jmp 0x41ca61
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.0041d120
cmp eax, 0
mov ebx, dword [esp + 0x40]
je 0x41cbfa
mov al, byte [esp + 0x68]
mov byte [esp + 0x98], al
mov byte [esp + 0xbc], 0x36
mov byte [esp + 0xbd], 0xdb
mov byte [esp + 0xbe], 0x28
mov byte [esp + 0xbf], 0xd9
mov byte [esp + 0xc0], 0xd8
mov byte [esp + 0xc1], 0xdf
mov eax, 6
mov byte [esp + eax + 0xbc], 0
add eax, 1
cmp eax, 0xa
jne 0x41caf2
xor eax, eax
cmp eax, 0xa
jae 0x41cb26
mov cl, byte [esp + eax + 0xbc]
mov dl, al
add dl, 0x2f
xor dl, cl
add dl, 0x15
mov byte [esp + eax + 0xbc], dl
add eax, 1
jmp 0x41cb04
lea eax, [esp + 0xbc]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.0041d120
cmp eax, 0
setne al
jmp 0x41cb45
test al, 1
jne 0x41cb52
mov esi, dword [esp + 0x3c]
jmp 0x41cbfe
xor ecx, ecx
sub ecx, edi
add ecx, 0xffffffff
xor eax, eax
sub eax, ecx
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x41cb73
mov ecx, eax
mov dword [esp], ecx
call fcn.00408350
mov dword [esp + 0xd4], eax
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
call fcn.00412f50
mov word [eax], 0
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0x28]
mov edx, dword [esi]
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 edi, dword [esp + 0xd4]
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 esi, dword [esp + 0x3c]
mov eax, edi
jmp 0x41cbf0
mov dword [esp], eax
call fcn.00408360
jmp 0x41cbfe
mov esi, dword [esp + 0x3c]
cmp esi, 0
je 0x41cc09
mov edi, dword [esp + 0x44]
jmp 0x41cc30
mov dword [esp], 0x10900
call fcn.00435fa0
mov edi, eax
cmp edi, 0
jne 0x41cc2c
xor esi, esi
mov eax, 2
mov edi, dword [esp + 0x48]
jmp 0x41cf99
mov esi, edi
jmp 0x41cc30
cmp edi, esi
jne 0x41cf78
mov al, byte [esp + 0x5c]
mov byte [esp + 0x9c], al
mov byte [esp + 0x60], 0x90
mov byte [esp + 0x61], 0x88
mov byte [esp + 0x62], 0x93
mov byte [esp + 0x63], 0x93
mov eax, 4
mov byte [esp + eax + 0x60], 0
add eax, 1
cmp eax, 6
jne 0x41cc5c
mov dword [esp + 0x3c], esi
xor eax, eax
cmp eax, 6
jae 0x41cc97
movzx edx, byte [esp + eax + 0x60]
mov ecx, eax
add ecx, 0x5d65205c
mov esi, ecx
and esi, edx
shl esi, 1
add ecx, edx
sub ecx, esi
add cl, 0x34
mov byte [esp + eax + 0x60], cl
add eax, 1
jmp 0x41cc6f
mov eax, dword [esp + 0x60]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xdc], eax
mov al, byte [esp + 0x7c]
mov byte [esp + 0xb8], al
mov byte [esp + 0x80], 0x65
mov byte [esp + 0x81], 0x66
mov byte [esp + 0x82], 0x67
mov byte [esp + 0x83], 0x60
mov eax, 4
mov byte [esp + eax + 0x80], 0
add eax, 1
cmp eax, 6
jne 0x41ccdd
mov dword [esp + 0x40], ebx
xor eax, eax
cmp eax, 6
jae 0x41cd83
movzx ecx, byte [esp + eax + 0x80]
mov edx, eax
xor edx, 0xf49c9c4b
mov esi, eax
shl esi, 1
and esi, 0x16c6c768
sub esi, edx
mov edx, esi
add edx, 0xfd6f0064
mov ebp, ecx
shl ebp, 1
xor ebp, 0xffffffff
add ebp, ecx
and ebp, 0xc7
mov ebx, ecx
and ebx, 0xc7
xor ebx, 0xb7053cc7
or ebp, ebx
and ecx, 0x38
mov ebx, 0x290ff9b
sub ebx, esi
and ebx, 0x35011cc6
or ecx, ebp
and edx, 0xcafee339
or ebx, edx
xor ebx, ecx
mov ecx, ebx
xor ecx, 1
mov edx, ebx
xor edx, 0x7c
and edx, ecx
shl edx, 1
xor ebx, 0x83
add ebx, edx
add bl, 1
mov byte [esp + eax + 0x80], bl
add eax, 1
jmp 0x41ccf3
mov esi, dword [esp + 0x80]
xor ebp, ebp
mov ebx, dword [esp + 0x40]
mov ecx, 2
cmp ebp, dword [0x44a8e4]
jb 0x41cda2
jmp 0x41ce81
mov dword [esp + 0xc8], esi
mov esi, ebx
mov edx, dword [0x44a8e8]
cmp dword [edx + ebp*8], 0x557d0c65
sete bl
xor ecx, ecx
mov byte [esp + 0x3a], bl
test bl, 1
jne 0x41cdcd
mov ebx, esi
jmp 0x41ce69
mov edx, dword [edx + ebp*8 + 4]
mov ecx, 2
cmp edx, dword [esp + 0xc8]
mov ebx, esi
je 0x41ce69
mov eax, dword [0x44a8ec]
xor ecx, ecx
lea ecx, [esp + 0xe4]
lea ebx, [esp + 0xcc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0xb
mov eax, dword [esp + 0xdc]
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 + 0xe0]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x34], 0
call fcn.004390d0
mov ecx, 1
test byte [esp + 0x3a], 1
mov esi, dword [esp + 0xc8]
je 0x41ce79
jmp 0x41ce81
add ebp, 1
jmp 0x41cd90
cmp ecx, 2
je 0x41ce88
mov esi, eax
mov al, byte [esp + 0x50]
mov byte [esp + 0xa0], al
mov byte [esp + 0x54], 0xef
mov byte [esp + 0x55], 0xeb
mov byte [esp + 0x56], 0xea
mov byte [esp + 0x57], 0x69
mov eax, 4
mov byte [esp + eax + 0x54], 0
add eax, 1
cmp eax, 7
jne 0x41ceac
xor eax, eax
cmp eax, 7
jae 0x41cf10
movzx edx, byte [esp + eax + 0x54]
mov ebx, eax
shl ebx, 1
and ebx, 0xe34ba9ae
mov ecx, eax
xor ecx, 0x71a5d4d7
add ecx, ebx
mov ebx, edx
shl ebx, 1
xor ebx, 0xffffffff
add ebx, edx
and ebx, 0x2f479cf9
and edx, 6
or ebx, edx
mov edx, ecx
xor edx, 6
mov ebp, ebx
or ebp, edx
xor ecx, 6
and ecx, ebx
mov ebx, dword [esp + 0x40]
xor ebp, 0xffffffff
or ecx, ebp
add cl, 0xcd
mov byte [esp + eax + 0x54], cl
add eax, 1
jmp 0x41cebb
cmp esi, dword [esp + 0x54]
sete al
test al, 1
jne 0x41cf1d
jmp 0x41cf49
xor eax, eax
mov edx, edi
jmp 0x41cf23
mov ecx, edx
mov esi, dword [ecx]
cmp esi, 0
je 0x41cf3a
shr esi, 2
shl esi, 2
mov edx, ecx
add edx, esi
mov eax, ecx
jmp 0x41cf23
cmp eax, 0
je 0x41cf45
mov dword [eax], 0
xor esi, esi
jmp 0x41cf49
cmp esi, 0
jge 0x41cf61
mov esi, dword [esp + 0x3c]
mov dword [esp], esi
call fcn.00436020
mov eax, 2
jmp 0x41cf69
mov esi, dword [esp + 0x3c]
xor eax, eax
jmp 0x41cf69
cmp eax, 0
je 0x41cf78
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x48]
jmp 0x41cf99
mov eax, dword [edi]
cmp eax, 0
setne cl
test cl, 1
jne 0x41cf87
jmp 0x41cf91
mov ecx, edi
add ecx, eax
mov dword [esp + 0x44], ecx
jmp 0x41cf97
mov dword [esp + 0x44], esi
jmp 0x41cf97
xor eax, eax
test eax, eax
mov eax, edi
je 0x41ca07
jmp 0x41cfa5
jmp 0x41cfa7
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.00436020
mov eax, dword [esp + 0x78]
mov dword [esp + 0xd8], eax
mov al, byte [esp + 0xa4]
mov byte [esp + 0xb0], al
mov byte [esp + 0xa8], 0x65
mov byte [esp + 0xa9], 0x66
mov byte [esp + 0xaa], 0x67
mov byte [esp + 0xab], 0x60
mov eax, 4
mov byte [esp + eax + 0xa8], 0
add eax, 1
cmp eax, 6
jne 0x41cff1
mov esi, ebx
xor eax, eax
cmp eax, 6
jae 0x41d095
movzx ecx, byte [esp + eax + 0xa8]
mov edx, eax
xor edx, 0xf49c9c4b
mov edi, eax
shl edi, 1
and edi, 0x16c6c768
sub edi, edx
mov edx, edi
add edx, 0xfd6f0064
mov ebp, ecx
shl ebp, 1
xor ebp, 0xffffffff
add ebp, ecx
and ebp, 0xc7
mov ebx, ecx
and ebx, 0xc7
xor ebx, 0xb7053cc7
or ebp, ebx
and ecx, 0x38
mov ebx, 0x290ff9b
sub ebx, edi
and ebx, 0x35011cc6
or ecx, ebp
and edx, 0xcafee339
or ebx, edx
xor ebx, ecx
mov ecx, ebx
xor ecx, 1
mov edx, ebx
xor edx, 0x7c
and edx, ecx
shl edx, 1
xor ebx, 0x83
add ebx, edx
add bl, 1
mov byte [esp + eax + 0xa8], bl
add eax, 1
jmp 0x41d005
mov edi, dword [esp + 0xa8]
xor ebx, ebx
cmp ebx, dword [0x44a8e4]
jb 0x41d0a8
jmp 0x41d0ff
mov eax, dword [0x44a8e8]
cmp dword [eax + ebx*8], 0xb62b8d10
sete cl
test cl, 1
jne 0x41d0be
jmp 0x41d0f3
mov eax, dword [eax + ebx*8 + 4]
cmp eax, edi
je 0x41d0f3
mov byte [esp + 0x39], cl
mov ecx, dword [0x44a8ec]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xc], eax
call fcn.004390d0
mov cl, byte [esp + 0x39]
test cl, 1
je 0x41d0fa
jmp 0x41d0ff
add ebx, 1
jmp 0x41d09e
mov ecx, esi
and cl, 1
movzx eax, cl
add esp, 0xec
pop esi
pop edi
pop ebx
pop ebp
ret