Function at 0x1000f090
Capabilities:
Read file on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10065b2b
mov eax, dword fs:[0]
push eax
sub esp, 0x2bc
mov eax, dword [0x1008c880]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x224], ecx
push 0x1006a330
push str..DataLocalItemPriceSystem.bmd
call fcn.1004d39f
add esp, 8
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0
jne 0x1000f0fe
push 0x10
push 0x1006a358
push str.ItemPriceSystem.bmd_file_not_found
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 2
push 0
mov eax, dword [ebp - 0x228]
push eax
call fcn.1004d9b3
add esp, 0xc
mov ecx, dword [ebp - 0x228]
push ecx
call fcn.1004e012
add esp, 4
mov dword [ebp - 0x23c], eax
mov edx, dword [ebp - 0x228]
push edx
call fcn.1004e1d8
add esp, 4
mov eax, dword [ebp - 0x23c]
push eax
call fcn.100463f9
add esp, 4
mov dword [ebp - 0x24c], eax
mov ecx, dword [ebp - 0x24c]
mov dword [ebp - 0x230], ecx
mov edx, dword [ebp - 0x228]
push edx
mov eax, dword [ebp - 0x23c]
push eax
push 1
mov ecx, dword [ebp - 0x230]
push ecx
call fcn.1004d58f
add esp, 0x10
mov edx, dword [ebp - 0x228]
push edx
call fcn.1004d2b8
add esp, 4
mov dword [ebp - 0x22c], 0
jmp 0x1000f19f
mov eax, dword [ebp - 0x22c]
add eax, 1
mov dword [ebp - 0x22c], eax
mov ecx, dword [ebp - 0x22c]
cmp ecx, dword [ebp - 0x23c]
jge 0x1000f1e8
mov edx, dword [ebp - 0x22c]
and edx, 0x8000001f
jns 0x1000f1c0
dec edx
or edx, 0xffffffe0
inc edx
movzx eax, byte [edx + 0x1008c494]
mov ecx, dword [ebp - 0x230]
add ecx, dword [ebp - 0x22c]
movsx edx, byte [ecx]
xor edx, eax
mov eax, dword [ebp - 0x230]
add eax, dword [ebp - 0x22c]
mov byte [eax], dl
jmp 0x1000f190
lea ecx, [ebp - 0x218]
call fcn.10040d30
mov dword [ebp - 4], 0
push 0
push 0x74
mov ecx, dword [ebp - 0x23c]
push ecx
mov edx, dword [ebp - 0x230]
push edx
lea eax, [ebp - 0x2c8]
push eax
lea ecx, [ebp - 0x218]
call fcn.100418e0
cmp dword [ebp - 0x2c8], 0
je 0x1000f259
mov ecx, dword [ebp - 0x230]
mov dword [ebp - 0x250], ecx
mov edx, dword [ebp - 0x250]
push edx
call fcn.10046402
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x218]
call fcn.10040e10
jmp 0x1000f816
push str.ItemPriceSystem
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0x218]
call fcn.100412b0
push str.ItemSell
lea ecx, [ebp - 0x240]
push ecx
lea ecx, [ebp - 0x244]
call fcn.100412b0
push 0
push 0x1006a3a0
lea edx, [ebp - 0x298]
push edx
lea ecx, [ebp - 0x240]
call fcn.10041240
mov ecx, eax
call fcn.10041170
mov ecx, dword [ebp - 0x224]
mov byte [ecx + 0x18], al
push 0
push str.SellOptionSpec
lea edx, [ebp - 0x2b0]
push edx
lea ecx, [ebp - 0x240]
call fcn.10041240
mov ecx, eax
call fcn.10041170
mov ecx, dword [ebp - 0x224]
mov byte [ecx + 0x19], al
mov edx, dword [ebp - 0x224]
movzx eax, byte [edx + 0x18]
test eax, eax
je 0x1000f506
push 0x1006a3b8
lea ecx, [ebp - 0x21c]
push ecx
lea ecx, [ebp - 0x240]
call fcn.100412b0
jmp 0x1000f31e
lea edx, [ebp - 0x2b4]
push edx
lea ecx, [ebp - 0x21c]
call fcn.10041c10
mov eax, dword [eax]
mov dword [ebp - 0x21c], eax
lea ecx, [ebp - 0x21c]
call fcn.10040e50
test eax, eax
je 0x1000f506
lea ecx, [ebp - 0x140]
call fcn.1000eb40
mov byte [ebp - 4], 1
push 0
push 0x1006a3c0
lea ecx, [ebp - 0x2b8]
push ecx
lea ecx, [ebp - 0x21c]
call fcn.10041240
mov ecx, eax
call fcn.100411f0
mov byte [ebp - 0x150], al
push 0
push 0x1006a3c4
lea edx, [ebp - 0x25c]
push edx
lea ecx, [ebp - 0x21c]
call fcn.10041240
mov ecx, eax
call fcn.100411f0
mov word [ebp - 0x14e], ax
push 0
push 0x1006a3cc
lea eax, [ebp - 0x260]
push eax
lea ecx, [ebp - 0x21c]
call fcn.10041240
mov ecx, eax
call fcn.100411f0
mov word [ebp - 0x14c], ax
push 0
push 0x1006a3d4
lea ecx, [ebp - 0x264]
push ecx
lea ecx, [ebp - 0x21c]
call fcn.10041240
mov ecx, eax
call fcn.100411f0
mov byte [ebp - 0x14a], al
push 0
push 0x1006a3e0
lea edx, [ebp - 0x268]
push edx
lea ecx, [ebp - 0x21c]
call fcn.10041240
mov ecx, eax
call fcn.100411f0
mov dword [ebp - 0x148], eax
push 0
push str.ExcOption
lea eax, [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x21c]
call fcn.10041240
mov ecx, eax
call fcn.100411f0
mov byte [ebp - 0x144], al
push 0
push str.SetOption
lea ecx, [ebp - 0x270]
push ecx
lea ecx, [ebp - 0x21c]
call fcn.10041240
mov ecx, eax
call fcn.100411f0
mov byte [ebp - 0x143], al
push 0x1006a329
push str.ExcCode
lea edx, [ebp - 0x274]
push edx
lea ecx, [ebp - 0x21c]
call fcn.10041240
mov ecx, eax
call fcn.10041220
push eax
lea ecx, [ebp - 0x140]
call fcn.1000d510
push 0
push str.SetTier
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x21c]
call fcn.10041240
mov ecx, eax
call fcn.100411f0
mov byte [ebp - 0x128], al
push 0
push 0x1006a414
lea ecx, [ebp - 0x27c]
push ecx
lea ecx, [ebp - 0x21c]
call fcn.10041240
mov ecx, eax
call fcn.100411f0
mov byte [ebp - 0x127], al
movzx edx, byte [ebp - 0x150]
shl edx, 9
movzx eax, word [ebp - 0x14e]
add edx, eax
mov dword [ebp - 0x280], edx
lea ecx, [ebp - 0x150]
push ecx
mov ecx, dword [ebp - 0x224]
call fcn.1000f910
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x140]
call fcn.10006850
jmp 0x1000f304
push str.ItemBuy
lea edx, [ebp - 0x248]
push edx
lea ecx, [ebp - 0x244]
call fcn.100412b0
push 0
push 0x1006a428
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0x248]
call fcn.10041240
mov ecx, eax
call fcn.10041170
mov ecx, dword [ebp - 0x224]
mov byte [ecx + 0x1a], al
mov edx, dword [ebp - 0x224]
movzx eax, byte [edx + 0x1a]
test eax, eax
je 0x1000f69f
push 0x1006a430
lea ecx, [ebp - 0x220]
push ecx
lea ecx, [ebp - 0x248]
call fcn.100412b0
jmp 0x1000f58b
lea edx, [ebp - 0x288]
push edx
lea ecx, [ebp - 0x220]
call fcn.10041c10
mov eax, dword [eax]
mov dword [ebp - 0x220], eax
lea ecx, [ebp - 0x220]
call fcn.10040e50
test eax, eax
je 0x1000f69f
push 0
push 0x1006a438
lea ecx, [ebp - 0x28c]
push ecx
lea ecx, [ebp - 0x220]
call fcn.10041240
mov ecx, eax
call fcn.100411f0
mov byte [ebp - 0x124], al
push 0
push 0x1006a43c
lea edx, [ebp - 0x290]
push edx
lea ecx, [ebp - 0x220]
call fcn.10041240
mov ecx, eax
call fcn.100411f0
mov word [ebp - 0x122], ax
push 0
push str.ItemMinLevel
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x220]
call fcn.10041240
mov ecx, eax
call fcn.100411f0
mov word [ebp - 0x120], ax
push 0
push str.ItemMaxLevel
lea ecx, [ebp - 0x2ac]
push ecx
lea ecx, [ebp - 0x220]
call fcn.10041240
mov ecx, eax
call fcn.100411f0
mov word [ebp - 0x11e], ax
push 0
push str.CoinType
lea edx, [ebp - 0x29c]
push edx
lea ecx, [ebp - 0x220]
call fcn.10041240
mov ecx, eax
call fcn.100411f0
mov byte [ebp - 0x11c], al
push 0
push str.CoinValue
lea eax, [ebp - 0x2a0]
push eax
lea ecx, [ebp - 0x220]
call fcn.10041240
mov ecx, eax
call fcn.100411f0
mov dword [ebp - 0x118], eax
lea ecx, [ebp - 0x124]
push ecx
mov ecx, dword [ebp - 0x224]
add ecx, 0xc
call fcn.1000f8e0
jmp 0x1000f571
push 0x1006a47c
lea edx, [ebp - 0x254]
push edx
lea ecx, [ebp - 0x244]
call fcn.100412b0
push 0x1006a484
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x254]
call fcn.100412b0
jmp 0x1000f6e9
lea ecx, [ebp - 0x2a4]
push ecx
lea ecx, [ebp - 0x234]
call fcn.10041c10
mov edx, dword [eax]
mov dword [ebp - 0x234], edx
lea ecx, [ebp - 0x234]
call fcn.10040e50
test eax, eax
je 0x1000f7e9
push 0
push 0x1006a48c
lea eax, [ebp - 0x2a8]
push eax
lea ecx, [ebp - 0x234]
call fcn.10041240
mov ecx, eax
call fcn.100411f0
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 0
jl 0x1000f734
cmp dword [ebp - 0x238], 6
jl 0x1000f78d
push 0x100
push 0
lea ecx, [ebp - 0x110]
push ecx
call fcn.100491f0
add esp, 0xc
push 5
push str.String_ID_out_of_bound:_Min_0__Max__d
lea edx, [ebp - 0x110]
push edx
call fcn.1000eb10
add esp, 0xc
push 0
push 0x1006a4b8
lea eax, [ebp - 0x110]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x218]
call fcn.10040e10
jmp 0x1000f816
imul ecx, dword [ebp - 0x238], 0x24
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x238]
mov dword [edx + ecx + 0x1c], eax
push 0x1006a32a
push 0x1006a4c0
lea ecx, [ebp - 0x2bc]
push ecx
lea ecx, [ebp - 0x234]
call fcn.10041240
mov ecx, eax
call fcn.10041220
push eax
push 0x1e
imul edx, dword [ebp - 0x238], 0x24
mov eax, dword [ebp - 0x224]
lea ecx, [eax + edx + 0x20]
push ecx
call fcn.1004e202
add esp, 0xc
jmp 0x1000f6cf
mov edx, dword [ebp - 0x230]
mov dword [ebp - 0x258], edx
mov eax, dword [ebp - 0x258]
push eax
call fcn.10046402
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x218]
call fcn.10040e10
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100463c8
mov esp, ebp
pop ebp
ret