joyce8/EMBER2024-capa huggingface dataset:
Function at 0x47ca20
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57f526
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x5b107c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
push esi
mov dword [ebp - 0x34], esi
call fcn.00421860
lea edi, [esi + 0x238]
mov dword [ebp - 4], 0
mov ecx, edi
mov dword [esi], vtable.CUniqueItemCurseCancellationDlg.0
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], edi
call fcn.004236f0
push 0xffffffffffffffff
xor ebx, ebx
push ebx
push 0x28
push 0x28
mov byte [ebp - 4], 1
push ebx
mov eax, 0x8b
push ebx
mov ecx, edi
mov dword [edi], vtable.CVirtualItem.0
mov dword [edi + 0x2a4], ebx
mov word [edi + 0xc], ax
call fcn.004238b0
xor ecx, ecx
mov dword [esi + 0x234], ebx
mov word [esi + 0x4e0], cx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], vtable.cImage.0
lea edx, [ebp - 0x30]
push edx
xor eax, eax
lea ecx, [ebx + 0x3f]
mov byte [ebp - 4], 3
call fcn.0042b870
lea ebx, [edi + 0x50]
call fcn.00428e10
xor eax, eax
lea esi, [ebx + 0x10]
lea edi, [ebp - 0x30]
mov word [ebx + 0xc], ax
mov dword [ebx + 0x30], 0xffffff
call fcn.00401a10
mov esi, dword [ebp - 0x38]
mov dword [ebx + 0x34], 0x33517d
push 0x5861b8
mov eax, ebx
mov dword [esi + 0xa0], 0xdc
call fcn.00429230
xor ecx, ecx
mov eax, esi
call fcn.00402ba0
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005762ee
mov esp, ebp
pop ebp
ret

Function at 0x47d100
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57f526
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x5b107c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
push esi
mov dword [ebp - 0x34], esi
call fcn.00421860
lea edi, [esi + 0x238]
mov dword [ebp - 4], 0
mov ecx, edi
mov dword [esi], vtable.CUniqueItemMixDlg.0
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], edi
call fcn.004236f0
push 0xffffffffffffffff
xor ebx, ebx
push ebx
push 0x28
push 0x28
mov byte [ebp - 4], 1
push ebx
mov eax, 0x8b
push ebx
mov ecx, edi
mov dword [edi], vtable.CVirtualItem.0
mov dword [edi + 0x2a4], ebx
mov word [edi + 0xc], ax
call fcn.004238b0
mov dword [esi + 0x234], ebx
mov dword [esi + 0x4e4], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], vtable.cImage.0
lea ecx, [ebp - 0x30]
push ecx
xor eax, eax
lea ecx, [ebx + 0x3f]
mov byte [ebp - 4], 3
call fcn.0042b870
lea ebx, [edi + 0x50]
call fcn.00428e10
xor edx, edx
lea esi, [ebx + 0x10]
lea edi, [ebp - 0x30]
mov word [ebx + 0xc], dx
mov dword [ebx + 0x30], 0xffffff
call fcn.00401a10
mov esi, dword [ebp - 0x38]
mov dword [ebx + 0x34], 0x33517d
push 0x5861b8
mov eax, ebx
mov dword [esi + 0xa0], 0xdc
call fcn.00429230
xor ecx, ecx
mov eax, esi
call fcn.00402ba0
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005762ee
mov esp, ebp
pop ebp
ret
Function at 0x47fe50
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
cmp dword [ebp + 8], 1
push ebx
mov ebx, ecx
jne 0x47febd
mov eax, dword [0x65fab8]
add eax, 0x1d4c0
cmp dword [0x65fadc], 0
push esi
mov dword [ebx + 0x254], eax
lea esi, [ebx + 0x2a0]
je 0x47fe92
mov eax, dword [esi + 4]
test eax, eax
je 0x47fe92
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esi + 4], 0
push edi
mov edi, str.ANRaster.tga
call fcn.0043f400
cmp dword [ebx + 0x34], 0
pop edi
je 0x47feab
mov esi, ebx
call fcn.0043b240
pop esi
cmp dword [ebx + 0x14], 0
jne 0x47feb8
mov eax, dword [ebp + 8]
mov dword [ebx + 0x10], eax
pop ebx
pop ebp
ret 4
cmp dword [0x65fadc], 0
je 0x47fee2
mov eax, dword [ebx + 0x2a4]
test eax, eax
je 0x47fee2
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebx + 0x2a4], 0
push str.ANRaster.tga
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x47feac
Function at 0x485b80
Capabilities:
Set current directory

