joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10039cc6
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
call fcn.1002de27
and dword [ebp - 4], 0
cmp dword [0x10052ac0], 0
mov ebx, eax
jne 0x10039d77
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x10039e28
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.MessageBoxA
push edi
call esi
test eax, eax
je 0x10039e28
push eax
call fcn.1002ddb5
mov dword [esp], str.GetActiveWindow
push edi
mov dword [0x10052ac0], eax
call esi
push eax
call fcn.1002ddb5
mov dword [esp], str.GetLastActivePopup
push edi
mov dword [0x10052ac4], eax
call esi
push eax
call fcn.1002ddb5
mov dword [esp], str.GetUserObjectInformationA
push edi
mov dword [0x10052ac8], eax
call esi
push eax
call fcn.1002ddb5
pop ecx
mov dword [0x10052ad0], eax
test eax, eax
je 0x10039d77
push str.GetProcessWindowStation
push edi
call esi
push eax
call fcn.1002ddb5
pop ecx
mov dword [0x10052acc], eax
mov eax, dword [0x10052acc]
cmp eax, ebx
je 0x10039dcf
cmp dword [0x10052ad0], ebx
je 0x10039dcf
push eax
call fcn.1002de30
push dword [0x10052ad0]
mov esi, eax
call fcn.1002de30
pop ecx
pop ecx
mov edi, eax
test esi, esi
je 0x10039dcf
test edi, edi
je 0x10039dcf
call esi
test eax, eax
je 0x10039dc6
lea ecx, [ebp - 8]
push ecx
push 0xc
lea ecx, [ebp - 0x14]
push ecx
push 1
push eax
call edi
test eax, eax
je 0x10039dc6
test byte [ebp - 0xc], 1
jne 0x10039dcf
or dword [ebp + 0x10], 0x200000
jmp 0x10039e08
mov eax, dword [0x10052ac4]
cmp eax, ebx
je 0x10039e08
push eax
call fcn.1002de30
pop ecx
test eax, eax
je 0x10039e08
call eax
mov dword [ebp - 4], eax
test eax, eax
je 0x10039e08
mov eax, dword [0x10052ac8]
cmp eax, ebx
je 0x10039e08
push eax
call fcn.1002de30
pop ecx
test eax, eax
je 0x10039e08
push dword [ebp - 4]
call eax
mov dword [ebp - 4], eax
push dword [0x10052ac0]
call fcn.1002de30
pop ecx
test eax, eax
je 0x10039e28
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 4]
call eax
jmp 0x10039e2a
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
Function at 0x40caa0
Capabilities:
Accept command line arguments

Disassembly:
push ebx
push esi
push edi
xor ebx, ebx
xor edi, edi
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov esi, eax
mov al, byte [esi]
test al, al
je 0x40caf2
test ebx, ebx
jne 0x40cad8
movsx eax, al
push eax
call fcn.00533aaf
add esp, 4
test eax, eax
jne 0x40caf2
mov al, byte [esi]
cmp al, 0x27
je 0x40cad3
cmp al, 0x22
jne 0x40cae3
movsx ebx, al
jmp 0x40caea
movsx ecx, al
cmp ecx, ebx
jne 0x40cae3
xor ebx, ebx
jmp 0x40caea
mov byte [edi + 0x580500], al
inc edi
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x40cab5
dec edi
js 0x40cb0c
mov al, byte [edi + 0x580500]
cmp al, 0x5c
je 0x40cb08
cmp al, 0x2f
je 0x40cb08
dec edi
jns 0x40caf5
jmp 0x40cb0c
test edi, edi
jge 0x40cb21
mov byte [0x580500], 0x2e
mov byte [0x580501], 0x5c
mov edi, 2
jmp 0x40cb22
inc edi
push 0x580500
mov ecx, 0x580614
mov byte [edi + 0x580500], 0
call fcn.005267b0
push str.bikeswindscreen.tex
push str.bikes.ark
push str.pcdata_
push 0x580500
push 0x580850
call fcn.0040cbe0
push 0
push str.frontend.ogg
push str.pcdatamusic_
push 0x580500
push 0x5802b0
call fcn.0040cbe0
push 0
push str.frontend.vid
push str.pcdata_videos_
push 0x580500
push 0x580628
call fcn.0040cbe0
push 0x580500
push 0x580728
call fcn.005134f0
add esp, 0x44
push str.save_
push 0x580728
call fcn.005134c0
push 0x580500
push 0x5803c8
call fcn.005134f0
push str.soundtracks_
push 0x5803c8
call fcn.005134c0
add esp, 0x18
pop edi
pop esi
pop ebx
ret
Function at 0x40cbe0
Capabilities:
Identify system language via api
Terminate process

