joyce8/EMBER2024-capa huggingface dataset:
Function at 0x406570
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
movzx eax, word [edi + 4]
mov ecx, dword [edi + 6]
mov edx, dword [edi + 0xa]
push ebx
push esi
lea esi, [edi + 6]
mov word [ebp - 0x18], ax
movzx eax, word [esi + 8]
mov word [ebp - 0xe], ax
movzx eax, word [edi + 0x12]
mov dword [ebp - 0x16], ecx
mov cl, byte [esi + 0xa]
push eax
mov byte [ebp - 0xc], cl
push esi
push str.SELECT__FROM_GiftData_WHERE_Name_s_and__Index__d
mov ecx, 0x41ee38
mov dword [ebp - 0x1c], 0x30f16c1
mov dword [ebp - 0x12], edx
mov word [ebp - 0xa], ax
mov byte [ebp - 8], 0
mov dword [ebp - 4], 0
call fcn.00412310
add esp, 0xc
test al, al
je 0x406623
mov eax, dword [0x41ee44]
push eax
call dword [sym.imp.ODBC32.dll_SQLFetch]
cmp ax, 0x64
je 0x406623
push str.Count
call fcn.004124d0
cmp eax, 0xffffffff
jne 0x4065f4
or eax, eax
jmp 0x406606
shl eax, 0xd
add eax, 0x41fa66
push eax
call dword [sym.imp.MSVCR100.dll_atoi]
add esp, 4
mov ecx, dword [0x41ee44]
mov ebx, dword [sym.imp.ODBC32.dll_SQLCloseCursor]
push ecx
mov dword [ebp - 4], eax
call ebx
mov edx, dword [0x41ee44]
push 2
push edx
jmp 0x40666b
mov eax, dword [0x41ee44]
mov ebx, dword [sym.imp.ODBC32.dll_SQLCloseCursor]
push eax
call ebx
mov ecx, dword [0x41ee44]
push 2
push ecx
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
movzx edx, word [edi + 0x12]
push 0
push edx
push esi
push str.INSERT_INTO_GiftData__Name__Index__Count__VALUES___s__d_0_
mov ecx, 0x41ee38
call fcn.00412310
mov eax, dword [0x41ee44]
add esp, 0x10
push eax
call ebx
mov ecx, dword [0x41ee44]
push 2
push ecx
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
mov eax, dword [edi + 0x14]
cmp eax, 0xffffffff
je 0x40667e
cmp dword [ebp - 4], eax
jae 0x4066b1
movzx edx, word [edi + 0x12]
push edx
push esi
push str.UPDATE_GiftData_Set_CountCount1_WHERE_Name_s_and__Index__d
mov ecx, 0x41ee38
mov byte [ebp - 8], 1
call fcn.00412310
mov eax, dword [0x41ee44]
add esp, 0xc
push eax
call ebx
mov ecx, dword [0x41ee44]
push 2
push ecx
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x1c]
push edx
push eax
mov ebx, 0x16
call fcn.00413de0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x406a60
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1cc
mov eax, dword [0x41d018]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov cx, word [eax + 4]
mov edx, dword [eax + 6]
mov word [ebp - 0x1c2], cx
mov ecx, dword [eax + 0xa]
mov dword [ebp - 0x1bc], ecx
movzx ecx, byte [eax + 0x10]
mov dword [ebp - 0x1c0], edx
movzx edx, word [eax + 0xe]
add eax, 0x11
push ebx
mov byte [ebp - 0x1b6], cl
mov ecx, dword [eax + 4]
mov word [ebp - 0x1b8], dx
mov edx, dword [eax]
push esi
mov dword [ebp - 0x1b1], ecx
movzx ecx, byte [eax + 0xa]
push edi
mov dword [ebp - 0x1b5], edx
movzx edx, word [eax + 8]
push eax
mov byte [ebp - 0x1ab], cl
xor ebx, ebx
push str.SELECT__FROM_CustomPick_WHERE_Name_s
mov ecx, 0x41ee38
mov dword [ebp - 0x1c8], 0x13c001c2
mov byte [ebp - 0x1c4], bl
mov word [ebp - 0x1ad], dx
call fcn.00412310
add esp, 8
test al, al
je 0x406c0c
mov edx, dword [0x41ee44]
push edx
call dword [sym.imp.ODBC32.dll_SQLFetch]
cmp ax, 0x64
je 0x406c0c
push str.CustomPickList
call fcn.004124d0
cmp eax, 0xffffffff
jne 0x406b3e
push 0x190
lea eax, [ebp - 0x1aa]
push ebx
push eax
call sub.MSVCR100.dll_memset
add esp, 0xc
jmp 0x406b57
shl eax, 0xd
add eax, 0x41fa66
push eax
mov ebx, 0x190
lea edi, [ebp - 0x1aa]
call fcn.00412630
push str.Money
call fcn.004124d0
mov esi, dword [sym.imp.MSVCR100.dll_atoi]
cmp eax, 0xffffffff
jne 0x406b71
or eax, 0xffffffff
jmp 0x406b7f
shl eax, 0xd
add eax, 0x41fa66
push eax
call esi
add esp, 4
push str.Jewel
mov dword [ebp - 0x18], eax
call fcn.004124d0
cmp eax, 0xffffffff
jne 0x406b95
or eax, eax
jmp 0x406ba3
shl eax, 0xd
add eax, 0x41fa66
push eax
call esi
add esp, 4
push str.ItemExc
mov dword [ebp - 0x14], eax
call fcn.004124d0
cmp eax, 0xffffffff
jne 0x406bb9
or eax, eax
jmp 0x406bc7
shl eax, 0xd
add eax, 0x41fa66
push eax
call esi
add esp, 4
push str.ItemSet
mov dword [ebp - 0x10], eax
call fcn.004124d0
cmp eax, 0xffffffff
jne 0x406bdd
or eax, eax
jmp 0x406beb
shl eax, 0xd
add eax, 0x41fa66
push eax
call esi
add esp, 4
mov ecx, dword [0x41ee44]
push ecx
mov dword [ebp - 0xc], eax
call dword [sym.imp.ODBC32.dll_SQLCloseCursor]
mov edx, dword [0x41ee44]
push 2
push edx
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
jmp 0x406c48
mov eax, dword [0x41ee44]
push eax
call dword [sym.imp.ODBC32.dll_SQLCloseCursor]
mov ecx, dword [0x41ee44]
push 2
push ecx
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
push 0x190
lea edx, [ebp - 0x1aa]
push ebx
push edx
call sub.MSVCR100.dll_memset
add esp, 0xc
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], ebx
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x1c8]
push eax
push ecx
mov ebx, 0x1c0
call fcn.00413de0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00415636
mov esp, ebp
pop ebp
ret 8
Function at 0x406c70
Capabilities:
Reference sql statements