Disassembly:
push ebx
mov ebx, eax
mov al, byte [ebx + 0x128]
cmp al, 1
jne 0x485baf
cmp dword [ebx + 0x404], 0
jne 0x485ba7
cmp dword [ebx + 0x40c], 0
jne 0x485ba7
mov ecx, ebx
pop ebx
jmp fcn.00484da0
mov ecx, ebx
pop ebx
jmp fcn.004855f0
cmp al, 0x20
je 0x485bea
cmp al, 0x29
je 0x485bea
cmp al, 0x80
jne 0x485bc3
mov ecx, ebx
pop ebx
jmp fcn.00485310
cmp al, 2
jne 0x485bcf
mov ecx, ebx
pop ebx
jmp fcn.00485040
cmp al, 8
je 0x485bef
cmp al, 0x21
jne 0x485bde
call fcn.00484e80
pop ebx
ret
cmp al, 0x26
je 0x485bea
cmp al, 0x27
je 0x485bea
cmp al, 0x28
jne 0x485bef
call fcn.00484f40
pop ebx
ret
Function at 0x497de0
Capabilities:
Print debug messages

Disassembly:
push ebx
push edi
push 0x80
lea ebx, [esi + 0x18]
push str.CPlayer
push ebx
call dword [sym.imp.MSVCR100.dll_strncpy]
lea eax, [esi + 4]
add esp, 0xc
cmp dword [eax], 0
mov dword [esi + 0xc], 0x32
jne 0x497e1c
push eax
mov edi, 0x1f4
call fcn.00498d00
mov eax, dword [esi + 4]
add esp, 4
mov dword [esi + 8], eax
push 0x32
push 0x1f4
push ebx
lea edi, [esi + 0x9c]
push str._MemoryPooltempl__s_
push edi
mov dword [esi + 0x98], 0x1f4
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x14
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [esi + 0x98]
mov edx, dword [esi + 0x14]
lea ecx, [eax*4]
push ecx
push eax
mov eax, dword [esi + 0xc]
push edx
push eax
push 0x1f4
push ebx
push str.__s__Init_t_d_t_d_t_d_t_d_t_d_n
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
push edi
call fcn.00574d40
add esp, 0x24
pop edi
pop ebx
ret

Function at 0x497e80
Capabilities:
Print debug messages

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 8]
test eax, eax
jne 0x497e8c
pop esi
ret
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x497ea5
dec ecx
mov dword [eax + 0x10], ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
test eax, eax
jne 0x497f8a
mov ecx, dword [esi + 8]
mov eax, dword [ecx + 0x14]
push ebx
push edi
test eax, eax
jne 0x497f1a
mov edi, dword [esi + 0xc]
lea ebx, [esi + 4]
push ebx
call fcn.00498d00
mov edx, dword [ebx]
mov ecx, dword [esi + 0x14]
inc dword [esi + 0x10]
mov eax, dword [esi + 0x10]
push ecx
mov dword [esi + 8], edx
mov edx, dword [esi + 0xc]
push edx
push eax
lea ebx, [esi + 0x18]
push ebx
lea edi, [esi + 0x9c]
push 0x588a30
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x1c
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [esi + 0xc]
add dword [esi + 0x98], eax
mov ecx, dword [esi + 0x98]
lea edx, [ecx*4]
push edx
mov edx, dword [esi + 0x10]
push ecx
mov ecx, dword [esi + 0x14]
push ecx
push eax
push edx
push ebx
push str.__s__Increse_t_d_t_d_t_d_t_d_t_d_n
jmp 0x497f70
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x14]
push eax
push ecx
push edx
lea ebx, [esi + 0x18]
push ebx
lea edi, [esi + 0x9c]
push str.___s_alloc_Band
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x18
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [esi + 0xc]
sub dword [esi + 0x98], eax
mov ecx, dword [esi + 0x98]
lea edx, [ecx*4]
push edx
mov edx, dword [esi + 0x10]
push ecx
mov ecx, dword [esi + 0x14]
push ecx
push eax
push edx
push ebx
push str.__s__Decrese_t_d_t_d_t_d_t_d_t_d_n
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
push edi
call fcn.00574d40
add esp, 0x24
pop edi
pop ebx
mov ecx, esi
pop esi
jmp fcn.00497e80
inc dword [esi + 0x14]
pop esi
ret
Function at 0x497fc0
Capabilities:
Print debug messages