Disassembly:
mov eax, dword [esp + 8]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x10]
push edi
push eax
push esi
call fcn.005134f0
mov ebx, dword [esp + 0x24]
push ebx
push esi
call fcn.005134c0
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
push ecx
push edx
push esi
call fcn.0040cd70
add esp, 0x1c
test al, al
jne 0x40cd3a
push 0x100
push esi
push str.CDPath
push str.SoftwareTHQMotoGP_Demo
call fcn.00507ad0
add esp, 0x10
test al, al
je 0x40cc90
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp byte [ecx + esi - 1], 0x5c
je 0x40cc6e
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp byte [ecx + esi - 1], 0x2f
je 0x40cc6e
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov ax, word [0x553cb0]
mov word [edi - 1], ax
push ebx
push esi
call fcn.005134c0
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
push ecx
push edx
push esi
call fcn.0040cd70
add esp, 0x14
test al, al
jne 0x40cd3a
mov eax, dword [0x5c6024]
mov edi, str.Disk_not_found__Please_insert_your_MotoGP_CD
test eax, eax
mov ebp, str.Error
jne case.0x40ccc7.11
mov eax, dword [0x5c6068]
test eax, eax
jne 0x40ccb7
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
and eax, 0x3ff
add eax, 0xfffffff9
cmp eax, 9
ja case.0x40ccc7.11
xor ecx, ecx
mov cl, byte [eax + 0x40cd5c]
jmp dword [ecx*4 + 0x40cd48]
mov edi, str.Disque_introuvable__Veuillez_ins
mov ebp, str.Erreur
jmp case.0x40ccc7.11
mov edi, str.CD_nicht_gefunden__Bitte_legen_Sie_die_CD_von_MotoGP_ein
mov ebp, str.Fehler
jmp case.0x40ccc7.11
mov edi, str.Disco_non_presente__Inserisci_il_CD_di_MotoGP
mov ebp, str.Errore
jmp case.0x40ccc7.11
mov edi, 0x553b80
mov ebp, str.Error
push 5
push ebp
push edi
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 2
je 0x40cd3f
mov edx, dword [esp + 0x18]
push edx
push esi
call fcn.005134f0
push ebx
push esi
call fcn.005134c0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
push eax
push ecx
push esi
call fcn.0040cd70
add esp, 0x1c
test al, al
je 0x40cc19
pop edi
pop esi
pop ebp
pop ebx
ret
push 1
call fcn.00533b04
mov edi, edi
fcmove st(0), st(4)
inc eax
add dl, dh
int3

Function at 0x40ea60
Capabilities:
Send data
Send data on socket

Disassembly:
push ecx
push ebx
push esi
push edi
mov edi, ecx
mov ecx, dword [esp + 0x14]
xor eax, eax
xor esi, esi
cmp byte [ecx], 0
je 0x40ead4
mov ebx, dword [sym.imp.WS2_32.dll_send]
mov edx, 1
sub edx, ecx
push ebp
mov ebp, ecx
mov dword [esp + 0x10], edx
cmp byte [ebp], 0xa
jne 0x40eab9
cmp esi, eax
jle 0x40eaa0
mov edx, esi
push 0
sub edx, eax
add eax, ecx
push edx
push eax
mov eax, dword [edi]
push eax
call ebx
mov ecx, dword [edi]
push 0
push 2
push 0x554054
push ecx
call ebx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
lea eax, [edx + ebp]
mov dl, byte [ebp + 1]
inc esi
inc ebp
test dl, dl
jne 0x40ea87
cmp esi, eax
pop ebp
jle 0x40ead4
sub esi, eax
push 0
add eax, ecx
push esi
push eax
mov eax, dword [edi]
push eax
call ebx
pop edi
pop esi
pop ebx
pop ecx
ret 4
Function at 0x40f520
Capabilities:
Receive data
Receive data on socket

