Function at 0x41e400
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x449f58
mov eax, dword fs:[0]
push eax
sub esp, 0x38c
mov eax, dword [0x46d0c4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x21c], ecx
call fcn.00403640
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x228], 0
mov eax, dword [ebp - 0x21c]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0x224], ecx
cmp dword [ebp - 0x224], 0
jne 0x41e474
mov dword [ebp - 0x238], 0
jmp 0x41e4ec
mov edx, dword [ebp - 0x224]
push edx
call fcn.004357f6
add esp, 4
add eax, 1
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0x3fffffff
jle 0x41e4a4
mov dword [ebp - 0x234], 0
jmp 0x41e4e0
mov eax, dword [ebp - 0x220]
shl eax, 1
call fcn.004301e0
mov dword [ebp - 0x338], esp
mov eax, dword [ebp - 0x23c]
push eax
mov ecx, dword [ebp - 0x220]
shl ecx, 1
push ecx
mov edx, dword [ebp - 0x224]
push edx
mov eax, dword [ebp - 0x338]
push eax
call fcn.00422d40
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0x234]
mov dword [ebp - 0x238], ecx
push 0
push 0
mov edx, dword [ebp - 0x238]
push edx
call fcn.00423ff0
add esp, 0xc
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0xffffffff
jne 0x41e60a
xor eax, eax
mov word [ebp - 0x218], ax
push 0x206
push 0
lea ecx, [ebp - 0x216]
push ecx
call fcn.00431530
add esp, 0xc
mov edx, dword [ebp - 0x21c]
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 0
jne 0x41e555
mov dword [ebp - 0x244], 0
jmp 0x41e5cd
mov ecx, dword [ebp - 0x224]
push ecx
call fcn.004357f6
add esp, 4
add eax, 1
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0x3fffffff
jle 0x41e585
mov dword [ebp - 0x240], 0
jmp 0x41e5c1
mov eax, dword [ebp - 0x220]
shl eax, 1
call fcn.004301e0
mov dword [ebp - 0x250], esp
mov edx, dword [ebp - 0x23c]
push edx
mov eax, dword [ebp - 0x220]
shl eax, 1
push eax
mov ecx, dword [ebp - 0x224]
push ecx
mov edx, dword [ebp - 0x250]
push edx
call fcn.00422d40
mov dword [ebp - 0x240], eax
mov eax, dword [ebp - 0x240]
mov dword [ebp - 0x244], eax
mov ecx, dword [ebp - 0x228]
push ecx
mov edx, dword [ebp - 0x244]
push edx
push str._open__S___failed__with_code__d_n
lea eax, [ebp - 0x218]
push eax
call fcn.00424b60
add esp, 0x10
push 0
push str.Error
lea ecx, [ebp - 0x218]
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x41f159
mov edx, dword [ebp - 0x21c]
mov eax, dword [edx + 0x1ac]
push eax
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ecx + 0x1a8]
push edx
mov eax, dword [ebp - 0x228]
push eax
call fcn.0043aac6
add esp, 0xc
mov dword [ebp - 0x248], eax
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x248]
mov dword [ecx + 0x1a4], edx
cmp dword [ebp - 0x248], 0
ja 0x41e66f
push str.Error_reading_file_
mov ecx, dword [ebp - 0x21c]
add ecx, 0x1b4
call fcn.00402d20
jmp 0x41f14a
mov eax, dword [ebp - 0x21c]
mov ecx, dword [eax + 0x1a4]
mov dword [ebp - 0x22c], ecx
jmp 0x41e692
mov edx, dword [ebp - 0x22c]
add edx, 1
mov dword [ebp - 0x22c], edx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [eax + 0x1ac]
add ecx, 2
cmp dword [ebp - 0x22c], ecx
jge 0x41e6c1
mov edx, dword [ebp - 0x21c]
mov eax, dword [edx + 0x1a8]
mov ecx, dword [ebp - 0x22c]
mov byte [eax + ecx], 0
jmp 0x41e683
push 0
mov ecx, dword [ebp - 0x21c]
call fcn.0041c8a0
mov edx, dword [ebp - 0x21c]
mov word [edx + 0x10c], ax
push 1
mov ecx, dword [ebp - 0x21c]
call fcn.0041c8a0
mov ecx, dword [ebp - 0x21c]
mov word [ecx + 0x10e], ax
push str.Hardware_Release
lea edx, [ebp - 0x25c]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.00412320
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x254]
mov dword [ebp - 0x258], eax
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x258]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0x6c
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x25c]
call fcn.00402cb0
push str.Software_Release
lea edx, [ebp - 0x268]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.00412320
mov dword [ebp - 0x260], eax
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x264], eax
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x264]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0x70
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x268]
call fcn.00402cb0
push 0x45501c
lea edx, [ebp - 0x274]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.00412320
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x270], eax
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x270]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0x5c
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x274]
call fcn.00402cb0
push str.Modular_Station
lea edx, [ebp - 0x280]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.004124f0
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x278]
mov dword [ebp - 0x27c], eax
mov dword [ebp - 4], 3
mov ecx, dword [ebp - 0x27c]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0xd8
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x280]
call fcn.00402cb0
push str.Max_Module
lea edx, [ebp - 0x28c]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.004124f0
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x288], eax
mov dword [ebp - 4], 4
mov ecx, dword [ebp - 0x288]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0xdc
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28c]
call fcn.00402cb0
push str.Max_Input_Len
lea edx, [ebp - 0x298]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.004124f0
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x290]
mov dword [ebp - 0x294], eax
mov dword [ebp - 4], 5
mov ecx, dword [ebp - 0x294]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0xe0
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x298]
call fcn.00402cb0
push str.Max_Output_Len
lea edx, [ebp - 0x2a4]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.004124f0
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 4], 6
mov ecx, dword [ebp - 0x2a0]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0xe4
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2a4]
call fcn.00402cb0
push str.Max_Data_Len
lea edx, [ebp - 0x2b0]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.004124f0
mov dword [ebp - 0x2a8], eax
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x2ac], eax
mov dword [ebp - 4], 7
mov ecx, dword [ebp - 0x2ac]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0xe8
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2b0]
call fcn.00402cb0
push str.Modul_Offset
lea edx, [ebp - 0x2bc]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.004124f0
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 4], 8
mov ecx, dword [ebp - 0x2b8]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0xd0
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2bc]
call fcn.00402cb0
lea edx, [ebp - 0x2c8]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.00412780
mov dword [ebp - 0x2c0], eax
mov eax, dword [ebp - 0x2c0]
mov dword [ebp - 0x2c4], eax
mov dword [ebp - 4], 9
mov ecx, dword [ebp - 0x2c4]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0x104
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c8]
call fcn.00402cb0
lea edx, [ebp - 0x2d4]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.004141b0
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 4], 0xa
mov ecx, dword [ebp - 0x2d0]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0x108
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2d4]
call fcn.00402cb0
lea edx, [ebp - 0x2e0]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.00416390
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x2dc], eax
mov dword [ebp - 4], 0xb
mov ecx, dword [ebp - 0x2dc]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0x164
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2e0]
call fcn.00402cb0
lea edx, [ebp - 0x2ec]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.00417480
mov dword [ebp - 0x2e4], eax
mov eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 4], 0xc
mov ecx, dword [ebp - 0x2e8]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0x168
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2ec]
call fcn.00402cb0
push 0x455150
lea edx, [ebp - 0x2f8]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.004124f0
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x2f4], eax
mov dword [ebp - 4], 0xd
mov ecx, dword [ebp - 0x2f4]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0x114
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2f8]
call fcn.00402cb0
push str.C2_Read_Write_supp
lea edx, [ebp - 0x304]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.004124f0
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x2fc]
mov dword [ebp - 0x300], eax
mov dword [ebp - 4], 0xe
mov ecx, dword [ebp - 0x300]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0x118
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x304]
call fcn.00402cb0
push 0x45519c
lea edx, [ebp - 0x310]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.004124f0
mov dword [ebp - 0x308], eax
mov eax, dword [ebp - 0x308]
mov dword [ebp - 0x30c], eax
mov dword [ebp - 4], 0xf
mov ecx, dword [ebp - 0x30c]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0x110
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x310]
call fcn.00402cb0
push str.Jokerblock_supp
lea edx, [ebp - 0x31c]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.004124f0
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x314]
mov dword [ebp - 0x318], eax
mov dword [ebp - 4], 0x10
mov ecx, dword [ebp - 0x318]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0x11c
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x31c]
call fcn.00402cb0
push str.Jokerblock_Type
lea edx, [ebp - 0x328]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.004124f0
mov dword [ebp - 0x320], eax
mov eax, dword [ebp - 0x320]
mov dword [ebp - 0x324], eax
mov dword [ebp - 4], 0x11
mov ecx, dword [ebp - 0x324]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0x120
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x328]
call fcn.00402cb0
push 0x455210
lea edx, [ebp - 0x334]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.004124f0
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x32c]
mov dword [ebp - 0x330], eax
mov dword [ebp - 4], 0x12
mov ecx, dword [ebp - 0x330]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0x124
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x334]
call fcn.00402cb0
push 0x45522c
lea edx, [ebp - 0x340]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.004124f0
mov dword [ebp - 0x368], eax
mov eax, dword [ebp - 0x368]
mov dword [ebp - 0x33c], eax
mov dword [ebp - 4], 0x13
mov ecx, dword [ebp - 0x33c]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0x128
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x340]
call fcn.00402cb0
push 0x45526c
lea edx, [ebp - 0x34c]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.004124f0
mov dword [ebp - 0x344], eax
mov eax, dword [ebp - 0x344]
mov dword [ebp - 0x348], eax
mov dword [ebp - 4], 0x14
mov ecx, dword [ebp - 0x348]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0x12c
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34c]
call fcn.00402cb0
push 0x4552c0
lea edx, [ebp - 0x358]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.004124f0
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x350]
mov dword [ebp - 0x354], eax
mov dword [ebp - 4], 0x15
mov ecx, dword [ebp - 0x354]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0x130
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x358]
call fcn.00402cb0
push 0x455320
lea edx, [ebp - 0x364]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.004124f0
mov dword [ebp - 0x35c], eax
mov eax, dword [ebp - 0x35c]
mov dword [ebp - 0x360], eax
mov dword [ebp - 4], 0x16
mov ecx, dword [ebp - 0x360]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0x134
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x364]
call fcn.00402cb0
push str.PrmCmd_supp
lea edx, [ebp - 0x370]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.004124f0
mov dword [ebp - 0x398], eax
mov eax, dword [ebp - 0x398]
mov dword [ebp - 0x36c], eax
mov dword [ebp - 4], 0x17
mov ecx, dword [ebp - 0x36c]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0x138
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x370]
call fcn.00402cb0
push str.Slave_Max_Switch_Over_Time
lea edx, [ebp - 0x37c]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.004124f0
mov dword [ebp - 0x374], eax
mov eax, dword [ebp - 0x374]
mov dword [ebp - 0x378], eax
mov dword [ebp - 4], 0x18
mov ecx, dword [ebp - 0x378]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0x13c
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x37c]
call fcn.00402cb0
push 0x4553fc
lea edx, [ebp - 0x388]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.004124f0
mov dword [ebp - 0x380], eax
mov eax, dword [ebp - 0x380]
mov dword [ebp - 0x384], eax
mov dword [ebp - 4], 0x19
mov ecx, dword [ebp - 0x384]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0x140
call fcn.00422500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x388]
call fcn.00402cb0
mov edx, 1
test edx, edx
je 0x41f14a
push 0
mov ecx, dword [ebp - 0x21c]
add ecx, 0x160
call fcn.0040cb40
movzx eax, al
test eax, eax
je 0x41f047
mov ecx, dword [ebp - 0x21c]
add ecx, 0x160
call fcn.00403490
push 0
mov ecx, dword [ebp - 0x21c]
add ecx, 0x160
call fcn.004224b0
mov ecx, dword [ebp - 0x21c]
add ecx, 0x160
call fcn.00423d40
push eax
push 0x455480
lea ecx, [ebp - 0x394]
call fcn.00402a10
mov dword [ebp - 0x38c], eax
mov ecx, dword [ebp - 0x38c]
mov dword [ebp - 0x390], ecx
mov dword [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x390]
call fcn.0040cbc0
push eax
mov ecx, dword [ebp - 0x21c]
add ecx, 0x108
call fcn.0040cbc0
push eax
mov ecx, dword [ebp - 0x21c]
add ecx, 0x144
call fcn.00401580
mov dword [ebp - 0x24c], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x394]
call fcn.00402cb0
cmp dword [ebp - 0x24c], 0
jne 0x41f14a
push 0
mov ecx, dword [ebp - 0x21c]
add ecx, 0x160
call fcn.0040cb40
movzx edx, al
test edx, edx
je 0x41f14a
lea eax, [ebp - 0x230]
push eax
mov ecx, dword [ebp - 0x21c]
call fcn.00418ac0
mov dword [ebp - 4], 0x1b
lea ecx, [ebp - 0x230]
call fcn.00403470
test eax, eax
je 0x41f138
lea ecx, [ebp - 0x230]
push ecx
mov ecx, dword [ebp - 0x21c]
call fcn.00419720
lea edx, [ebp - 0x230]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.00419d20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x230]
call fcn.00402cb0
mov eax, dword [ebp - 0x228]
push eax
call fcn.0043a4c3
add esp, 4
mov ecx, dword [ebp - 0x21c]
add ecx, 0x188
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 0x21c]
mov eax, dword [edx + 0x1b0]
add eax, 1
mov ecx, dword [ebp - 0x21c]
mov dword [ecx + 0x1b0], eax
mov edx, dword [ebp - 0x21c]
add edx, 0x188
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea esp, [ebp - 0x39c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042fca3
mov esp, ebp
pop ebp
ret