Disassembly:
push ebx
push edi
push 0x80
lea ebx, [esi + 0x18]
push str.CMonster
push ebx
call dword [sym.imp.MSVCR100.dll_strncpy]
lea eax, [esi + 4]
add esp, 0xc
cmp dword [eax], 0
mov dword [esi + 0xc], 0x32
jne 0x497ffc
push eax
mov edi, 0x1f4
call fcn.00498e20
mov eax, dword [esi + 4]
add esp, 4
mov dword [esi + 8], eax
push 0x32
push 0x1f4
push ebx
lea edi, [esi + 0x9c]
push str._MemoryPooltempl__s_
push edi
mov dword [esi + 0x98], 0x1f4
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x14
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [esi + 0x98]
mov edx, dword [esi + 0x14]
lea ecx, [eax*4]
push ecx
push eax
mov eax, dword [esi + 0xc]
push edx
push eax
push 0x1f4
push ebx
push str.__s__Init_t_d_t_d_t_d_t_d_t_d_n
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
push edi
call fcn.00574d40
add esp, 0x24
pop edi
pop ebx
ret

Function at 0x498060
Capabilities:
Print debug messages

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 8]
test eax, eax
jne 0x49806c
pop esi
ret
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x498085
dec ecx
mov dword [eax + 0x10], ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
test eax, eax
jne 0x49816a
mov ecx, dword [esi + 8]
mov eax, dword [ecx + 0x14]
push ebx
push edi
test eax, eax
jne 0x4980fa
mov edi, dword [esi + 0xc]
lea ebx, [esi + 4]
push ebx
call fcn.00498e20
mov edx, dword [ebx]
mov ecx, dword [esi + 0x14]
inc dword [esi + 0x10]
mov eax, dword [esi + 0x10]
push ecx
mov dword [esi + 8], edx
mov edx, dword [esi + 0xc]
push edx
push eax
lea ebx, [esi + 0x18]
push ebx
lea edi, [esi + 0x9c]
push 0x588a30
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x1c
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [esi + 0xc]
add dword [esi + 0x98], eax
mov ecx, dword [esi + 0x98]
lea edx, [ecx*4]
push edx
mov edx, dword [esi + 0x10]
push ecx
mov ecx, dword [esi + 0x14]
push ecx
push eax
push edx
push ebx
push str.__s__Increse_t_d_t_d_t_d_t_d_t_d_n
jmp 0x498150
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x14]
push eax
push ecx
push edx
lea ebx, [esi + 0x18]
push ebx
lea edi, [esi + 0x9c]
push str.___s_alloc_Band
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x18
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [esi + 0xc]
sub dword [esi + 0x98], eax
mov ecx, dword [esi + 0x98]
lea edx, [ecx*4]
push edx
mov edx, dword [esi + 0x10]
push ecx
mov ecx, dword [esi + 0x14]
push ecx
push eax
push edx
push ebx
push str.__s__Decrese_t_d_t_d_t_d_t_d_t_d_n
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
push edi
call fcn.00574d40
add esp, 0x24
pop edi
pop ebx
mov ecx, esi
pop esi
jmp fcn.00498060
inc dword [esi + 0x14]
pop esi
ret
Function at 0x4981a0
Capabilities:
Print debug messages