Disassembly:
push esi
mov esi, ecx
push 0
push 1
mov eax, dword [esi + 0x2a8]
mov edx, dword [esi]
lea ecx, [esi + eax + 0xa5]
push ecx
push edx
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 1
je 0x40f554
mov eax, dword [esi]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [esi], 0xffffffff
pop esi
ret
mov eax, dword [esi + 0x2a8]
mov dl, 3
cmp eax, 2
jne 0x40f56d
cmp byte [esi + 0xa5], dl
je 0x40f61f
mov cl, byte [eax + esi + 0xa5]
cmp cl, 0xd
je 0x40f5a3
cmp cl, 0xa
je 0x40f5a3
test cl, cl
jl 0x40f58d
movsx ecx, cl
cmp ecx, 0x80
jle 0x40f594
mov byte [eax + esi + 0xa5], dl
mov eax, dword [esi + 0x2a8]
inc eax
mov dword [esi + 0x2a8], eax
pop esi
ret
test eax, eax
je 0x40f61f
push ebx
push str.e_0_32m
push esi
call fcn.0040eae0
mov edx, dword [esi + 0x2a8]
lea eax, [esi + 0xa5]
push eax
push esi
mov byte [esi + edx + 0xa5], 0
call fcn.0040f630
push str.e_0m
push esi
mov bl, al
call fcn.0040eae0
mov ecx, dword [0x5c6074]
add esp, 0x18
push 0
push 0
push 0xf
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
test bl, bl
pop ebx
je 0x40f614
lea edx, [esi + 5]
push edx
push str._ne_1_30m_s:e_0m
push esi
call fcn.0040eae0
add esp, 0xc
mov dword [esi + 0x2a8], 0
pop esi
ret
mov eax, dword [esi]
push 1
push eax
call dword [sym.imp.WS2_32.dll_shutdown]
mov dword [esi + 0x2a8], 0
pop esi
ret

Function at 0x40f8c0
Capabilities:
Create tcp socket
Create thread
Create udp socket
Set socket configuration