Disassembly:
push ebx
push edi
lea edi, [esi + 0x13]
push edi
push str.SELECT_Name_FROM_CustomPick_WHERE_Name_s
mov ecx, 0x41ee38
call fcn.00412310
add esp, 8
test al, al
je 0x406d3e
mov eax, dword [0x41ee44]
push eax
call dword [sym.imp.ODBC32.dll_SQLFetch]
cmp ax, 0x64
je 0x406d3e
mov ecx, dword [0x41ee44]
mov ebx, dword [sym.imp.ODBC32.dll_SQLCloseCursor]
push ecx
call ebx
mov edx, dword [0x41ee44]
push 2
push edx
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
mov ecx, dword [0x41ee44]
push 0x4e7bf8
push 0
lea eax, [esi + 0x1e]
push eax
push 0
push 0x190
push 0xfffffffffffffffd
push 0xfffffffffffffffe
push 1
push 1
push ecx
mov dword [0x4e7bf8], 0x190
call dword [sym.imp.ODBC32.dll_SQLBindParameter]
mov edx, dword [esi + 0x1bc]
mov eax, dword [esi + 0x1b8]
mov ecx, dword [esi + 0x1b4]
push edi
push edx
mov edx, dword [esi + 0x1b0]
push eax
push ecx
push edx
push str.UPDATE_CustomPick_SET_CustomPickList___Money_d__Jewel_d__ItemExc_d__ItemSet_d__WHERE_Name_s
mov ecx, 0x41ee38
call fcn.00412310
mov eax, dword [0x41ee44]
add esp, 0x18
push eax
call ebx
mov ecx, dword [0x41ee44]
push 2
push ecx
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
pop edi
pop ebx
ret
mov edx, dword [0x41ee44]
mov ebx, dword [sym.imp.ODBC32.dll_SQLCloseCursor]
push edx
call ebx
mov eax, dword [0x41ee44]
push 2
push eax
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
mov edx, dword [0x41ee44]
push 0x4e7bf8
push 0
lea ecx, [esi + 0x1e]
push ecx
push 0
push 0x190
push 0xfffffffffffffffd
push 0xfffffffffffffffe
push 1
push 1
push edx
mov dword [0x4e7bf8], 0x190
call dword [sym.imp.ODBC32.dll_SQLBindParameter]
mov eax, dword [esi + 0x1bc]
mov ecx, dword [esi + 0x1b8]
mov edx, dword [esi + 0x1b4]
push eax
mov eax, dword [esi + 0x1b0]
push ecx
push edx
push eax
push edi
push str.INSERT_INTO_CustomPick__Name_CustomPickList_Money_Jewel_ItemExc_ItemSet__VALUES___s____d__d__d__d_
mov ecx, 0x41ee38
call fcn.00412310
mov ecx, dword [0x41ee44]
add esp, 0x18
push ecx
call ebx
mov edx, dword [0x41ee44]
push 2
push edx
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
pop edi
pop ebx
ret
Function at 0x407220
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push esi
push edi
push 0
mov edi, dword [sym.imp.USER32.dll_CreateWindowExA]
mov esi, eax
push esi
push 0
push 0
push 0x258
push 0x258
push 0
push SQLBindCol
push 0xa0000
push 0x41ed08
push 0x41eca0
push 0
mov dword [0x41ec9c], esi
call edi
mov dword [0x41ec98], eax
test eax, eax
jne 0x407270
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0
push esi
push 0x6a
push eax
push 0
push 0
push 0
push 0
push 0x50000000
push 0
push str.msctls_statusbar32
push 0
call edi
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
mov esi, eax
push 0
push esi
call edi
lea eax, [ebp - 8]
push eax
push 2
push 0x404
push esi
mov dword [ebp - 8], 0x7a
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp + 8]
mov edx, dword [0x41ec98]
push ecx
push edx
call edi
mov eax, dword [0x41ec98]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
pop edi
mov eax, 1
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x407ee0
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, eax
push edi
xor eax, eax
push str.SELECT_ItemCount_FROM_GameServerInfo_WHERE_Number0
mov ecx, 0x41ee38
mov dword [ebp - 0xc], 0x10008c1
mov dword [ebp - 8], eax
call fcn.00412310
add esp, 4
test al, al
je 0x407f65
mov eax, dword [0x41ee44]
push eax
call dword [sym.imp.ODBC32.dll_SQLFetch]
cmp ax, 0x64
je 0x407f65
push str.ItemCount
call fcn.004124d0
cmp eax, 0xffffffff
jne 0x407f32
or eax, eax
jmp 0x407f44
shl eax, 0xd
add eax, 0x41fa66
push eax
call dword [sym.imp.MSVCR100.dll_atoi]
add esp, 4
mov ecx, dword [0x41ee44]
push ecx
mov dword [ebp - 8], eax
call dword [sym.imp.ODBC32.dll_SQLCloseCursor]
mov edx, dword [0x41ee44]
push 2
push edx
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
jmp 0x407fa9
mov eax, dword [0x41ee44]
mov edi, dword [sym.imp.ODBC32.dll_SQLCloseCursor]
push eax
call edi
mov ecx, dword [0x41ee44]
mov ebx, dword [sym.imp.ODBC32.dll_SQLFreeStmt]
push 2
push ecx
call ebx
push str.INSERT_INTO_GameServerInfo__Number_ItemCount_ZenCount_AceItemCount__VALUES__0_0_0_0_
mov ecx, 0x41ee38
call fcn.00412310
mov edx, dword [0x41ee44]
add esp, 4
push edx
call edi
mov eax, dword [0x41ee44]
push 2
push eax
call ebx
lea ecx, [ebp - 0xc]
push ecx
push esi
mov ebx, 8
call fcn.00413de0
imul esi, esi, 0x68
mov eax, dword [ebp + 8]
movzx ebx, word [eax + 0x38]
movzx edi, word [eax + 4]
add eax, 6
push eax
add esi, 0x4e7d88
lea ecx, [esi + 0x28]
push 0x32
push ecx
mov dword [ebp + 8], ecx
call dword [sym.imp.MSVCR100.dll_strcpy_s]
mov ecx, dword [ebp + 8]
push ebx
push edi
mov word [esi + 0x5a], di
mov word [esi + 0x5c], bx
add esi, 0xc
push esi
push ecx
push str._SocketUDP__GameServer_connected___s____s:_d___d_
push 2
call fcn.00414770
add esp, 0x24
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x408a40
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov eax, dword [0x41d018]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov cx, word [eax + 4]
mov edx, dword [eax + 6]
push ebx
lea ebx, [eax + 6]
mov word [ebp - 0x50], cx
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x4e], edx
mov dx, word [ebx + 8]
mov dword [ebp - 0x4a], ecx
mov cl, byte [ebx + 0xa]
add eax, 0x11
mov word [ebp - 0x46], dx
push esi
mov word [ebp - 0x54], 0x12c1
mov byte [ebp - 0x52], 3
mov byte [ebp - 0x44], cl
mov dword [ebp - 0x58], eax
xor edx, edx
lea esp, [esp]
mov cl, byte [eax + edx]
cmp cl, 0x20
je 0x408bec
cmp cl, 0x22
je 0x408bec
cmp cl, 0x27
je 0x408bec
inc edx
cmp edx, 0xb
jl 0x408a90
push eax
push ebx
push str.EXEC_WZ_DeleteCharacter__s__s
mov ecx, 0x41ee38
call fcn.00412310
add esp, 0xc
test al, al
je 0x408bec
mov edx, dword [0x41ee44]
mov esi, dword [sym.imp.ODBC32.dll_SQLFetch]
push edx
call esi
cmp ax, 0x64
je 0x408bec
push 0x41fa66
call dword [sym.imp.MSVCR100.dll_atoi]
mov byte [ebp - 0x43], al
mov eax, dword [0x41ee44]
add esp, 4
push eax
call dword [sym.imp.ODBC32.dll_SQLCloseCursor]
mov ecx, dword [0x41ee44]
push 2
push ecx
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
cmp byte [ebp - 0x43], 1
jne 0x408c0c
push 0x36
lea edx, [ebp - 0x3b]
push 0
push edx
mov byte [ebp - 0x3c], 0
call sub.MSVCR100.dll_memset
push ebx
push str.SELECT__FROM_AccountCharacter_WHERE_Id_s
mov ecx, 0x41ee38
call fcn.00412310
add esp, 0x14
test al, al
je 0x408be1
mov eax, dword [0x41ee44]
push eax
call esi
cmp ax, 0x64
je 0x408be1
push edi
mov esi, 0xb
lea edi, [ebp - 0x3c]
mov eax, str.GameID1
call fcn.00412580
lea edi, [ebp - 0x31]
mov eax, str.GameID2
call fcn.00412580
lea edi, [ebp - 0x26]
mov eax, str.GameID3
call fcn.00412580
lea edi, [ebp - 0x1b]
mov eax, str.GameID4
call fcn.00412580
lea edi, [ebp - 0x10]
mov eax, str.GameID5
call fcn.00412580
call fcn.004124b0
mov edx, dword [ebp - 0x58]
lea ecx, [ebp - 0x3d]
push ecx
push edx
lea eax, [ebp - 0x3c]
call fcn.00414840
add esp, 8
pop edi
test al, al
je 0x408c0c
movzx eax, byte [ebp - 0x3d]
push ebx
inc eax
push eax
push str.UPDATE_AccountCharacter_SET_GameID_dNULL_WHERE_Id_s
mov ecx, 0x41ee38
call fcn.00412310
add esp, 0xc
call fcn.004124b0
jmp 0x408c0c
call fcn.004124b0
mov byte [ebp - 0x43], 1
jmp 0x408c0c
mov ecx, dword [0x41ee44]
push ecx
call dword [sym.imp.ODBC32.dll_SQLCloseCursor]
mov edx, dword [0x41ee44]
push 2
push edx
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
mov byte [ebp - 0x43], 0
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x54]
push eax
push ecx
mov ebx, 0x12
call fcn.00413de0
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.00415636
mov esp, ebp
pop ebp
ret
Function at 0x409740
Capabilities:
Enumerate pe sections
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov ecx, dword [esi + 6]
movzx eax, word [esi + 4]
mov edx, dword [esi + 0xa]
mov dword [ebp - 0x2e], ecx
movzx ecx, byte [esi + 0x10]
mov word [ebp - 0x30], ax
movzx eax, word [esi + 0xe]
mov byte [ebp - 0x24], cl
movzx ecx, byte [esi + 0x13]
push ebx
mov dword [ebp - 0x2a], edx
mov dl, byte [esi + 0x11]
mov word [ebp - 0x26], ax
mov al, byte [esi + 0x12]
push edi
mov byte [ebp - 0x21], cl
push str.EXEC_WZ_GetItemSerial
mov ecx, 0x41ee38
mov word [ebp - 0x34], 0x30c1
mov byte [ebp - 0x32], 7
mov byte [ebp - 0x23], dl
mov byte [ebp - 0x22], al
call fcn.00412310
add esp, 4
test al, al
je 0x4097e3
mov edx, dword [0x41ee44]
push edx
call dword [sym.imp.ODBC32.dll_SQLFetch]
cmp ax, 0x64
je 0x4097e3
push 0x41fa66
call dword [sym.imp.MSVCR100.dll_atoi]
mov edi, dword [sym.imp.ODBC32.dll_SQLCloseCursor]
mov dword [ebp - 0x20], eax
mov eax, dword [0x41ee44]
add esp, 4
push eax
call edi
mov ecx, dword [0x41ee44]
mov ebx, dword [sym.imp.ODBC32.dll_SQLFreeStmt]
push 2
push ecx
call ebx
jmp 0x409809
mov edx, dword [0x41ee44]
mov edi, dword [sym.imp.ODBC32.dll_SQLCloseCursor]
push edx
call edi
mov eax, dword [0x41ee44]
mov ebx, dword [sym.imp.ODBC32.dll_SQLFreeStmt]
push 2
push eax
call ebx
mov dword [ebp - 0x20], 0
movzx eax, word [esi + 0x14]
mov ecx, 0x1a04
cmp ax, cx
je 0x409825
mov edx, 0x1a05
cmp ax, dx
jne 0x4098a7
mov eax, dword [ebp - 0x20]
push eax
push str.SELECT_ItemSerial_FROM_T_PetItem_Info_WHERE_ItemSerial_d
mov ecx, 0x41ee38
call fcn.00412310
add esp, 8
test al, al
je 0x409865
mov ecx, dword [0x41ee44]
push ecx
call dword [sym.imp.ODBC32.dll_SQLFetch]
cmp ax, 0x64
je 0x409865
mov edx, dword [0x41ee44]
push edx
call edi
mov eax, dword [0x41ee44]
push 2
push eax
jmp 0x4098a5
mov ecx, dword [0x41ee44]
push ecx
call edi
mov edx, dword [0x41ee44]
push 2
push edx
call ebx
mov eax, dword [ebp - 0x20]
push 0
push 1
push eax
push str.INSERT_INTO_T_PetItem_Info__ItemSerial_Pet_Level_Pet_Exp__VALUES___d__d__d_
mov ecx, 0x41ee38
call fcn.00412310
mov ecx, dword [0x41ee44]
add esp, 0x10
push ecx
call edi
mov edx, dword [0x41ee44]
push 2
push edx
call ebx
mov ax, word [esi + 0x14]
movzx ecx, byte [esi + 0x16]
movzx edx, byte [esi + 0x17]
mov word [ebp - 0x1c], ax
movzx eax, byte [esi + 0x18]
mov byte [ebp - 0x1a], cl
movzx ecx, byte [esi + 0x19]
mov byte [ebp - 0x18], al
movzx eax, byte [esi + 0x1b]
mov byte [ebp - 0x17], cl
mov cx, word [esi + 0x1c]
mov byte [ebp - 0x19], dl
movzx edx, byte [esi + 0x1a]
mov byte [ebp - 0x15], al
movzx eax, byte [esi + 0x1f]
mov word [ebp - 0x14], cx
movzx ecx, byte [esi + 0x20]
mov byte [ebp - 0x16], dl
movzx edx, byte [esi + 0x1e]
mov byte [ebp - 0x11], al
movzx eax, byte [esi + 0x25]
mov byte [ebp - 0x10], cl
movzx ecx, byte [esi + 0x26]
mov byte [ebp - 0x12], dl
mov edx, dword [esi + 0x21]
mov byte [ebp - 0xb], al
lea eax, [ebp - 0x34]
mov byte [ebp - 0xa], cl
mov ecx, dword [ebp + 8]
mov dword [ebp - 0xf], edx
mov edx, dword [esi + 0x28]
push eax
push ecx
mov ebx, 0x30
mov dword [ebp - 8], edx
call fcn.00413de0
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x409930
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [0x41d018]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov cx, word [eax + 4]
mov edx, dword [eax + 6]
mov word [ebp - 0x2c], cx
mov ecx, dword [eax + 0xa]
mov dword [ebp - 0x26], ecx
movzx ecx, byte [eax + 0x10]
mov dword [ebp - 0x2a], edx
movzx edx, word [eax + 0xe]
add eax, 0x11
mov byte [ebp - 0x20], cl
mov ecx, dword [eax + 4]
mov word [ebp - 0x22], dx
mov edx, dword [eax]
mov dword [ebp - 0x1b], ecx
movzx ecx, byte [eax + 0xa]
push ebx
mov dword [ebp - 0x1f], edx
movzx edx, word [eax + 8]
push eax
mov byte [ebp - 0x15], cl
push str.SELECT__FROM_OptionData_WHERE_Name_s
mov ecx, 0x41ee38
mov word [ebp - 0x30], 0x2cc1
mov byte [ebp - 0x2e], 8
mov word [ebp - 0x17], dx
call fcn.00412310
add esp, 8
test al, al
je 0x409acf
mov edx, dword [0x41ee44]
push edx
call dword [sym.imp.ODBC32.dll_SQLFetch]
cmp ax, 0x64
je 0x409acf
push str.SkillKey
call fcn.004124d0
cmp eax, 0xffffffff
jne 0x4099dd
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov word [ebp - 0xc], ax
jmp 0x4099f5
shl eax, 0xd
push edi
add eax, 0x41fa66
push eax
mov ebx, 0xa
lea edi, [ebp - 0x14]
call fcn.00412630
pop edi
push esi
push str.GameOption
call fcn.004124d0
mov esi, dword [sym.imp.MSVCR100.dll_atoi]
cmp eax, 0xffffffff
jne 0x409a10
or eax, 0xffffffff
jmp 0x409a1e
shl eax, 0xd
add eax, 0x41fa66
push eax
call esi
add esp, 4
push str.Qkey
mov byte [ebp - 0xa], al
call fcn.004124d0
cmp eax, 0xffffffff
jne 0x409a34
or eax, eax
jmp 0x409a42
shl eax, 0xd
add eax, 0x41fa66
push eax
call esi
add esp, 4
push str.Wkey
mov byte [ebp - 9], al
call fcn.004124d0
cmp eax, 0xffffffff
jne 0x409a58
or eax, eax
jmp 0x409a66
shl eax, 0xd
add eax, 0x41fa66
push eax
call esi
add esp, 4
push str.Ekey
mov byte [ebp - 8], al
call fcn.004124d0
cmp eax, 0xffffffff
jne 0x409a7c
or eax, eax
jmp 0x409a8a
shl eax, 0xd
add eax, 0x41fa66
push eax
call esi
add esp, 4
push str.ChatWindow
mov byte [ebp - 7], al
call fcn.004124d0
cmp eax, 0xffffffff
jne 0x409aa0
or eax, eax
jmp 0x409aae
shl eax, 0xd
add eax, 0x41fa66
push eax
call esi
add esp, 4
mov byte [ebp - 6], al
mov eax, dword [0x41ee44]
push eax
call dword [sym.imp.ODBC32.dll_SQLCloseCursor]
mov ecx, dword [0x41ee44]
push 2
push ecx
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
pop esi
jmp 0x409afe
mov edx, dword [0x41ee44]
push edx
call dword [sym.imp.ODBC32.dll_SQLCloseCursor]
mov eax, dword [0x41ee44]
push 2
push eax
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
or eax, 0xffffffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov word [ebp - 0xc], ax
mov dword [ebp - 0xa], eax
mov byte [ebp - 6], 6
mov edx, dword [ebp + 0xc]
movzx ebx, byte [ebp - 0x2f]
lea ecx, [ebp - 0x30]
push ecx
push edx
call fcn.00413de0
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.00415636
mov esp, ebp
pop ebp
ret
Function at 0x409f10
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
movzx eax, word [esi + 4]
mov ecx, dword [esi + 6]
mov edx, dword [esi + 0xa]
mov word [ebp - 0x20], ax
movzx eax, word [esi + 0xe]
push ebx
push edi
lea edi, [esi + 0x11]
mov word [ebp - 0x16], ax
mov eax, dword [edi + 4]
mov dword [ebp - 0x1e], ecx
mov cl, byte [esi + 0x10]
mov dword [ebp - 0xf], eax
movzx eax, word [esi + 0x1c]
mov dword [ebp - 0x1a], edx
mov edx, dword [edi]
mov byte [ebp - 0x14], cl
mov cx, word [edi + 8]
push eax
mov dword [ebp - 0x13], edx
mov dl, byte [edi + 0xa]
mov word [ebp - 0xb], cx
push edi
push str.SELECT__FROM_MonsterKillCount_WHERE_Name_s_and_MonsterClass_d
mov ecx, 0x41ee38
mov word [ebp - 0x24], 0x20c1
mov byte [ebp - 0x22], 0x50
mov byte [ebp - 9], dl
mov word [ebp - 8], ax
call fcn.00412310
add esp, 0xc
test al, al
je 0x40a008
mov ecx, dword [0x41ee44]
push ecx
call dword [sym.imp.ODBC32.dll_SQLFetch]
cmp ax, 0x64
je 0x40a008
push str.MonsterKillCount
call fcn.004124d0
cmp eax, 0xffffffff
jne 0x409faa
or eax, eax
jmp 0x409fbc
shl eax, 0xd
add eax, 0x41fa66
push eax
call dword [sym.imp.MSVCR100.dll_atoi]
add esp, 4
mov edx, dword [0x41ee44]
lea ebx, [eax + 1]
push edx
mov word [ebp - 6], bx
call dword [sym.imp.ODBC32.dll_SQLCloseCursor]
mov eax, dword [0x41ee44]
push 2
push eax
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
movzx ecx, word [esi + 0x1c]
push ecx
movzx edx, bx
push edi
push edx
push str.UPDATE_MonsterKillCount_SET_MonsterKillCount_d_WHERE_Name_s_and_MonsterClass_d
mov ecx, 0x41ee38
call fcn.00412310
mov eax, dword [0x41ee44]
add esp, 0x10
push eax
call dword [sym.imp.ODBC32.dll_SQLCloseCursor]
jmp 0x40a050
mov eax, dword [0x41ee44]
mov ebx, dword [sym.imp.ODBC32.dll_SQLCloseCursor]
mov edx, 1
push eax
mov word [ebp - 6], dx
call ebx
mov ecx, dword [0x41ee44]
push 2
push ecx
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
movzx edx, word [esi + 0x1c]
push 1
push edx
push edi
push str.INSERT_INTO_MonsterKillCount__Name_MonsterClass_MonsterKillCount__VALUES___s__d__d_
mov ecx, 0x41ee38
call fcn.00412310
mov eax, dword [0x41ee44]
add esp, 0x10
push eax
call ebx
mov ecx, dword [0x41ee44]
push 2
push ecx
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x24]
push edx
push eax
mov ebx, 0x20
call fcn.00413de0
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x40a360
Capabilities:
Reference sql statements