Disassembly:
push ebx
push edi
push 0x80
lea ebx, [esi + 0x18]
push str.CNpc
push ebx
call dword [sym.imp.MSVCR100.dll_strncpy]
lea eax, [esi + 4]
add esp, 0xc
cmp dword [eax], 0
mov dword [esi + 0xc], 0x32
jne 0x4981dc
push eax
mov edi, 0x64
call fcn.00498f40
mov eax, dword [esi + 4]
add esp, 4
mov dword [esi + 8], eax
push 0x32
push 0x64
push ebx
lea edi, [esi + 0x9c]
push str._MemoryPooltempl__s_
push edi
mov dword [esi + 0x98], 0x64
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x14
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [esi + 0x98]
mov edx, dword [esi + 0x14]
lea ecx, [eax*4]
push ecx
push eax
mov eax, dword [esi + 0xc]
push edx
push eax
push 0x64
push ebx
push str.__s__Init_t_d_t_d_t_d_t_d_t_d_n
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
push edi
call fcn.00574d40
add esp, 0x24
pop edi
pop ebx
ret

Function at 0x498240
Capabilities:
Print debug messages

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 8]
test eax, eax
jne 0x49824c
pop esi
ret
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x498265
dec ecx
mov dword [eax + 0x10], ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
test eax, eax
jne 0x49834a
mov ecx, dword [esi + 8]
mov eax, dword [ecx + 0x14]
push ebx
push edi
test eax, eax
jne 0x4982da
mov edi, dword [esi + 0xc]
lea ebx, [esi + 4]
push ebx
call fcn.00498f40
mov edx, dword [ebx]
mov ecx, dword [esi + 0x14]
inc dword [esi + 0x10]
mov eax, dword [esi + 0x10]
push ecx
mov dword [esi + 8], edx
mov edx, dword [esi + 0xc]
push edx
push eax
lea ebx, [esi + 0x18]
push ebx
lea edi, [esi + 0x9c]
push 0x588a30
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x1c
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [esi + 0xc]
add dword [esi + 0x98], eax
mov ecx, dword [esi + 0x98]
lea edx, [ecx*4]
push edx
mov edx, dword [esi + 0x10]
push ecx
mov ecx, dword [esi + 0x14]
push ecx
push eax
push edx
push ebx
push str.__s__Increse_t_d_t_d_t_d_t_d_t_d_n
jmp 0x498330
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x14]
push eax
push ecx
push edx
lea ebx, [esi + 0x18]
push ebx
lea edi, [esi + 0x9c]
push str.___s_alloc_Band
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x18
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [esi + 0xc]
sub dword [esi + 0x98], eax
mov ecx, dword [esi + 0x98]
lea edx, [ecx*4]
push edx
mov edx, dword [esi + 0x10]
push ecx
mov ecx, dword [esi + 0x14]
push ecx
push eax
push edx
push ebx
push str.__s__Decrese_t_d_t_d_t_d_t_d_t_d_n
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
push edi
call fcn.00574d40
add esp, 0x24
pop edi
pop ebx
mov ecx, esi
pop esi
jmp fcn.00498240
inc dword [esi + 0x14]
pop esi
ret
Function at 0x498380
Capabilities:
Print debug messages

Disassembly:
push ebx
push edi
push 0x80
lea ebx, [esi + 0x18]
push str.CTactic
push ebx
call dword [sym.imp.MSVCR100.dll_strncpy]
lea eax, [esi + 4]
add esp, 0xc
cmp dword [eax], 0
mov dword [esi + 0xc], 0x32
jne 0x4983bc
push eax
mov edi, 0x64
call fcn.00499060
mov eax, dword [esi + 4]
add esp, 4
mov dword [esi + 8], eax
push 0x32
push 0x64
push ebx
lea edi, [esi + 0x9c]
push str._MemoryPooltempl__s_
push edi
mov dword [esi + 0x98], 0x64
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x14
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [esi + 0x98]
mov edx, dword [esi + 0x14]
lea ecx, [eax*4]
push ecx
push eax
mov eax, dword [esi + 0xc]
push edx
push eax
push 0x64
push ebx
push str.__s__Init_t_d_t_d_t_d_t_d_t_d_n
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
push edi
call fcn.00574d40
add esp, 0x24
pop edi
pop ebx
ret