Disassembly:
sub esp, 0x14
push esi
push 0x5811a8
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
cmp esi, 0xffffffff
je 0x40f952
push 0x17
mov word [esp + 0xc], 2
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0xa], ax
lea eax, [esp + 8]
push 0x10
push eax
push esi
mov dword [esp + 0x18], 0
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
jne 0x40f952
push 3
push esi
call dword [sym.imp.WS2_32.dll_listen]
test eax, eax
jne 0x40f952
lea ecx, [esp + 4]
mov dword [esp + 4], 1
push ecx
push 0x8004667e
push esi
call dword [sym.imp.WS2_32.dll_ioctlsocket]
push esi
push 0x8000
push 0x40f960
call fcn.00533d3c
add esp, 0xc
push 1
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
pop esi
add esp, 0x14
ret
Function at 0x466900
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x58
fild dword [esp + 0x5c]
push ebx
mov bl, byte [esp + 0x74]
push ebp
push esi
fstp qword [esp + 0x24]
fild dword [esp + 0x6c]
xor esi, esi
push edi
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], esi
fstp qword [esp + 0x30]
fild dword [esp + 0x74]
mov dword [esp + 0x18], esi
fstp qword [esp + 0x20]
fild dword [esp + 0x18]
fmul qword [0x55c008]
fld st(0)
fcos
fmul qword [esp + 0x20]
fadd qword [esp + 0x28]
call fcn.00533a88
fsin
mov edi, eax
mov dword [esp + 0x18], edi
fmul qword [esp + 0x20]
fsubr qword [esp + 0x30]
call fcn.00533a88
mov ebp, eax
test esi, esi
mov dword [esp + 0x1c], ebp
je 0x466a9f
fild dword [esp + 0x10]
mov al, byte [esp + 0x7c]
mov cl, byte [esp + 0x78]
mov byte [esp + 0x65], al
mov byte [esp + 0x55], al
fstp dword [esp + 0x58]
fild dword [esp + 0x14]
mov byte [esp + 0x45], al
mov byte [esp + 0x66], cl
mov byte [esp + 0x56], cl
mov byte [esp + 0x46], cl
fstp dword [esp + 0x5c]
fild dword [esp + 0x18]
lea eax, [esp + 0x74]
lea ecx, [esp + 0x80]
push eax
push ecx
fstp dword [esp + 0x50]
fild dword [esp + 0x24]
push 3
push 3
push 0
push 1
fstp dword [esp + 0x64]
fild dword [esp + 0x84]
mov dword [esp + 0x78], 0
mov byte [esp + 0x7c], bl
mov byte [esp + 0x7f], 0xff
mov dword [esp + 0x68], 0
fstp dword [esp + 0x50]
fild dword [esp + 0x88]
mov byte [esp + 0x6c], bl
mov byte [esp + 0x6f], 0xff
mov dword [esp + 0x58], 0
mov byte [esp + 0x5c], bl
fstp dword [esp + 0x54]
mov byte [esp + 0x5f], 0xff
call fcn.00462020
mov ecx, dword [esp + 0x50]
mov edx, eax
add esp, 0x18
mov dword [edx], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x40]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x44]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x48]
lea edx, [eax + 0x10]
add eax, 0x20
mov dword [edx], ecx
mov ecx, dword [esp + 0x4c]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x54]
mov dword [edx + 0xc], ecx
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov dword [eax], edx
mov edx, dword [esp + 0x60]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x80]
mov dx, word [esp + 0x74]
mov word [eax], dx
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x80]
inc ecx
mov word [edx + 2], cx
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x80]
add eax, 2
mov word [ecx + 4], ax
inc esi
mov dword [esp + 0x10], edi
cmp esi, 0x40
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], esi
jle 0x466931
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret 0x18
Function at 0x4674b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x60
push esi
push edi
mov edi, ecx
mov esi, dword [edi + 0x108]
test esi, esi
je 0x4675aa
push ebx
mov ebx, dword [esp + 0x78]
push ebp
mov ebp, dword [esp + 0x78]
fld dword [esi + 4]
fcomp dword [0x552458]
fnstsw ax
and eax, 0x4100
jne 0x46759d
fld dword [esi]
fsub qword [0x554a00]
lea edx, [esp + 0x40]
push 0xc
push edx
fstp dword [esp + 0x18]
fld dword [esi + 4]
fadd qword [0x552508]
fstp dword [esp + 0x1c]
mov eax, dword [esi]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x18]
fld dword [esi + 4]
fadd qword [0x554a00]
push eax
fstp dword [esp + 0x28]
fld dword [esi]
fadd qword [0x554a00]
fstp dword [esp + 0x2c]
fld dword [esi + 4]
fadd qword [0x552508]
fstp dword [esp + 0x30]
fld dword [esi]
fadd qword [0x552508]
fstp dword [esp + 0x34]
fld dword [esi + 4]
fadd qword [0x558068]
fstp dword [esp + 0x38]
mov ecx, dword [esi]
mov dword [esp + 0x3c], ecx
mov ecx, edi
fld dword [esi + 4]
fsub qword [0x55bff8]
fstp dword [esp + 0x40]
fld dword [esi]
fsub qword [0x552508]
fstp dword [esp + 0x44]
fld dword [esi + 4]
fadd qword [0x558068]
fstp dword [esp + 0x48]
call dword [esp + 0x8c]
test eax, eax
je 0x46759d
mov ecx, dword [esp + 0x74]
push ebx
push ebp
lea edx, [esp + 0x48]
push ecx
push edx
push 6
mov ecx, edi
call fcn.004664e0
mov esi, dword [esi + 0x2c]
test esi, esi
jne 0x4674cf
pop ebp
pop ebx
pop edi
pop esi
add esp, 0x60
ret 0x10
Function at 0x4685b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x68
push ebx
mov ebx, dword [esp + 0x78]
push ebp
mov ebp, dword [esp + 0x78]
push esi
mov esi, ecx
push edi
xor edi, edi
lea eax, [esi + 0xc8]
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x10]
cmp dword [ecx], 0
je 0x468688
fild dword [esp + 0x14]
lea edx, [edi + 1]
lea eax, [esp + 0x48]
mov dword [esp + 0x84], edx
push 8
fmul dword [0x55a5c8]
lea ecx, [esp + 0x1c]
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x28], 0x3f7ae148
mov dword [esp + 0x30], 0x3f7ae148
fst dword [esp + 0x24]
fild dword [esp + 0x90]
mov dword [esp + 0x38], 0x3f800000
mov dword [esp + 0x40], 0x3f800000
fmul dword [0x55a5c8]
fst dword [esp + 0x2c]
fstp dword [esp + 0x34]
fstp dword [esp + 0x3c]
call dword [esp + 0x94]
test eax, eax
je 0x468688
mov eax, 0x55555556
imul ebx
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x55555556
push edx
imul ebp
mov ecx, edx
mov eax, 0x55555556
shr ecx, 0x1f
add edx, ecx
lea ecx, [esp + 0x4c]
push edx
imul dword [esp + 0x84]
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push ecx
push 4
mov ecx, esi
call fcn.004664e0
mov ecx, dword [esp + 0x10]
inc edi
add ecx, 4
cmp edi, 0x10
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ecx
jl 0x4685d1
test byte [esi + 0xb4], 4
jne 0x46876a
mov eax, dword [esi + 0xb8]
test eax, eax
jne 0x46876a
fld dword [esi + 0xc0]
fsub qword [0x5549a8]
mov edx, dword [esi + 0xc0]
lea ecx, [esp + 0x48]
mov dword [esp + 0x28], edx
mov eax, edx
push 0xc
lea edx, [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esi + 0xc0]
fsub qword [0x554a00]
push ecx
push edx
mov ecx, esi
mov dword [esp + 0x28], 0x3f7ae148
mov dword [esp + 0x30], 0x3f7851ec
mov dword [esp + 0x38], 0x3f733333
fstp dword [esp + 0x2c]
fld dword [esi + 0xc0]
fadd qword [0x554a00]
mov dword [esp + 0x40], 0x3f7851ec
mov dword [esp + 0x48], 0x3f7ae148
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], 0x3f7ae148
fstp dword [esp + 0x3c]
fld dword [esi + 0xc0]
fadd qword [0x5549a8]
fstp dword [esp + 0x44]
call dword [esp + 0x94]
test eax, eax
je 0x46876a
mov eax, dword [esp + 0x7c]
push ebx
push ebp
lea ecx, [esp + 0x50]
push eax
push ecx
push 6
mov ecx, esi
call fcn.004664e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret 0x10
Function at 0x475750
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push esi
mov esi, ecx
mov ecx, dword [esi + 0x7c]
call fcn.004f1980
test al, al
je 0x475766
mov ecx, esi
call fcn.004757e0
mov ecx, dword [esi + 0x7c]
push 0
push 0x3f800000
call fcn.004f1930
push eax
mov ecx, esi
call fcn.004f2380
mov ecx, esi
pop esi
jmp fcn.004f20a0

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