Disassembly:
push ebx
push edi
lea edi, [esi + 0x11]
push edi
push str.SELECT_Name_FROM_OptionData_WHERE_Name_s
mov ecx, 0x41ee38
call fcn.00412310
add esp, 8
test al, al
je 0x40a429
mov eax, dword [0x41ee44]
push eax
call dword [sym.imp.ODBC32.dll_SQLFetch]
cmp ax, 0x64
je 0x40a429
mov ecx, dword [0x41ee44]
mov ebx, dword [sym.imp.ODBC32.dll_SQLCloseCursor]
push ecx
call ebx
mov edx, dword [0x41ee44]
push 2
push edx
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
mov ecx, dword [0x41ee44]
push 0x4e7bf8
push 0
lea eax, [esi + 0x1c]
push eax
push 0
push 0xa
push 0xfffffffffffffffd
push 0xfffffffffffffffe
push 1
push 1
push ecx
mov dword [0x4e7bf8], 0xa
call dword [sym.imp.ODBC32.dll_SQLBindParameter]
movzx edx, byte [esi + 0x2a]
movzx eax, byte [esi + 0x29]
movzx ecx, byte [esi + 0x28]
push edi
push edx
movzx edx, byte [esi + 0x27]
push eax
movzx eax, byte [esi + 0x26]
push ecx
push edx
push eax
push str.UPDATE_OptionData_SET_SkillKey__GameOption_d_Qkey_d_Wkey_d_Ekey_d_ChatWindow_d_WHERE_Name_s
mov ecx, 0x41ee38
call fcn.00412310
mov ecx, dword [0x41ee44]
add esp, 0x1c
push ecx
call ebx
mov edx, dword [0x41ee44]
push 2
push edx
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
pop edi
pop ebx
ret
mov eax, dword [0x41ee44]
mov ebx, dword [sym.imp.ODBC32.dll_SQLCloseCursor]
push eax
call ebx
mov ecx, dword [0x41ee44]
push 2
push ecx
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
mov eax, dword [0x41ee44]
push 0x4e7bf8
push 0
lea edx, [esi + 0x1c]
push edx
push 0
push 0xa
push 0xfffffffffffffffd
push 0xfffffffffffffffe
push 1
push 1
push eax
mov dword [0x4e7bf8], 0xa
call dword [sym.imp.ODBC32.dll_SQLBindParameter]
movzx ecx, byte [esi + 0x2a]
movzx edx, byte [esi + 0x29]
movzx eax, byte [esi + 0x28]
push ecx
movzx ecx, byte [esi + 0x27]
push edx
movzx edx, byte [esi + 0x26]
push eax
push ecx
push edx
push edi
push str.INSERT_INTO_OptionData__Name_SkillKey_GameOption_Qkey_Wkey_Ekey_ChatWindow__VALUES___s____d__d__d__d__d_
mov ecx, 0x41ee38
call fcn.00412310
mov eax, dword [0x41ee44]
add esp, 0x1c
push eax
call ebx
mov ecx, dword [0x41ee44]
push 2
push ecx
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
pop edi
pop ebx
ret