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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
add esp, 0xffffff50
lea eax, [esp + 0x88]
lea edx, [0x801ef0]
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0xa0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 0x60], ecx
call fcn.0049d9c0
mov eax, dword [0x7ffb44]
lea ecx, [esp + 0x88]
mov dword [esp + 0x5c], eax
call fcn.00525d40
mov ecx, 0x447cd8
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx + 0xc], 4
mov dword [ecx + 8], 0x1000
mov dword [ecx], 0
mov eax, dword [esp + 0x5c]
call eax
sub esp, 0x10
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x84]
mov edx, esi
mov edx, esp
mov dword [edx], 0
lea edx, [esp + 0x88]
mov dword [esp + 0x54], ecx
mov ecx, edx
call fcn.00477900
sub esp, 4
mov dword [esp + 0x50], eax
lea ecx, [esp + 0x88]
call fcn.00525d40
lea ecx, [0x4c3dd0]
mov edx, dword [esp + 0x54]
mov dword [esp], edx
mov esi, dword [esp + 0x50]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0x4c], ecx
call fcn.004480b0
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x60]
mov dword [eax + 0xb], ecx
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x4c]
mov dword [eax + 0x10], edx
mov eax, dword [esp + 0x84]
mov byte [eax + 0x18], 0
mov eax, dword [0x7fffa4]
mov esi, dword [esp + 0x84]
mov edi, esp
lea ebx, [esp + 0x78]
mov dword [edi + 0xc], ebx
mov dword [edi], esi
mov dword [edi + 8], 0x20
mov dword [edi + 4], 4
call eax
sub esp, 0x10
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x60]
mov dword [ecx + 0x20], eax
cmp dword [ecx + 0x140], 0
je 0x4c1e15
mov eax, dword [esp + 0x60]
cmp dword [eax + 0x144], 0
jne 0x4c1e2d
mov dword [esp + 0xa8], 0
mov dword [esp + 0x74], 1
jmp 0x4c28d1
mov eax, 0
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 0x14]
mov esi, dword [ecx + 0x140]
sub edx, 0xb53a14e2
sub edx, 0x809b38f4
add edx, 0xb53a14e2
sub eax, esi
sub edx, eax
add edx, 0xae633d39
add edx, 0x809b38f4
sub edx, 0xae633d39
mov dword [esp + 0x70], edx
mov eax, dword [esp + 0x70]
cmp dword [eax + 0xc], 0
je 0x4c28be
mov eax, 0
mov ecx, dword [0x7ff9c4]
mov edx, dword [esp + 0x60]
mov esi, dword [edx + 0x14]
mov edi, dword [esp + 0x70]
mov edi, dword [edi + 0xc]
add esi, 0x6186818a
add esi, 0x397d582f
add esi, 0x9e797e76
mov ebx, eax
sub ebx, edi
sub esi, ebx
sub eax, 0xc682a7d1
sub esi, eax
mov eax, esp
mov dword [eax], esi
call ecx
sub esp, 4
mov dword [esp + 0x44], eax
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov esi, dword [0x80a090]
sub ecx, 1
add ecx, 0
mov edi, edx
add edi, 0xd9c699a3
add edi, ecx
sub edi, 0xd9c699a3
imul edx, edi
and edx, 1
cmp edx, 0
sete ah
cmp esi, 0xa
setl bl
mov bh, ah
xor bh, 1
and bh, 1
mov cl, al
xor cl, 1
mov ch, ah
and ch, cl
or bh, ch
mov cl, bl
xor cl, 1
and cl, 0
mov ch, al
xor ch, 0
mov dl, bl
and dl, ch
mov dh, al
xor dh, 1
and dh, 0
and ch, 1
or cl, dl
or dh, ch
xor cl, dh
mov dl, al
xor dl, 0
and dl, 1
mov ch, al
xor ch, 1
mov dh, ch
and dh, 0
mov byte [esp + 0x43], al
xor al, 1
and al, 1
and ch, 1
or dl, dh
or al, ch
xor dl, al
mov al, byte [esp + 0x43]
xor al, 0
mov ch, bh
xor ch, al
and ch, bh
xor ah, 1
mov al, dl
xor al, 1
mov dh, byte [esp + 0x43]
xor dh, 1
or ah, al
or dh, 1
xor ah, 1
and ah, dh
mov al, byte [esp + 0x43]
xor al, 0
mov dh, cl
xor dh, al
and dh, cl
mov al, dl
xor al, 1
mov byte [esp + 0x42], al
mov al, bl
mov byte [esp + 0x41], cl
mov cl, byte [esp + 0x42]
xor al, cl
and al, bl
mov cl, ch
and cl, ah
xor ch, ah
or cl, ch
mov ah, dh
xor ah, 1
mov ch, al
xor ch, 1
mov bl, byte [esp + 0x43]
xor bl, 1
mov byte [esp + 0x40], al
mov al, ah
and al, 1
and dh, bl
mov byte [esp + 0x3f], al
mov al, ch
and al, 1
mov byte [esp + 0x3e], al
mov al, byte [esp + 0x40]
and al, bl
mov byte [esp + 0x3d], al
mov al, byte [esp + 0x3f]
or al, dh
mov dh, byte [esp + 0x3e]
mov byte [esp + 0x3c], al
mov al, byte [esp + 0x3d]
or dh, al
mov al, byte [esp + 0x3c]
xor al, dh
or ah, ch
xor ah, 1
or bl, 1
and ah, bl
or al, ah
mov ah, cl
xor ah, 1
and ah, 1
mov ch, byte [esp + 0x43]
xor ch, 1
and cl, ch
mov dh, al
xor dh, 1
and dh, 1
and al, ch
or ah, cl
or dh, al
xor ah, dh
mov al, bh
mov cl, byte [esp + 0x41]
and al, cl
xor bh, cl
or al, bh
mov ch, al
xor ch, 1
and ch, 0
mov dh, byte [esp + 0x43]
xor dh, 0
and al, dh
mov bl, byte [esp + 0x43]
xor bl, 1
and bl, 0
and dh, 1
or ch, al
or bl, dh
xor ch, bl
mov al, dl
and al, 0
xor dl, 0
or al, dl
xor al, 1
mov dl, ch
xor dl, al
and dl, ch
mov al, ah
and al, dl
xor ah, dl
or al, ah
test al, 1
jne 0x4c207f
jmp 0x4c28ec
mov al, 1
mov ecx, 0
mov edx, dword [esp + 0x44]
mov dword [esp + 0x6c], edx
cmp dword [esp + 0x6c], 0
setne ah
mov esi, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, ecx
sub ebx, 0xab13494c
mov edx, 0x1f
mov edx, esi
add edx, ebx
sub edx, 0x8550f20f
sub edx, 1
add edx, 0x8550f20f
sub ecx, 0xab13494c
sub edx, ecx
imul esi, edx
and esi, 1
cmp esi, 0
sete cl
cmp edi, 0xa
setl ch
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, ch
xor dh, 1
and dh, 1
mov bl, al
xor bl, 1
mov bh, ch
and bh, bl
mov byte [esp + 0x3b], al
xor al, 1
and al, 1
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, byte [esp + 0x3b]
xor al, 1
and al, 0
mov bl, byte [esp + 0x3b]
xor bl, 0
mov bh, bl
and bh, 1
mov byte [esp + 0x3a], al
mov al, byte [esp + 0x3b]
xor al, 1
and al, 0
and bl, 1
mov byte [esp + 0x39], al
mov al, byte [esp + 0x3a]
or al, bh
mov bh, byte [esp + 0x39]
or bh, bl
xor al, bh
mov bl, byte [esp + 0x3b]
xor bl, 1
mov bh, dl
xor bh, bl
and bh, dl
xor cl, 1
mov bl, al
xor bl, 1
mov byte [esp + 0x38], al
mov al, byte [esp + 0x3b]
xor al, 0
or cl, bl
or al, 0
xor cl, 1
and cl, al
mov al, dh
xor al, 1
mov bl, byte [esp + 0x3b]
xor bl, 1
mov byte [esp + 0x37], al
mov al, byte [esp + 0x3b]
xor al, 1
mov byte [esp + 0x36], al
mov al, byte [esp + 0x37]
or al, bl
mov bl, byte [esp + 0x36]
or bl, 1
xor al, 1
and al, bl
mov bl, byte [esp + 0x38]
xor bl, 1
mov byte [esp + 0x35], al
mov al, ch
xor al, bl
and al, ch
mov ch, bh
and ch, cl
xor bh, cl
or ch, bh
mov cl, byte [esp + 0x35]
xor cl, 1
mov bl, al
xor bl, 1
mov bh, byte [esp + 0x3b]
xor bh, 1
mov byte [esp + 0x34], al
mov al, cl
and al, 1
mov byte [esp + 0x33], al
mov al, byte [esp + 0x35]
and al, bh
mov byte [esp + 0x32], al
mov al, bl
and al, 1
mov byte [esp + 0x31], al
mov al, byte [esp + 0x34]
and al, bh
mov byte [esp + 0x30], al
mov al, byte [esp + 0x33]
mov byte [esp + 0x2f], cl
mov cl, byte [esp + 0x32]
or al, cl
mov cl, byte [esp + 0x31]
mov byte [esp + 0x2e], al
mov al, byte [esp + 0x30]
or cl, al
mov al, byte [esp + 0x2e]
xor al, cl
mov cl, byte [esp + 0x2f]
or cl, bl
xor cl, 1
or bh, 1
and cl, bh
or al, cl
mov cl, ch
xor cl, 1
and cl, 0
mov bl, byte [esp + 0x3b]
xor bl, 0
and ch, bl
mov bh, al
xor bh, 1
and bh, 0
and al, bl
or cl, ch
or bh, al
xor cl, bh
mov al, dl
and al, dh
xor dl, dh
or al, dl
mov dl, al
xor dl, 1
and dl, 1
mov ch, byte [esp + 0x3b]
xor ch, 1
and al, ch
or dl, al
mov al, byte [esp + 0x38]
and al, 1
mov ch, byte [esp + 0x38]
xor ch, 1
or al, ch
xor al, 1
mov ch, dl
xor ch, al
and ch, dl
mov al, cl
and al, ch
xor cl, ch
or al, cl
test al, 1
mov byte [esp + 0x2d], ah
jne 0x4c2299
jmp 0x4c28ec
mov al, byte [esp + 0x2d]
test al, 1
jne 0x4c22cd
jmp 0x4c22aa
mov eax, dword [sym.imp.KERNEL32.dll_GetLastError]
call eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xa8], eax
mov dword [esp + 0x74], 1
jmp 0x4c28d1
mov eax, dword [esp + 0x60]
add eax, 0x64
mov ecx, 0x20
mov ecx, esp
lea edx, [esp + 0x6c]
call fcn.004c2920
mov ecx, eax
call fcn.004c52e0
sub esp, 4
mov eax, 0
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 0x14]
mov esi, dword [esp + 0x70]
mov esi, dword [esi + 0x10]
mov edi, eax
sub edi, 0xbe2343f7
sub edx, edi
mov edi, eax
sub edi, edx
mov edx, 0x447b40
mov edx, eax
sub edx, esi
add edi, edx
sub eax, edi
sub eax, 0x59eca50b
sub eax, 0xbe2343f7
sub eax, 0xa6135af5
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x70]
cmp dword [eax + 4], 0
je 0x4c23b0
mov eax, dword [esp + 0x70]
cmp dword [eax], 0
jne 0x4c2373
mov dword [esp + 0xa8], 0xb
mov dword [esp + 0x74], 1
jmp 0x4c28d1
mov eax, 0
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 0x14]
mov esi, dword [esp + 0x70]
mov esi, dword [esi]
add edx, 0x7de5b48e
add edx, 0x732f4e44
add edx, 0x821a4b72
sub edx, 0xd7d27eb8
add edx, esi
add edx, 0xd7d27eb8
sub eax, 0x8cd0b1bc
sub edx, eax
mov dword [esp + 0x68], edx
jmp 0x4c23b5
mov eax, dword [esp + 0x68]
cmp dword [eax], 0
je 0x4c28a7
mov eax, 0xffffffff
mov ecx, dword [esp + 0x68]
mov ecx, dword [ecx]
mov edx, eax
xor edx, 0x80000000
and edx, 0x3a9c52ac
mov esi, eax
xor esi, 0x3a9c52ac
mov edi, esi
and edi, 0x80000000
mov ebx, eax
xor ebx, 0xffffffff
and ebx, 0x3a9c52ac
and esi, 0xffffffff
or edx, edi
or ebx, esi
xor edx, ebx
mov esi, ecx
xor esi, 0xffffffff
mov edi, edx
and edi, esi
xor edx, 0xffffffff
mov esi, ecx
and esi, edx
or edi, esi
xor edi, 0xffffffff
xor ecx, 0xffffffff
xor eax, 0x1ea7038a
or edi, ecx
or eax, 0x1ea7038a
xor edi, 0xffffffff
and edi, eax
cmp edi, 0
je 0x4c25c7
mov eax, 1
mov ecx, 0
mov edx, dword [esp + 0x68]
mov edx, dword [edx]
mov esi, dword [esp + 0x6c]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
call fcn.004bea20
mov dword [esp + 0x1c], eax
mov al, 1
mov ecx, 0x1e875a48
call fcn.004c2930
mov esi, dword [0x80a090]
sub ecx, 0
sub ecx, 1
sub ecx, 0x1e875a48
mov edi, edx
sub edi, 0xf1b3b512
add edi, ecx
add edi, 0xf1b3b512
imul edx, edi
and edx, 1
cmp edx, 0
sete ah
cmp esi, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
mov ch, al
xor ch, 0
or bh, cl
or ch, 0
xor bh, 1
and bh, ch
mov cl, ah
xor cl, 1
and cl, 1
xor al, 1
and ah, al
mov ch, bl
xor ch, 1
and ch, 1
and bl, al
or cl, ah
or ch, bl
xor cl, ch
mov al, bh
and al, cl
xor bh, cl
or al, bh
test al, 1
jne 0x4c2521
jmp 0x4c28f9
mov al, 1
mov ecx, 0
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x1c]
mov dword [edx], esi
call fcn.004c2940
mov edi, dword [0x80a090]
mov ebx, ecx
sub ebx, 0xea77aee1
mov esi, edx
add esi, ebx
sub esi, 0x3e196f12
sub esi, 1
sub esi, 0xc1e690ee
mov ebx, ecx
sub ebx, esi
mov esi, ecx
sub esi, 0xea77aee1
add ebx, esi
sub ecx, ebx
imul edx, ecx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, cl
xor ch, 1
mov dl, ah
xor dl, ch
and dl, ah
mov ch, ah
xor ch, 1
and ch, 0
xor al, 0
and ah, al
mov dh, cl
xor dh, 1
and dh, 0
and cl, al
or ch, ah
or dh, cl
xor ch, dh
mov al, dl
and al, ch
xor dl, ch
or al, dl
test al, 1
jne 0x4c25c2
jmp 0x4c28f9
jmp 0x4c2850
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x68]
add ecx, dword [edx]
sub ecx, 0xfffffffe
mov edx, dword [esp + 0x6c]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], edx
mov ecx, 0x40000
mov ecx, eax
call fcn.004320b0
sub esp, 8
mov dword [esp + 0x18], eax
mov eax, 0
call fcn.004c2950
mov edx, dword [0x80a090]
mov esi, eax
sub esi, 0xab61e3d9
mov edi, ecx
add edi, esi
mov esi, eax
sub esi, 1
add edi, esi
mov esi, eax
sub esi, edi
mov edi, eax
sub edi, 0xab61e3d9
add esi, edi
sub eax, esi
imul ecx, eax
and ecx, 1
push ebx
mov ebx, 0x4425acd6
xor ebx, 0x4425acd6
cmp ecx, ebx
pop ebx
sete bl
cmp edx, 0xa
setl bh
mov al, bh
xor al, 1
mov ah, bl
xor ah, al
and ah, bl
mov al, bl
xor al, 1
mov cl, bh
and cl, al
xor bh, 1
and bl, bh
or cl, bl
mov al, ah
and al, cl
xor ah, cl
or al, ah
test al, 1
jne 0x4c2680
jmp 0x4c290b
mov al, 1
mov ecx, 0
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x18]
mov dword [edx], esi
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, edx
sub ebx, 0x284e4d51
sub ebx, 0xe60a42ac
add ebx, 0x284e4d51
add ebx, 0xd6c8a0a5
sub ebx, 1
add ebx, 0x29375f5b
add ecx, 0x19f5bd54
sub ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 1
mov dl, al
xor dl, 1
mov dh, ah
and dh, dl
mov bl, al
xor bl, 1
and bl, 1
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, al
xor dh, 1
and dh, 1
mov bl, al
xor bl, 1
and bl, 1
or dh, bl
mov bl, ch
xor bl, 1
mov bh, al
xor bh, 1
mov byte [esp + 0x17], al
xor al, 0
or bl, bh
or al, 0
xor bl, 1
and bl, al
mov al, dh
xor al, 1
mov bh, ah
xor bh, al
and bh, ah
mov al, byte [esp + 0x17]
xor al, 1
mov ah, dl
xor ah, al
and ah, dl
mov al, dh
xor al, 1
mov byte [esp + 0x16], al
mov al, cl
mov byte [esp + 0x15], cl
mov cl, byte [esp + 0x16]
xor al, cl
mov cl, byte [esp + 0x15]
and al, cl
mov cl, bl
and cl, bh
xor bl, bh
or cl, bl
mov bl, ah
and bl, al
xor ah, al
or bl, ah
mov al, cl
xor al, 1
mov ah, bl
and ah, al
xor bl, 1
and cl, bl
or ah, cl
mov al, ch
xor al, 1
mov cl, dl
xor cl, 1
mov bl, byte [esp + 0x17]
xor bl, 1
mov bh, al
and bh, 1
and ch, bl
mov byte [esp + 0x14], al
mov al, cl
and al, 1
and dl, bl
or bh, ch
or al, dl
xor bh, al
mov al, byte [esp + 0x14]
or al, cl
xor al, 1
or bl, 1
and al, bl
or bh, al
mov al, bh
xor al, 1
and al, 1
mov cl, byte [esp + 0x17]
xor cl, 1
and bh, cl
mov dl, byte [esp + 0x17]
xor dl, 1
and dl, 1
and cl, 1
or al, bh
or dl, cl
xor al, dl
mov cl, dh
and cl, 1
xor dh, 1
or cl, dh
xor al, 1
xor cl, 1
mov dl, byte [esp + 0x17]
xor dl, 0
or al, cl
or dl, 0
xor al, 1
and al, dl
mov cl, ah
xor cl, 1
mov dl, al
xor dl, 1
mov ch, byte [esp + 0x17]
xor ch, 0
mov dh, cl
and dh, 0
and ah, ch
mov bl, dl
and bl, 0
and al, ch
or dh, ah
or bl, al
xor dh, bl
or cl, dl
xor cl, 1
or ch, 0
and cl, ch
or dh, cl
test dh, 1
jne 0x4c284b
jmp 0x4c290b
jmp 0x4c2850
mov eax, dword [esp + 0x64]
cmp dword [eax], 0
jne 0x4c2883
call fcn.004c2960
call eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa8], eax
mov dword [esp + 0x74], 1
jmp 0x4c28d1
jmp 0x4c2888
mov eax, dword [esp + 0x68]
add eax, 4
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x64]
add eax, 4
mov dword [esp + 0x64], eax
jmp 0x4c23b5
jmp 0x4c28ac
mov eax, dword [esp + 0x70]
add eax, 0x14
mov dword [esp + 0x70], eax
jmp 0x4c1e6b
mov dword [esp + 0xa8], 0
mov dword [esp + 0x74], 1
lea ecx, [esp + 0x88]
call fcn.00506f10
mov eax, dword [esp + 0xa8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x44]
mov dword [esp + 0x6c], eax
jmp 0x4c207f
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x1c]
call fcn.004c2970
jmp 0x4c2521
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x18]
mov dword [eax], ecx
jmp 0x4c2680