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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xc0
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0xb4]
mov eax, ecx
add eax, 0x28
mov dword [esp + 0x68], ecx
mov ecx, eax
call fcn.004059b0
cmp eax, 0
jne 0x4c961f
mov eax, dword [esp + 0x68]
cmp dword [eax + 0x1ec], 0
jne 0x4c95f4
mov al, 1
mov ecx, 0
mov edx, dword [0x88c650]
mov esi, dword [0x88c654]
add ecx, 0xffffffff
mov edi, edx
add edi, ecx
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
xor al, 0
mov ch, bh
and ch, 0
and ah, al
mov dl, cl
and dl, 0
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 0
and bh, al
or ch, bh
test ch, 1
jne 0x4c9322
jmp 0x4c9c56
lea eax, [esp + 0x98]
mov ecx, dword [esp + 0x68]
add ecx, 0x1d4
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0047e220
lea ecx, [esp + 0x98]
call fcn.004059b0
push ebx
mov ebx, 0xf7f67ab2
xor ebx, 0xf7f67ab2
cmp eax, ebx
pop ebx
setne dl
mov eax, dword [0x88c650]
call fcn.004c9cc0
mov esi, eax
add esi, 0x9da0cf6c
sub esi, 1
sub esi, 0x9da0cf6c
imul eax, esi
and eax, 1
cmp eax, 0
sete dh
cmp ecx, 0xa
setl bl
mov bh, dh
and bh, bl
xor dh, bl
or bh, dh
test bh, 1
mov byte [esp + 0x67], dl
jne 0x4c93ae
jmp 0x4c9c56
mov al, byte [esp + 0x67]
test al, 1
jne 0x4c93bf
jmp 0x4c9420
lea ecx, [esp + 0x98]
call fcn.004f88b0
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x60]
movzx ecx, word [eax]
cmp ecx, 0x5c
je 0x4c9420
lea ecx, [esp + 0x98]
call fcn.004f88b0
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x5c]
movzx ecx, word [eax]
cmp ecx, 0x2f
je 0x4c9420
mov eax, esp
call fcn.004c9cd0
lea ecx, [esp + 0x98]
call fcn.004de6f0
sub esp, 4
jmp 0x4c9420
mov eax, 0xffffffff
mov ecx, dword [esp + 0x68]
sub ecx, 0xffffffb4
mov edx, dword [esp + 0x68]
movzx esi, word [edx + 0xd6]
xor esi, 0xffffffff
mov edi, eax
xor edi, 0x2000
xor eax, 0x6903dadf
or esi, edi
or eax, 0x6903dadf
xor esi, 0xffffffff
and esi, eax
cmp esi, 0
mov dword [esp + 0x58], ecx
je 0x4c947b
lea eax, [0x5e1536]
mov dword [esp + 0x54], eax
jmp 0x4c948a
lea eax, [0x59a4ac]
mov dword [esp + 0x54], eax
jmp 0x4c948a
mov eax, dword [esp + 0x54]
mov ecx, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x50], eax
call ecx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x68]
xor eax, 0xffffffff
mov ecx, dword [esp + 0x4c]
and ecx, eax
mov eax, dword [esp + 0x4c]
xor eax, 0xffffffff
mov edx, dword [esp + 0x68]
and edx, eax
or ecx, edx
lea eax, [esp + 0x98]
mov dword [esp + 0x48], ecx
mov ecx, eax
call fcn.00407ca0
lea ecx, [esp + 0x78]
lea edx, [0x88a23c]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x10], eax
call fcn.0042f910
mov al, 1
mov ecx, 0
call fcn.004c9ce0
call fcn.004c9cf0
add ecx, 0xffffffff
mov edi, edx
add edi, ecx
imul edx, edi
and edx, 1
cmp edx, 0
sete ah
push ebx
mov ebx, 0xfd24014c
xor ebx, 0xfd240146
cmp esi, ebx
pop ebx
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 0
mov ch, bh
and ch, 0
and ah, al
mov dl, cl
and dl, 0
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 0
and bh, al
or ch, bh
test ch, 1
jne 0x4c9572
jmp 0x4c9c88
mov eax, esp
lea ecx, [esp + 0x78]
call fcn.004c9d00
mov ecx, dword [esp + 0x58]
call fcn.00475400
sub esp, 4
lea ecx, [esp + 0x78]
mov dword [esp + 0x44], eax
call fcn.004054e0
lea ecx, [esp + 0x98]
call fcn.004054e0
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, eax
sub edx, 0xdbdd728d
sub edx, 1
sub edx, 0x24228d73
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x4c95ef
jmp 0x4c9c88
jmp 0x4c961a
mov eax, dword [esp + 0x68]
sub eax, 0xffffffb4
mov ecx, dword [esp + 0x68]
add ecx, 0x1bc
mov edx, esp
mov dword [edx], ecx
mov ecx, eax
call fcn.004df0d0
sub esp, 4
mov dword [esp + 0x40], eax
jmp 0x4c964f
mov eax, dword [esp + 0x68]
sub eax, 0xffffffb4
mov ecx, dword [esp + 0x68]
sub ecx, 0xffffffd8
mov edx, 0x40000
mov edx, esp
call fcn.004c9d10
mov ecx, eax
mov ecx, eax
call fcn.004df0d0
sub esp, 4
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x68]
sub eax, 0xffffffb4
mov ecx, esp
call fcn.004c9d20
call fcn.004c9d30
mov ecx, eax
call fcn.004b4ea0
sub esp, 8
mov ecx, 0x5bfd1c
mov ecx, dword [ecx]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x74]
mov edx, ecx
sub edx, eax
mov esi, ecx
sub esi, 1
add edx, esi
sub ecx, edx
mov dword [esp + 0x74], ecx
cmp eax, 0xffffffff
jne 0x4c96a5
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov eax, dword [esp + 0x68]
cmp dword [eax + 0x188], 0
je 0x4c96fb
mov eax, dword [esp + 0x68]
cmp dword [eax + 0x18c], 0
je 0x4c96fb
pushfd
xor eax, eax
add eax, 0x2946cc22
sub eax, 0x2946cc22
popfd
mov ecx, dword [esp + 0x68]
call fcn.004c9d40
call fcn.004c9d50
sub eax, esi
sub edx, eax
mov dword [esp + 0x70], edx
mov eax, dword [esp + 0x68]
cmp dword [eax + 0x1ec], 0
je 0x4c9803
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x24]
mov edx, dword [eax + 0x1ec]
mov esi, esp
mov dword [esi], edx
call fcn.0053d810
sub esp, 4
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x1f4], eax
cmp dword [ecx + 0x1f4], 0
jne 0x4c9752
mov dword [esp + 0xb8], 0x1f
jmp 0x4c9c47
mov eax, 0xa244ad61
pushfd
xor eax, 0x5dbb529e
popfd
mov ecx, 0x50
mov edx, dword [esp + 0x68]
add edx, 0x1f8
mov esi, dword [esp + 0x68]
call fcn.004c9d60
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], 0x50
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], ecx
call fcn.00437810
mov eax, dword [esp + 0x68]
call fcn.004c9d70
mov edx, esi
mov edx, ecx
xor edx, 0xffffffff
mov esi, dword [esp + 0x38]
xor esi, 0x92cce07f
xor esi, 0x92cce077
mov edi, dword [esp + 0x38]
xor edi, 0x7fd09fea
mov ebx, edx
and ebx, 0x7fd09fea
and ecx, edi
mov eax, esi
and eax, 0x7fd09fea
mov dword [esp + 0x30], eax
mov eax, edi
and eax, 8
or ebx, ecx
mov ecx, dword [esp + 0x30]
or ecx, eax
xor ebx, ecx
or edx, esi
xor edx, 0xffffffff
or edi, 0x7fd09fea
and edx, edi
or ebx, edx
mov eax, dword [esp + 0x68]
mov dword [eax], ebx
jmp 0x4c9a03
pushfd
mov eax, 0xb9808b86
sub eax, 0xb9808b87
popfd
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx]
xor eax, 0x183bcd67
xor eax, 0x183bcd6f
mov esi, edx
xor esi, eax
and esi, edx
push ecx
mov ecx, 0x71cd6e97
xor ecx, 0x71cd6e97
cmp esi, ecx
pop ecx
je 0x4c99fe
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x24]
mov edx, dword [eax + 0x7c]
add eax, 0x4c
mov esi, dword [esp + 0x68]
mov edi, dword [esi + 0xc]
mov ebx, dword [esi + 0x14]
mov esi, esp
mov dword [esi + 0xc], edx
call fcn.004c9d80
mov dword [esi + 4], edi
call fcn.004c9d90
call fcn.004d0140
sub esp, 0x10
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x1f4], eax
cmp dword [ecx + 0x1f4], 0
jne 0x4c989a
mov dword [esp + 0xb8], 0x1f
jmp 0x4c9c47
mov eax, 0
mov ecx, dword [0x88c650]
mov edx, dword [0x88c654]
sub eax, 1
mov esi, ecx
add esi, eax
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x4c98e4
jmp 0x4c9cba
mov eax, 0
mov ecx, 0xffffffff
mov edx, dword [esp + 0x68]
call fcn.004c9da0
xor ecx, 0x20
mov edi, esi
xor edi, ecx
and edi, esi
push ecx
mov ecx, 0x3a50ee9f
xor ecx, 0x3a50ee9f
cmp edi, ecx
pop ecx
setne bl
mov ecx, dword [0x88c650]
call fcn.004c9db0
sub eax, 1
mov edi, ecx
add edi, eax
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bh
cmp esi, 0xa
setl al
mov ah, bh
and ah, al
xor bh, al
or ah, bh
test ah, 1
mov byte [esp + 0x2f], bl
jne 0x4c995e
jmp 0x4c9cba
mov al, byte [esp + 0x2f]
test al, 1
jne 0x4c99f9
jmp 0x4c996f
pushfd
mov eax, 0xc1e80622
sub eax, 0xc1e80623
popfd
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx + 0x1f4]
call fcn.004c9dc0
mov edi, esi
xor edi, 0x88a02e00
xor edi, 0x775fd1ff
mov ebx, eax
xor ebx, 0x1244e92a
xor ebx, 0x1240e92a
xor eax, 0x63c9722a
mov ecx, edi
and ecx, 0x63c9722a
and esi, eax
mov dword [esp + 0x28], eax
mov eax, ebx
and eax, 0x63c9722a
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x28]
and eax, 0x40000
or ecx, esi
mov esi, dword [esp + 0x24]
or esi, eax
xor ecx, esi
or edi, ebx
push edx
mov edx, 0x50f1ad24
xor edx, 0xaf0e52db
xor edi, edx
pop edx
mov eax, dword [esp + 0x28]
or eax, 0x63c9722a
and edi, eax
or ecx, edi
mov dword [edx + 0x34], ecx
jmp 0x4c99fe
jmp 0x4c9a03
mov eax, dword [esp + 0x68]
cmp dword [eax + 0x1f4], 0
je 0x4c9c3c
mov eax, dword [esp + 0x68]
cmp dword [eax + 0x1ec], 0
je 0x4c9bb7
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x1f4]
call fcn.004c9dd0
call fcn.004c9de0
mov edx, dword [eax + 0x1f4]
mov dword [edx + 0x20], ecx
call fcn.004c9df0
mov edx, dword [eax + 0x1f4]
mov dword [edx + 0x1c], ecx
add eax, 0x28
mov ecx, eax
call fcn.004059b0
cmp eax, 0
je 0x4c9bb2
mov eax, dword [esp + 0x68]
add eax, 0x28
mov ecx, esp
call fcn.004c9e00
mov dword [ecx], 0x87fc28
mov ecx, eax
call fcn.004b4ea0
sub esp, 8
mov ecx, 0
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
mov edx, ecx
sub edx, eax
mov esi, ecx
sub esi, 1
add edx, esi
sub ecx, edx
mov dword [esp + 0x6c], ecx
cmp eax, 0xffffffff
jne 0x4c9ac4
mov dword [esp + 0x6c], 0
mov eax, dword [esp + 0x68]
sub eax, 0xffffffd8
mov ecx, eax
call fcn.004059b0
shl eax, 1
mov dx, ax
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x1f4]
mov word [ecx + 0x24], dx
sub eax, 0xffffffd8
mov ecx, eax
call fcn.004059b0
mov ecx, 0
mov esi, dword [esp + 0x6c]
sub ecx, esi
add eax, ecx
shl eax, 1
mov dx, ax
mov eax, dword [esp + 0x68]
call fcn.004c9e10
mov word [ecx + 0x2c], dx
mov ecx, dword [eax + 0x1f4]
movzx ecx, word [ecx + 0x24]
sub ecx, 0xf9b2773d
sub ecx, 0xfffffffe
add ecx, 0xf9b2773d
mov dx, cx
mov ecx, dword [eax + 0x1f4]
mov word [ecx + 0x26], dx
mov ecx, dword [eax + 0x1f4]
movzx ecx, word [ecx + 0x2c]
add ecx, 0x7b2a5f40
sub ecx, 0xfffffffe
add ecx, 0x84d5a0c0
mov dx, cx
mov ecx, dword [eax + 0x1f4]
mov word [ecx + 0x2e], dx
sub eax, 0xffffffd8
mov ecx, esp
mov dword [ecx], 0
mov ecx, eax
mov ecx, eax
call fcn.004b4f70
sub esp, 4
mov ecx, dword [esp + 0x68]
mov esi, dword [ecx + 0x1f4]
mov dword [esi + 0x28], eax
add ecx, 0x28
mov eax, dword [esp + 0x6c]
mov esi, esp
mov dword [esi], eax
call fcn.004b4f70
sub esp, 4
mov ecx, dword [esp + 0x68]
mov esi, dword [ecx + 0x1f4]
mov dword [esi + 0x30], eax
jmp 0x4c9bb7
mov eax, 0xffffffff
mov ecx, dword [esp + 0x68]
call fcn.004c9e20
xor edx, 0xd4690a78
xor edx, 0x2b96f587
mov esi, eax
xor esi, 0xc2cf849f
xor esi, 0xc2cf84df
xor eax, 0xb8da982a
xor eax, 0xaa93b1d3
or edx, esi
or eax, 0x124929f9
xor edx, 0xffffffff
and edx, eax
cmp edx, 0
je 0x4c9c37
mov eax, dword [esp + 0x68]
call fcn.004c9e30
mov edx, dword [eax + 0x1f4]
mov edx, dword [edx + 0x20]
mov esi, dword [eax + 0x1f4]
mov esi, dword [esi + 0x18]
mov edi, esp
mov dword [edi + 4], edx
call fcn.004c9e40
call fcn.00529a40
sub esp, 8
mov dword [esp + 0x20], eax
jmp 0x4c9c3c
mov dword [esp + 0xb8], 0
mov eax, dword [esp + 0xb8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x98]
mov ecx, dword [esp + 0x68]
add ecx, 0x1d4
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0047e220
lea ecx, [esp + 0x98]
call fcn.004059b0
mov dword [esp + 0x1c], eax
jmp 0x4c9322
mov eax, esp
lea ecx, [esp + 0x78]
mov dword [eax], ecx
mov ecx, dword [esp + 0x58]
call fcn.00475400
sub esp, 4
lea ecx, [esp + 0x78]
mov dword [esp + 0x18], eax
call fcn.004054e0
lea ecx, [esp + 0x98]
call fcn.004054e0
jmp 0x4c9572
jmp 0x4c98e4