Function at 0x498420
Capabilities:
Print debug messages

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 8]
test eax, eax
jne 0x49842c
pop esi
ret
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x498445
dec ecx
mov dword [eax + 0x10], ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
test eax, eax
jne 0x49852a
mov ecx, dword [esi + 8]
mov eax, dword [ecx + 0x14]
push ebx
push edi
test eax, eax
jne 0x4984ba
mov edi, dword [esi + 0xc]
lea ebx, [esi + 4]
push ebx
call fcn.00499060
mov edx, dword [ebx]
mov ecx, dword [esi + 0x14]
inc dword [esi + 0x10]
mov eax, dword [esi + 0x10]
push ecx
mov dword [esi + 8], edx
mov edx, dword [esi + 0xc]
push edx
push eax
lea ebx, [esi + 0x18]
push ebx
lea edi, [esi + 0x9c]
push 0x588a30
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x1c
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [esi + 0xc]
add dword [esi + 0x98], eax
mov ecx, dword [esi + 0x98]
lea edx, [ecx*4]
push edx
mov edx, dword [esi + 0x10]
push ecx
mov ecx, dword [esi + 0x14]
push ecx
push eax
push edx
push ebx
push str.__s__Increse_t_d_t_d_t_d_t_d_t_d_n
jmp 0x498510
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x14]
push eax
push ecx
push edx
lea ebx, [esi + 0x18]
push ebx
lea edi, [esi + 0x9c]
push str.___s_alloc_Band
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x18
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [esi + 0xc]
sub dword [esi + 0x98], eax
mov ecx, dword [esi + 0x98]
lea edx, [ecx*4]
push edx
mov edx, dword [esi + 0x10]
push ecx
mov ecx, dword [esi + 0x14]
push ecx
push eax
push edx
push ebx
push str.__s__Decrese_t_d_t_d_t_d_t_d_t_d_n
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
push edi
call fcn.00574d40
add esp, 0x24
pop edi
pop ebx
mov ecx, esi
pop esi
jmp fcn.00498420
inc dword [esi + 0x14]
pop esi
ret
Function at 0x498560
Capabilities:
Print debug messages

Disassembly:
push ebx
push edi
push 0x80
lea ebx, [esi + 0x18]
push str.CBossMonster
push ebx
call dword [sym.imp.MSVCR100.dll_strncpy]
lea eax, [esi + 4]
add esp, 0xc
cmp dword [eax], 0
mov dword [esi + 0xc], 0x32
jne 0x49859c
push eax
mov edi, 0x1f4
call fcn.00499180
mov eax, dword [esi + 4]
add esp, 4
mov dword [esi + 8], eax
push 0x32
push 0x1f4
push ebx
lea edi, [esi + 0x9c]
push str._MemoryPooltempl__s_
push edi
mov dword [esi + 0x98], 0x1f4
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x14
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [esi + 0x98]
mov edx, dword [esi + 0x14]
lea ecx, [eax*4]
push ecx
push eax
mov eax, dword [esi + 0xc]
push edx
push eax
push 0x1f4
push ebx
push str.__s__Init_t_d_t_d_t_d_t_d_t_d_n
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
push edi
call fcn.00574d40
add esp, 0x24
pop edi
pop ebx
ret

Function at 0x498600
Capabilities:
Print debug messages

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 8]
test eax, eax
jne 0x49860c
pop esi
ret
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x498625
dec ecx
mov dword [eax + 0x10], ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
test eax, eax
jne 0x49870a
mov ecx, dword [esi + 8]
mov eax, dword [ecx + 0x14]
push ebx
push edi
test eax, eax
jne 0x49869a
mov edi, dword [esi + 0xc]
lea ebx, [esi + 4]
push ebx
call fcn.00499180
mov edx, dword [ebx]
mov ecx, dword [esi + 0x14]
inc dword [esi + 0x10]
mov eax, dword [esi + 0x10]
push ecx
mov dword [esi + 8], edx
mov edx, dword [esi + 0xc]
push edx
push eax
lea ebx, [esi + 0x18]
push ebx
lea edi, [esi + 0x9c]
push 0x588a30
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x1c
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [esi + 0xc]
add dword [esi + 0x98], eax
mov ecx, dword [esi + 0x98]
lea edx, [ecx*4]
push edx
mov edx, dword [esi + 0x10]
push ecx
mov ecx, dword [esi + 0x14]
push ecx
push eax
push edx
push ebx
push str.__s__Increse_t_d_t_d_t_d_t_d_t_d_n
jmp 0x4986f0
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x14]
push eax
push ecx
push edx
lea ebx, [esi + 0x18]
push ebx
lea edi, [esi + 0x9c]
push str.___s_alloc_Band
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x18
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [esi + 0xc]
sub dword [esi + 0x98], eax
mov ecx, dword [esi + 0x98]
lea edx, [ecx*4]
push edx
mov edx, dword [esi + 0x10]
push ecx
mov ecx, dword [esi + 0x14]
push ecx
push eax
push edx
push ebx
push str.__s__Decrese_t_d_t_d_t_d_t_d_t_d_n
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
push edi
call fcn.00574d40
add esp, 0x24
pop edi
pop ebx
mov ecx, esi
pop esi
jmp fcn.00498600
inc dword [esi + 0x14]
pop esi
ret
Function at 0x498740
Capabilities:
Print debug messages