Disassembly:
sub esp, 0x548
push ebx
mov ebx, ecx
lea ecx, [esp + 0x24]
call fcn.004699d0
lea eax, [esp + 0x24]
push 0
push eax
lea ecx, [esp + 0x70]
call fcn.0046b750
mov ecx, ebx
call fcn.00475d30
mov ecx, ebx
call fcn.00476390
test al, al
je 0x477685
push esi
push edi
fld dword [ebx + 0x1c0]
mov ecx, dword [ebx + 0x1bc]
mov edx, dword [ebx + 0x1ac]
mov eax, dword [ebx + 0x1d8]
mov dword [esp + 0x40], ecx
fst dword [esp + 0x30]
fstp dword [esp + 0x34]
mov ecx, dword [eax + edx*4]
lea edx, [esp + 0x70]
push ecx
push edx
call fcn.0046b8d0
mov ecx, dword [esp + 0x34]
add esp, 8
xor eax, eax
mov edx, dword [ecx + 4]
test edx, edx
ja 0x477591
mov eax, 0x1c
mov ecx, dword [ecx + 8]
mov edx, dword [ebx + 0x1b4]
lea eax, [eax + eax*4]
lea edi, [esp + 0x48]
mov dword [esp + 0x10], edx
lea esi, [ecx + eax*8]
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x4b8]
lea eax, [esp + 0xb4]
push eax
call fcn.00469af0
fld dword [esp + 0x10]
fxch st(1)
fmul qword [0x552540]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x6c]
add edx, ecx
fsubp st(1)
add edx, eax
lea eax, [esp + 0x1c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x70]
fstp dword [esp + 0x24]
fld dword [ebx + 0x1dc]
fild dword [esp + 0xc]
lea ecx, [esp + 0x24]
push eax
push ecx
lea ecx, [esp + 0x78]
fmul dword [0x55c0d0]
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
fmul dword [esp + 0x3c]
fmul qword [0x552540]
fsubp st(1)
fstp dword [esp + 0x30]
call dword [edx + 8]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x14], eax
mov edx, eax
mov dword [esp + 0x18], ecx
mov eax, ecx
lea ecx, [esp + 0x70]
mov dword [esp + 0x4c8], 8
push ecx
mov ecx, 0x5bcccc
mov dword [esp + 0x4c0], edx
mov dword [esp + 0x4c4], eax
call fcn.0046a270
mov ecx, ebx
call fcn.00475dc0
mov ecx, ebx
call fcn.00476390
test al, al
jne 0x47754a
pop edi
pop esi
lea ecx, [esp + 0x68]
call fcn.0046b810
lea ecx, [esp + 0x24]
call fcn.00469a00
pop ebx
add esp, 0x548
ret
Function at 0x48081d
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xc4
fld dword [0x55d5d4]
fstp dword [esp]
fld dword [esp + 0xc8]
fadd qword [0x554ed0]
push esi
mov esi, ecx
push edi
lea ecx, [esp + 8]
mov eax, dword [esi + 0x894]
lea edi, [esi + 0x894]
fstp dword [esp + 0xc]
fld dword [0x55d5d0]
fstp dword [esp + 0x10]
fld dword [esp + 0xd0]
fsub qword [0x554ed0]
lea edx, [esp + 0x10]
push ecx
push edx
mov ecx, edi
fstp dword [esp + 0x1c]
call dword [eax + 8]
push edi
mov ecx, 0x5bcccc
call fcn.0046a270
lea edi, [esi + 0x8e8]
mov ecx, edi
call fcn.00475d30
mov ecx, edi
call fcn.00476390
test al, al
je 0x4809b1
fld dword [esi + 0xaa0]
fmul qword [0x55d718]
lea ecx, [esp + 0x64]
fadd qword [0x55d710]
fstp dword [esp + 0x18]
call fcn.0046ed10
cmp dword [esi + 0x6ac], 0xa
jne 0x4808bd
cmp dword [esi + 0xa94], 1
jne 0x4808bd
mov eax, dword [0x5bd60c]
push 0
push eax
jmp 0x4808cd
mov ecx, dword [esi + 0xa94]
push 0
mov edx, dword [ecx*4 + 0x5bd600]
push edx
lea ecx, [esp + 0x6c]
call fcn.0046fa40
fld dword [esi + 0xa9c]
fadd dword [esp + 0x18]
sub esp, 8
fstp dword [esp + 0x10]
fld dword [esp + 0x20]
fadd dword [esp + 0xd8]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x80], edx
fstp dword [esp + 0x14]
fld dword [esi + 0xa9c]
fsub dword [esp + 0x20]
fstp dword [esp + 0x18]
fld dword [esp + 0xd8]
fsub dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x84], eax
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fadd dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x7c], ecx
lea ecx, [esp + 0x24]
fstp dword [esp + 4]
fld dword [esp + 0x18]
fadd dword [esp + 0x10]
fstp dword [esp]
call fcn.0045e750
lea ecx, [esp + 0x1c]
push 0x3f000000
lea edx, [esp + 0x60]
push ecx
push edx
call fcn.0045e770
mov ecx, dword [eax]
add esp, 0xc
mov dword [esp + 0x80], ecx
mov edx, dword [eax + 4]
lea eax, [esp + 0x64]
mov ecx, 0x5bcccc
push eax
mov dword [esp + 0x88], edx
call fcn.0046a270
lea ecx, [esp + 0x64]
call fcn.0046eda0
mov ecx, edi
call fcn.00475dc0
mov ecx, edi
call fcn.00476390
test al, al
jne 0x480882
lea ecx, [esp + 0x24]
call fcn.0046fac0
fld dword [esi + 0xa98]
fadd dword [0x55d5b8]
fstp dword [esp + 0x10]
fld dword [esp + 0xd0]
fadd dword [0x55d5b8]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x38], eax
fstp dword [esp + 0x14]
fld dword [esi + 0xa98]
fsub dword [0x55d5b8]
fstp dword [esp + 8]
fld dword [esp + 0xd0]
fsub dword [0x55d5b8]
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x24]
fstp dword [esp + 0xc]
fld dword [esp + 8]
fadd dword [esp + 0x10]
fld dword [esp + 0xc]
fadd dword [esp + 0x14]
fxch st(1)
fmul dword [0x55244c]
mov edx, dword [esp + 0xc]
push ecx
mov dword [esp + 0x38], edx
mov ecx, 0x5bcccc
fstp dword [esp + 0xc]
mov edx, dword [esp + 0xc]
fmul dword [0x55244c]
fstp dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], eax
call fcn.0046a270
pop edi
pop esi
add esp, 0xc4
ret 4
Function at 0x4caa50
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x18
push ebx
push esi
mov esi, ecx
call fcn.004b9ca0
mov eax, dword [esp + 0x24]
mov dword [esi], 0x562360
mov dword [esi + 0x48], eax
mov eax, dword [0x57fdcc]
xor ebx, ebx
mov dword [esp + 0x24], 0
cmp eax, ebx
mov dword [esp + 8], 0x3f800000
je 0x4caa94
mov dword [esp + 0x24], 0xbe000000
mov dword [esp + 8], 0x3f900000
fld dword [esp + 8]
fsub dword [esp + 0x24]
push 0x54
fmul qword [0x55de28]
fstp dword [esp + 0x10]
call fcn.00512b50
add esp, 4
cmp eax, ebx
je 0x4caabd
mov ecx, eax
call fcn.0046dff0
jmp 0x4caabf
xor eax, eax
push 0x54
mov dword [esi + 0x50], eax
call fcn.00512b50
add esp, 4
cmp eax, ebx
je 0x4caad9
mov ecx, eax
call fcn.0046dff0
jmp 0x4caadb
xor eax, eax
push 0x54
mov dword [esi + 0x54], eax
call fcn.00512b50
add esp, 4
cmp eax, ebx
je 0x4caaf5
mov ecx, eax
call fcn.0046dff0
jmp 0x4caaf7
xor eax, eax
push 0x54
mov dword [esi + 0x58], eax
call fcn.00512b50
add esp, 4
cmp eax, ebx
je 0x4cab11
mov ecx, eax
call fcn.0046dff0
jmp 0x4cab13
xor eax, eax
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 8]
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esi + 0x50]
lea edx, [esp + 0x10]
push edx
mov dword [esi + 0x5c], eax
mov dword [esp + 0x18], 0x3d666666
mov dword [esp + 0x20], 0
mov eax, dword [ecx]
lea edx, [esp + 0x1c]
push edx
call dword [eax + 8]
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], ecx
mov ecx, dword [esi + 0x54]
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x20], 0x3f400000
mov dword [esp + 0x18], 0x3f31999a
mov edx, dword [ecx]
lea eax, [esp + 0x14]
push eax
call dword [edx + 8]
fld dword [esp + 0xc]
fadd dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x18]
mov dword [esp + 0x10], ecx
mov ecx, dword [esi + 0x58]
push eax
mov dword [esp + 0x20], 0x3f31999a
fstp dword [esp + 0x1c]
mov dword [esp + 0x18], 0x3d666666
mov edx, dword [ecx]
lea eax, [esp + 0x14]
push eax
call dword [edx + 8]
fld dword [esp + 8]
mov ecx, dword [esp + 8]
lea eax, [esp + 0x18]
fsub dword [esp + 0xc]
mov dword [esp + 0x18], ecx
mov ecx, dword [esi + 0x5c]
push eax
mov dword [esp + 0x20], 0x3f31999a
mov dword [esp + 0x18], 0x3d666666
lea eax, [esp + 0x14]
fstp dword [esp + 0x14]
mov edx, dword [ecx]
push eax
call dword [edx + 8]
mov ecx, dword [esi + 0x50]
mov byte [esp + 0x24], 0xff
mov byte [esp + 0x25], bl
mov byte [esp + 0x26], bl
mov byte [esp + 0x27], 0x3c
mov eax, dword [esp + 0x24]
mov dword [ecx + 0x40], eax
mov byte [ecx + 0x48], bl
mov ecx, dword [esi + 0x54]
mov dword [ecx + 0x40], eax
mov byte [ecx + 0x48], bl
mov ecx, dword [esi + 0x58]
mov dword [ecx + 0x40], eax
mov byte [ecx + 0x48], bl
mov ecx, dword [esi + 0x5c]
mov dword [ecx + 0x40], eax
mov byte [ecx + 0x48], bl
mov dword [esi + 0x44], ebx
mov eax, esi
pop esi
pop ebx
add esp, 0x18
ret 4