Function at 0x43cd95
Capabilities:
Check mutex on windows
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
sub esp, 0x8cc
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
push edi
push 0x4bfea0
mov dword [0x4bfec0], eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
xor ebx, ebx
jmp 0x43cde3
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp + 8]
push 0x4bfea0
mov dword [0x4bfec0], eax
call esi
push str.Bank_Sim
push ebx
push ebx
call edi
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x43cdc0
push ebx
push 0x4bfeb0
push ebx
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
mov eax, dword [0x4bfeb0]
sub dword [0x4bfeb8], eax
fild dword [0x4bfeb8]
mov eax, dword [0x4bfeb4]
sub dword [0x4bfebc], eax
fdiv qword [0x45d880]
fild dword [0x4bfebc]
fdiv qword [0x45d878]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x43ce46
fstp st(0)
jmp 0x43ce48
fstp st(1)
push 0xf
fstp dword [0x4a385c]
call dword [sym.imp.USER32.dll_GetSysColor]
mov esi, dword [sym.imp.GDI32.dll_CreateSolidBrush]
push eax
call esi
push ebx
mov dword [0x4cdd90], eax
call esi
push 0xff0000
mov dword [0x4e33c8], eax
call esi
push 0xff00
mov dword [0x4a2b78], eax
call esi
fld dword [0x4a385c]
fld qword [0x45d090]
push ecx
fmul st(1)
mov dword [0x4cc540], eax
fstp dword [0x481388]
fmul qword [0x45d1b0]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fstp dword [esp]
call fcn.00401eac
pop ecx
push ebx
push 0x31
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
mov dword [ebp + 8], eax
fild dword [ebp + 8]
mov edi, 0x2bc
push edi
push ebx
fstp dword [0x49f36c]
push ebx
fld dword [0x49f36c]
push ebx
call fcn.0043f5b0
mov esi, dword [sym.imp.GDI32.dll_CreateFontA]
push eax
call esi
push ebx
push 0x10
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push edi
push ebx
push ebx
push ebx
push 0x19
mov dword [0x49f850], eax
call esi
push ebx
push 0x10
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push edi
push ebx
push ebx
push ebx
push 0x15
mov dword [0x46d778], eax
call esi
push ebx
push 0x10
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push edi
push ebx
push ebx
push ebx
push 0x12
mov dword [0x4e33bc], eax
call esi
push 0x45cdc0
push dword [0x4bfec0]
mov dword [0x4c72fc], eax
call dword [sym.imp.USER32.dll_LoadIconA]
mov esi, dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push ebx
mov dword [0x4815d8], eax
call esi
push 0x7f8a
push ebx
mov dword [0x4815d4], eax
call esi
mov esi, dword [sym.imp.USER32.dll_RegisterClassA]
mov dword [0x4cdd88], eax
mov eax, dword [0x4bfec0]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x4815d8]
mov dword [ebp - 0x18], eax
mov eax, dword [0x4815d4]
mov dword [ebp - 0x14], eax
mov eax, dword [0x4cdd90]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], 0x4183b4
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], str.WinProc
call esi
mov eax, dword [0x4bfec0]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x4815d8]
mov dword [ebp - 0x18], eax
mov eax, dword [0x4815d4]
mov dword [ebp - 0x14], eax
mov eax, dword [0x4a2b78]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], 0x417bb1
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], str.WinProcI
call esi
mov eax, dword [0x4bfec0]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x4815d8]
mov dword [ebp - 0x18], eax
mov eax, dword [0x4815d4]
mov dword [ebp - 0x14], eax
mov eax, dword [0x4cdd90]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], 0x401d8c
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], str.WinProcN
push eax
call esi
push 0x45cde4
push str.BMSim.TXT
call fcn.0043ea47
pop ecx
pop ecx
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [0x4c3654], eax
mov eax, ecx
mov dword [0x48e098], eax
cmp eax, ebx
je 0x43d11e
xor eax, eax
mov esi, 0x4debb0
lea edi, [eax + 1]
push edi
push str.BK0_d.IN
push esi
mov dword [section..data], eax
call fcn.0043ee44
push 0x45ce00
push esi
call fcn.0043ea47
add esp, 0x14
mov dword [0x4c3654], eax
cmp eax, ebx
jne 0x43d0b1
mov eax, edi
cmp eax, 6
jl 0x43d05a
push 0xc8
push 0x4c7050
push ebx
call fcn.004402cd
push eax
push str.To_enter_decisions__n__You_need_to_put_the_IN_file____e.g._BK01.IN___n__in_this_directory____s__.
push esi
call fcn.0043ee44
add esp, 0x18
push esi
call fcn.00415b7b
push eax
mov byte [0x46a28a], 0x2e
mov byte [0x48e09c], 0x2e
call fcn.0043e5ec
fld dword [0x45d2dc]
mov dword [esp], 0x8a0
lea eax, [ebp - 0x8cc]
push eax
push ecx
fstp dword [esp]
push 0x45ce04
push str.BK00
call fcn.004187df
mov eax, dword [ebp - 0x94]
mov dword [0x48bb44], eax
and eax, 0x80000003
jns 0x43d103
dec eax
or eax, 0xfffffffc
inc eax
mov dword [0x4815e8], eax
lea eax, [ebp - 0x84]
push eax
call fcn.0043a34a
add esp, 0x18
push 1
call fcn.0043e923
push 4
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push dword [0x4c3654]
mov dword [0x4b7234], eax
mov dword [ebp + 8], ebx
call fcn.00445ee4
push eax
call fcn.00451000
mov edi, eax
push edi
mov dword [0x4cc544], edi
call fcn.0043f481
push dword [0x4c3654]
mov esi, eax
push edi
push 1
push esi
mov dword [ebp - 4], esi
call fcn.0043e562
push dword [0x4c3654]
mov dword [0x4cc544], eax
call fcn.0043e5ec
mov eax, dword [0x4cc544]
mov ecx, esi
add esp, 0x20
mov byte [eax + ecx], bl
mov edi, 0x4a3368
mov ecx, dword [ebp + 8]
xor eax, eax
cmp byte [esi], 0x2d
setne al
mov dword [ecx*4 + 0x4a32c4], eax
cmp eax, ebx
jne 0x43d19a
inc esi
push 4
lea eax, [edi - 4]
push esi
push eax
call fcn.0043f120
add esp, 0xc
add esi, 5
inc dword [ebp + 8]
mov byte [edi], bl
add edi, 6
cmp byte [esi - 1], 0xa
jg 0x43d183
mov eax, dword [ebp + 8]
mov dword [0x4a32c0], eax
mov dword [ebp + 8], ebx
mov edi, 0x481480
mov ecx, dword [ebp + 8]
xor eax, eax
cmp byte [esi], 0x2d
setne al
mov dword [ecx*4 + 0x4813dc], eax
cmp eax, ebx
jne 0x43d1e1
inc esi
push 4
lea eax, [edi - 4]
push esi
push eax
call fcn.0043f120
add esp, 0xc
add esi, 5
inc dword [ebp + 8]
mov byte [edi], bl
add edi, 6
cmp byte [esi - 1], 0xa
jg 0x43d1ca
mov eax, dword [ebp + 8]
mov dword [0x4813d8], eax
mov dword [ebp + 8], ebx
mov edi, 0x46a170
mov ecx, dword [ebp + 8]
xor eax, eax
cmp byte [esi], 0x2d
setne al
mov dword [ecx*4 + 0x46a0cc], eax
cmp eax, ebx
jne 0x43d228
inc esi
push 4
lea eax, [edi - 4]
push esi
push eax
call fcn.0043f120
add esp, 0xc
add esi, 5
inc dword [ebp + 8]
mov byte [edi], bl
add edi, 6
cmp byte [esi - 1], 0xa
jg 0x43d211
mov eax, dword [ebp + 8]
push dword [ebp - 4]
mov dword [0x46a0c8], eax
movsx eax, byte [esi]
sub eax, 0x30
mov dword [0x4cdd8c], eax
call fcn.0043f0db
push ebx
call fcn.00424713
push dword [ebp + 0x10]
call fcn.00439e55
add esp, 0xc
cmp eax, 2
jne 0x43d27e
call fcn.0043c204
push dword [ebp + 0x10]
call fcn.0043a0e5
pop ecx
push ebx
jmp 0x43d0ac