Disassembly:
push ebx
push edi
push 0x80
lea ebx, [esi + 0x18]
push 0x590288
push ebx
call dword [sym.imp.MSVCR100.dll_strncpy]
lea eax, [esi + 4]
add esp, 0xc
cmp dword [eax], 0
mov dword [esi + 0xc], 0x32
jne 0x49877c
push eax
mov edi, 0x12c
call fcn.004992a0
mov eax, dword [esi + 4]
add esp, 4
mov dword [esi + 8], eax
push 0x32
push 0x12c
push ebx
lea edi, [esi + 0x9c]
push str._MemoryPooltempl__s_
push edi
mov dword [esi + 0x98], 0x12c
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x14
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [esi + 0x98]
mov edx, dword [esi + 0x14]
lea ecx, [eax*4]
push ecx
push eax
mov eax, dword [esi + 0xc]
push edx
push eax
push 0x12c
push ebx
push str.__s__Init_t_d_t_d_t_d_t_d_t_d_n
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
push edi
call fcn.00574d40
add esp, 0x24
pop edi
pop ebx
ret

Function at 0x4987e0
Capabilities:
Print debug messages

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 8]
test eax, eax
jne 0x4987ec
pop esi
ret
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x498805
dec ecx
mov dword [eax + 0x10], ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
test eax, eax
jne 0x4988ea
mov ecx, dword [esi + 8]
mov eax, dword [ecx + 0x14]
push ebx
push edi
test eax, eax
jne 0x49887a
mov edi, dword [esi + 0xc]
lea ebx, [esi + 4]
push ebx
call fcn.004992a0
mov edx, dword [ebx]
mov ecx, dword [esi + 0x14]
inc dword [esi + 0x10]
mov eax, dword [esi + 0x10]
push ecx
mov dword [esi + 8], edx
mov edx, dword [esi + 0xc]
push edx
push eax
lea ebx, [esi + 0x18]
push ebx
lea edi, [esi + 0x9c]
push 0x588a30
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x1c
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [esi + 0xc]
add dword [esi + 0x98], eax
mov ecx, dword [esi + 0x98]
lea edx, [ecx*4]
push edx
mov edx, dword [esi + 0x10]
push ecx
mov ecx, dword [esi + 0x14]
push ecx
push eax
push edx
push ebx
push str.__s__Increse_t_d_t_d_t_d_t_d_t_d_n
jmp 0x4988d0
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x14]
push eax
push ecx
push edx
lea ebx, [esi + 0x18]
push ebx
lea edi, [esi + 0x9c]
push str.___s_alloc_Band
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x18
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [esi + 0xc]
sub dword [esi + 0x98], eax
mov ecx, dword [esi + 0x98]
lea edx, [ecx*4]
push edx
mov edx, dword [esi + 0x10]
push ecx
mov ecx, dword [esi + 0x14]
push ecx
push eax
push edx
push ebx
push str.__s__Decrese_t_d_t_d_t_d_t_d_t_d_n
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
push edi
call fcn.00574d40
add esp, 0x24
pop edi
pop ebx
mov ecx, esi
pop esi
jmp fcn.004987e0
inc dword [esi + 0x14]
pop esi
ret