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

Disassembly:
push 0xffffffffffffffff
push 0x4dee8b
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5265f0]
xor eax, esp
push eax
lea eax, [esp + 0x24]
mov dword fs:[0], eax
mov esi, dword [esp + 0x34]
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x10]
movzx eax, word [ecx + 6]
movzx eax, ax
add eax, 0xffffd650
cmp eax, 0x30
ja case.0x490089.10673
movzx edx, byte [eax + 0x4906c4]
jmp dword [edx*4 + 0x4906b0]
push 0x4ed8b0
push 0x40
lea eax, [esi + 0x48]
push eax
jmp 0x4900e9
push str.P35_G33_G31
push 0x40
lea ecx, [esi + 0x48]
push ecx
jmp 0x4900e9
push 0x4ed8a0
push 0x40
lea edx, [esi + 0x48]
push edx
jmp 0x4900e9
push 0x4ed89c
lea edi, [esi + 0x48]
push 0x40
push edi
call fcn.004c5045
add esp, 0xc
push 0xe8
mov ecx, esi
call fcn.004a0310
test eax, 0x2000000
mov dword [esp + 0x34], eax
je case.0x490089.10673
push 0x4ed898
push 0x40
push edi
call fcn.004c5045
add esp, 0xc
push 0x48
mov ecx, esi
call fcn.004a0310
mov edi, eax
mov ecx, eax
and edi, 0xffffc000
and ecx, 1
mov dword [esp + 0x34], eax
mov dword [esp + 0x20], ecx
jne 0x490144
or eax, 1
push eax
push 0x48
mov ecx, esi
mov dword [esp + 0x3c], eax
call fcn.004a0340
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x48
mov ecx, esi
call fcn.004a0310
mov dword [esp + 0x34], eax
and eax, 1
mov dword [esp + 0x20], eax
je 0x49069c
push 0x2000000
push edi
xor ebx, ebx
push ebx
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
cmp eax, ebx
mov dword [esi + 0x98], eax
jne 0x4901ab
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x1c], eax
cmp eax, ebx
mov dword [esp + 0x2c], ebx
je 0x49018b
push 0x1000
push edi
push ebx
mov ecx, eax
call fcn.004334c0
mov edi, eax
jmp 0x49018d
xor edi, edi
mov dword [esp + 0x2c], 0xffffffff
mov dword [esi + 0x98], edi
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push edi
call fcn.00425980
jmp 0x4901b2
mov dword [eax + 0x10], 0x1000
mov ecx, dword [esi + 0x98]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
lea edx, [esp + 0x34]
push edx
push 0xc00
xor ebp, ebp
mov dword [esp + 0x1c], ebx
call eax
mov eax, dword [esp + 0x34]
cmp eax, 0xffffffff
je case.0x4904c2.1
cmp eax, ebx
je case.0x4904c2.1
mov ecx, dword [esi + 4]
mov edx, dword [ecx + 0x10]
movzx eax, word [edx + 6]
mov edi, dword [esp + 0x38]
add eax, 0xffffd1f0
cmp eax, 0x30
ja case.0x490207.11793
movzx eax, byte [eax + 0x490700]
jmp dword [eax*4 + 0x4906f8]
mov ecx, dword [esi + 0x98]
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
lea eax, [esp + 0x34]
push eax
push 0x1a8
call edx
mov eax, dword [esp + 0x34]
shr eax, 2
and eax, 1
sub eax, 0
je 0x4902e5
sub eax, 1
jne 0x490244
mov dword [edi + 4], 9
mov ecx, dword [esi + 0x98]
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
lea eax, [esp + 0x34]
push eax
push 0x260
call edx
mov eax, dword [esp + 0x34]
shr eax, 0x14
and eax, 0xf
mov dword [esp + 0x34], eax
je 0x490277
mov dword [esp + 0x14], 1
mov ebx, dword [esp + 0x14]
mov ecx, dword [esi + 0x98]
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
lea eax, [esp + 0x34]
push eax
push 0x660
call edx
mov eax, dword [esp + 0x34]
shr eax, 0x14
and eax, 0xf
mov dword [esp + 0x34], eax
je 0x4902a3
mov ebp, 1
cmp ebx, 1
jne 0x4902f1
cmp ebp, ebx
jne 0x4902f1
mov dword [edi + 0x50], 2
jmp 0x4902f8
mov ecx, dword [esi + 0x98]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
lea edx, [esp + 0x34]
push edx
push 0x1e8
call eax
mov eax, dword [esp + 0x34]
and eax, 1
sub eax, 0
je 0x49023d
sub eax, 1
jne 0x490244
mov dword [edi + 4], 7
jmp 0x490244
mov dword [edi + 0x50], 1
mov ecx, dword [esi + 0x98]
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
lea eax, [esp + 0x34]
push eax
push 0x111
call edx
mov eax, dword [esp + 0x34]
shr eax, 1
and eax, 1
mov ecx, 1
sub ecx, eax
cmp ebx, 1
mov dword [edi + 0x54], ecx
jne 0x490341
mov ebx, 0x25d
mov dword [esp + 0x18], 0x265
lea ebp, [ebx - 0xb]
mov dword [esp + 0x1c], 0x258
jmp 0x490359
mov ebx, 0x65d
mov dword [esp + 0x18], 0x665
lea ebp, [ebx - 0xb]
mov dword [esp + 0x1c], 0x658
mov ecx, dword [esi + 0x98]
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
lea eax, [esp + 0x34]
push eax
mov eax, dword [esp + 0x1c]
push eax
call edx
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x10]
movzx eax, word [ecx + 6]
add eax, 0xffffd1f0
cmp eax, 0x30
ja case.0x49038b.11793
movzx edx, byte [eax + 0x49073c]
jmp dword [edx*4 + 0x490734]
mov eax, dword [esp + 0x34]
shr eax, 8
and eax, 0x3f
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x4903ae
fadd dword [0x4e31a4]
fsub qword [0x4ed890]
jmp 0x4903d8
mov ecx, dword [esp + 0x34]
shr ecx, 8
and ecx, 0x3f
test ecx, ecx
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
jge 0x4903d2
fadd dword [0x4e31a4]
fsub qword [0x4ed888]
fstp dword [edi + 0x18]
mov ecx, dword [esi + 0x98]
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
lea eax, [esp + 0x34]
push eax
push ebx
call edx
mov eax, dword [esp + 0x34]
and eax, 0x3f
mov dword [edi + 0x24], eax
mov ecx, dword [esi + 0x98]
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
lea eax, [esp + 0x34]
push eax
push ebp
call edx
mov eax, dword [esp + 0x34]
mov ecx, eax
shr ecx, 0xd
and eax, 0x1ff
mov dword [edi + 0x2c], eax
and ecx, 0xf
mov dword [edi + 0x20], ecx
mov ecx, dword [esi + 0x98]
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
lea eax, [esp + 0x34]
push eax
mov eax, dword [esp + 0x20]
push eax
call edx
mov eax, dword [esp + 0x34]
shr eax, 0x11
and eax, 0xf
mov ebx, 1
cmp dword [esp + 0x14], ebx
mov dword [edi + 0x1c], eax
mov ecx, dword [esi + 0x98]
jne 0x49046a
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
lea eax, [esp + 0x34]
push eax
push 0x220
call edx
jmp 0x49047b
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
lea edx, [esp + 0x34]
push edx
push 0x620
call eax
mov eax, dword [esp + 0x34]
shr eax, 4
and eax, ebx
sub eax, 0
je 0x490496
sub eax, ebx
jne 0x490499
mov dword [edi + 0x3c], 2
jmp 0x490499
mov dword [edi + 0x3c], ebx
mov ecx, dword [esi + 0x98]
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
lea eax, [esp + 0x34]
push eax
push 0xc00
call edx
mov eax, dword [esp + 0x34]
mov ecx, eax
and ecx, 7
cmp ecx, 6
ja case.0x4904c2.1
jmp dword [ecx*4 + 0x490770]
shr eax, 4
and eax, 7
add eax, 0xffffffff
cmp eax, 4
ja case.default.0x4904d7
jmp dword [eax*4 + 0x49078c]
fld1
push 0x4ed6dc
push 0x20
lea eax, [edi + 0x78]
push eax
jmp 0x490531
fld dword [0x4e3ec8]
push 0x4ed6fc
jmp 0x49052b
fld dword [0x4e3ee0]
push 0x4ed704
push 0x20
lea edx, [edi + 0x78]
push edx
jmp 0x490531
fld dword [0x4e3f08]
push 0x4ed700
push 0x20
lea eax, [edi + 0x78]
push eax
jmp 0x490531
fld dword [0x4eb84c]
push 0x4ed7a4
push 0x20
lea ecx, [edi + 0x78]
push ecx
fstp dword [edi + 0xc]
call fcn.004c5045
add esp, 0xc
fld dword [0x4ed884]
jmp 0x49066b
shr eax, 4
and eax, 7
add eax, 0xffffffff
cmp eax, 4
ja case.default.0x4904d7
jmp dword [eax*4 + 0x4907a0]
fld dword [0x4ed6e8]
push 0x4ed6ec
push 0x20
lea edx, [edi + 0x78]
push edx
jmp 0x490531
fld dword [0x4ed6f4]
push 0x4ed6f8
push 0x20
lea eax, [edi + 0x78]
push eax
jmp 0x490531
fld dword [0x4ed880]
push 0x4ed87c
push 0x20
lea edx, [edi + 0x78]
push edx
jmp 0x490531
fld dword [str.UUU_3:8]
push 0x4ed870
push 0x20
lea eax, [edi + 0x78]
push eax
jmp 0x490531
shr eax, 4
and eax, 7
add eax, 0xfffffffe
cmp eax, 3
ja case.default.0x4904d7
jmp dword [eax*4 + 0x4907b4]
fld1
push 0x4ed6dc
jmp 0x49052b
fld dword [0x4e3ec0]
push 0x4ed77c
push 0x20
lea edx, [edi + 0x78]
push edx
jmp 0x490531
fld dword [0x4e3ee8]
push 0x4ed7a8
push 0x20
lea eax, [edi + 0x78]
push eax
jmp 0x490531
fld dword [0x4e3f08]
push 0x4ed700
jmp 0x49052b
shr eax, 4
and eax, 7
add eax, 0xfffffffd
cmp eax, 3
ja case.default.0x490613
jmp dword [eax*4 + 0x4907c4]
fld1
push 0x4ed6dc
jmp 0x490654
fld dword [0x4ed6e8]
push 0x4ed6ec
push 0x20
lea eax, [edi + 0x78]
push eax
jmp 0x49065a
fld dword [0x4ed6f4]
push 0x4ed6f8
push 0x20
lea ecx, [edi + 0x78]
push ecx
jmp 0x49065a
fld dword [0x4e3f08]
push 0x4ed700
push 0x20
lea edx, [edi + 0x78]
push edx
fstp dword [edi + 0xc]
call fcn.004c5045
add esp, 0xc
fld dword [0x4ed86c]
fstp dword [edi + 0x9c]
push 0x48
mov ecx, esi
call fcn.004a0310
cmp dword [esp + 0x20], 0
jne 0x49069c
and eax, 0xfffffffe
push eax
push 0x48
mov ecx, esi
mov dword [esp + 0x3c], eax
call fcn.004a0340
mov dword [esi + 0x98], 0
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret