Function at 0x4326c0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x18c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x130], eax
mov ecx, dword [eax + 0x1c8]
test ecx, ecx
je 0x432810
cmp dword [ecx + 8], 0
je 0x432810
mov edx, 0
mov dword [ebp - 0x134], edx
jle 0x4327f4
mov esi, dword [eax + 0xf8]
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x150], ebx
mov dword [ebp - 0x148], esi
mov dword [ebp - 0x154], eax
lea esi, [esi]
movzx esi, word [ebp - 0x134]
xor edi, edi
mov ebx, dword [ebp - 0x148]
mov dword [ebp - 0x138], edi
mov eax, dword [ebx + 8]
movsx edx, word [eax + 0xa]
cmp esi, edx
jge 0x432753
mov edi, esi
mov edx, dword [ebx + 0x14]
shl edi, 6
sub edi, esi
lea ebx, [edx + edi*2]
mov dword [ebp - 0x138], ebx
mov eax, dword [ebp - 0x134]
test eax, eax
js 0x43276d
mov ebx, dword [ecx + 8]
dec ebx
cmp ebx, dword [ebp - 0x134]
jge 0x432ac1
xor ecx, ecx
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 0x13c]
mov dword [esp], edx
call method.s_BALANCE.clear__
mov edi, dword [ebp - 0x130]
xor edx, edx
mov ecx, dword [edi + 0xf8]
mov dword [ebp - 0x148], ecx
mov ebx, dword [ecx + 8]
movsx eax, word [ebx + 0xa]
cmp esi, eax
jge 0x4327b5
mov ecx, dword [ebp - 0x148]
mov eax, esi
shl eax, 4
add eax, esi
mov ebx, dword [ecx + 0xc]
lea edx, [ebx + eax*4]
cmp byte [edx + 0x2c], 1
je 0x432820
xor eax, eax
test al, al
jne 0x432860
inc dword [ebp - 0x134]
mov eax, dword [ebp - 0x130]
add dword [ebp - 0x154], 0x2f
mov esi, dword [ebp - 0x134]
mov ecx, dword [eax + 0x1c8]
add dword [ebp - 0x150], 0x22
cmp dword [ecx + 8], esi
jg 0x432720
test ecx, ecx
je 0x432810
mov edi, dword [ecx + 8]
test edi, edi
jne 0x432bba
lea esi, [esi]
lea edi, [edi]
add esp, 0x18c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [ebp - 0x148]
mov edx, dword [ebx + 8]
movsx edi, word [edx + 0xa]
xor edx, edx
cmp esi, edi
jge 0x43283d
mov eax, dword [ebx + 0x10]
mov edx, esi
shl edx, 5
add edx, eax
cmp byte [edx + 1], 0x41
mov eax, 1
jne 0x4327bb
test al, al
je 0x4327c5
lea esi, [esi]
lea edi, [edi]
mov edi, dword [ebp - 0x138]
mov ecx, dword [edi + 0xa]
mov eax, dword [edi + 0xe]
mov ebx, dword [edi + 0x12]
mov dword [ebp - 0x15c], eax
add eax, ecx
mov dword [ebp - 0x14c], ebx
mov dword [ebp - 0x140], eax
add eax, ebx
mov ebx, 0xaaaaaaab
mul ebx
mov eax, dword [ebp - 0x14c]
mov edi, edx
mov edx, dword [ebp - 0x13c]
shr edi, 1
mov dword [edx + 0xe], edi
lea edx, [ecx + eax]
mov eax, dword [ebp - 0x15c]
add eax, eax
sub edx, eax
mov eax, edx
mul ebx
mov eax, dword [ebp - 0x13c]
shr edx, 1
lea edx, [edi + edx]
mov dword [eax + 0x1f], edx
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x144], edx
lea edx, [ecx + ecx]
sub edx, eax
mov eax, dword [ebp - 0x15c]
sub edx, eax
mov eax, edx
mul ebx
mov eax, dword [ebp - 0x15c]
mov ebx, edi
mov edi, dword [ebp - 0x144]
shr edx, 1
sub ecx, eax
sub ebx, edx
mov edx, dword [ebp - 0x13c]
mov eax, ebx
add edi, ecx
sub eax, ecx
mov ecx, 0x55555556
mov dword [edx + 0xa], edi
mov edi, dword [ebp - 0x140]
mov dword [edx + 0x12], eax
mov dword [edx + 0x27], ebx
mov edx, dword [ebp - 0x14c]
add edx, edx
sub edx, edi
mov dword [ebp - 0x16c], edx
mov eax, dword [ebp - 0x16c]
mov edi, dword [ebp - 0x16c]
imul ecx
sar edi, 0x1f
mov ecx, edx
sub ecx, edi
mov edi, dword [ebp - 0x148]
mov edx, dword [edi + 8]
movsx eax, word [edx + 0xa]
xor edx, edx
cmp esi, eax
jge 0x432954
mov eax, esi
mov edx, dword [edi + 0xc]
shl eax, 4
add eax, esi
lea edx, [edx + eax*4]
mov edx, dword [edx + 0x38]
test edx, edx
jne 0x432963
mov edx, dword [ebp - 0x14c]
xor ecx, ecx
mov eax, dword [ebp - 0x14c]
mov edi, dword [ebp - 0x13c]
add eax, eax
sub eax, edx
mov dword [edi + 0x17], eax
mov eax, dword [ebp - 0x14c]
add eax, ecx
cmp eax, edx
jb 0x432ad6
mov eax, ecx
sar eax, 0x1f
mov edx, eax
xor edx, ecx
sub edx, eax
mov ecx, dword [ebp - 0x144]
mov byte [edi + 0x16], 1
sub ebx, edx
mov dword [edi + 0x1b], ebx
mov ebx, edx
shr ebx, 0x1f
add edx, ebx
sar edx, 1
add edx, ecx
mov dword [edi + 0x23], edx
mov eax, dword [ebp - 0x130]
mov edx, dword [eax + 0xf8]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x148], edx
xor edx, edx
movsx ebx, word [ecx + 0xa]
cmp esi, ebx
jge 0x4329e0
mov ecx, dword [ebp - 0x148]
mov ebx, esi
shl ebx, 4
add ebx, esi
mov edi, dword [ecx + 0xc]
lea edx, [edi + ebx*4]
cmp byte [edx + 0x2c], 1
je 0x432a90
xor eax, eax
test al, al
je 0x4327c5
mov ecx, dword [ebp - 0x138]
mov esi, dword [ebp - 0x138]
add ecx, 0x16
movzx eax, byte [ecx + 1]
movzx edx, byte [esi + 0x16]
movzx edi, byte [ecx + 2]
movzx ebx, byte [ecx + 3]
shl eax, 8
or eax, edx
shl edi, 0x10
and ebx, 0x3f
or edi, eax
shl ebx, 0x18
or ebx, edi
je 0x4327c5
mov edi, dword [ebp - 0x134]
mov ebx, dword [ebp - 0x130]
test edi, edi
mov edx, dword [ebx + 0x1c4]
js 0x432a51
mov ecx, dword [edx + 8]
dec ecx
cmp ecx, dword [ebp - 0x134]
jge 0x432b03
xor eax, eax
movsx edx, word [eax + 0x20]
mov ecx, dword [ebp - 0x13c]
movzx eax, word [ecx + 0x2b]
test ax, ax
jne 0x432b66
mov word [ecx + 0x2b], dx
mov edi, dword [ebp - 0x13c]
movzx eax, word [edi + 0x2d]
test ax, ax
jne 0x432b12
mov word [edi + 0x2d], dx
jmp 0x4327c5
mov ebx, dword [ebp - 0x148]
mov edx, dword [ebx + 8]
movsx eax, word [edx + 0xa]
xor edx, edx
cmp esi, eax
jge 0x432aad
mov edx, esi
mov esi, dword [ebx + 0x10]
shl edx, 5
add edx, esi
cmp byte [edx + 1], 0x41
mov eax, 1
jne 0x4329ea
jmp 0x4329ec
mov edi, dword [ebp - 0x154]
mov edx, dword [ecx]
add edi, edx
mov dword [ebp - 0x13c], edi
jmp 0x432775
mov edi, ecx
sar edi, 0x1f
mov edx, edi
xor edx, ecx
sub edx, edi
mov edi, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x13c]
lea eax, [edx + edx]
sub ebx, eax
add edx, edi
mov dword [ecx + 0x1b], ebx
mov dword [ecx + 0x23], edx
mov byte [ecx + 0x16], 0xff
jmp 0x4329ae
mov eax, dword [ebp - 0x150]
mov esi, dword [edx]
add eax, esi
jmp 0x432a53
push ax
fild word [esp]
mov word [esp], dx
mov edx, dword [ebp - 0x13c]
fild word [esp]
fxch st(1)
add esp, 2
fmul qword [0x532f78]
fxch st(1)
fnstcw word [ebp - 0x12a]
fmul qword [0x532f80]
movzx ebx, word [ebp - 0x12a]
or bx, 0xc00
faddp st(1)
mov word [ebp - 0x12c], bx
fldcw word [ebp - 0x12c]
fistp word [edx + 0x2d]
fldcw word [ebp - 0x12a]
jmp 0x4327c5
push ax
mov eax, dword [ebp - 0x13c]
fild word [esp]
mov word [esp], dx
fild word [esp]
fxch st(1)
add esp, 2
fmul qword [0x532f68]
fxch st(1)
fnstcw word [ebp - 0x12a]
fmul qword [0x532f70]
movzx edi, word [ebp - 0x12a]
or di, 0xc00
faddp st(1)
mov word [ebp - 0x12c], di
fldcw word [ebp - 0x12c]
fistp word [eax + 0x2b]
fldcw word [ebp - 0x12a]
jmp 0x432a6e
mov esi, dword [ebp - 0x130]
xor eax, eax
lea ebx, [ebp - 0x128]
mov dword [esp + 0x10], ebx
mov edi, str.balance.dat
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
movzx edx, word [esi]
mov dword [esp], 0x5631e0
mov dword [esp + 4], edx
call method.c_HQserver.makeDataFilePath_unsigned_short__char_const__char_const__char_
mov dword [esp], ebx
mov ecx, 0x532dd7
mov dword [esp + 4], ecx
call sym._fopen
test eax, eax
mov edi, eax
je 0x432810
mov ecx, dword [ebp - 0x130]
xor ebx, ebx
mov edx, dword [ecx + 0x1c8]
mov eax, dword [edx + 8]
cmp eax, 0
jle 0x432c60
xor esi, esi
nop
test ebx, ebx
js 0x432c29
dec eax
cmp eax, ebx
jge 0x432c6d
xor eax, eax
mov dword [esp + 0xc], edi
mov edx, 0x2f
mov ecx, 1
mov dword [esp + 4], edx
inc ebx
add esi, 0x2f
mov dword [esp + 8], ecx
mov dword [esp], eax
call sym._fwrite
mov eax, dword [ebp - 0x130]
mov edx, dword [eax + 0x1c8]
mov eax, dword [edx + 8]
cmp eax, ebx
jg 0x432c20
mov dword [esp], edi
call sym._fclose
jmp 0x432810
mov eax, dword [edx]
add eax, esi
jmp 0x432c2b