Function at 0x402150
Capabilities:
Read file on windows

Disassembly:
push esi
push edi
mov esi, 0x484544
nop word [eax + eax]
push 0xbb88
call fcn.0040b420
mov dword [esi], eax
add esp, 4
add esi, 4
cmp esi, 0x48455c
jle 0x402160
mov esi, 0x484524
nop
push 0xbb88
call fcn.0040b420
mov dword [esi], eax
add esp, 4
add esi, 4
cmp esi, 0x48453c
jle 0x402180
mov esi, 0x497e44
nop
push 0x3c
call fcn.0040b420
mov dword [esi], eax
add esp, 4
add esi, 4
cmp esi, 0x49dc00
jle 0x4021a0
mov esi, 0x4347b4
nop dword [eax]
push 0xbb88
call fcn.0040b420
mov dword [esi], eax
add esp, 4
add esi, 4
cmp esi, 0x4347bc
jle 0x4021c0
mov esi, 0x4347d4
nop
push 0xbb88
call fcn.0040b420
mov dword [esi], eax
add esp, 4
add esi, 4
cmp esi, 0x4347dc
jle 0x4021e0
mov esi, 0x47d944
nop
push 0x94
call fcn.0040b420
mov dword [esi], eax
add esp, 4
mov dword [eax + 0xc], 0
mov eax, dword [esi]
mov dword [eax + 8], 0
mov eax, dword [esi]
add esi, 4
mov dword [eax + 0x10], 0
cmp esi, 0x483700
jle 0x402200
push str.TRANSFERN
push 0x483d20
push str._s_s
push 0x484220
call fcn.00401340
push 0x484220
call fcn.004014a0
push 0x41d204
push 0x484220
call fcn.0040a6af
push eax
push 1
push 0x504
push 0x47d420
mov dword [0x4a2270], eax
call fcn.0040a89f
mov eax, dword [0x4a2270]
add esp, 0x2c
test eax, eax
je 0x402291
push eax
call fcn.0040a5c8
add esp, 4
mov ax, word [0x47d446]
mov dx, word [0x47d440]
movsx ecx, ax
mov word [0x49fe10], ax
mov word [0x49fe12], dx
cmp ecx, 1
jl 0x4022c6
shr ecx, 1
mov esi, 0x47d84a
mov edi, 0x49fe22
rep movsd dword es:[edi], dword [esi]
adc ecx, ecx
rep movsw word es:[edi], word [esi]
movsx ecx, dx
cmp ecx, 1
jl 0x4022e1
shr ecx, 1
mov esi, 0x47d782
mov edi, 0x49fe62
rep movsd dword es:[edi], dword [esi]
adc ecx, ecx
rep movsw word es:[edi], word [esi]
mov esi, 1
push esi
push 0x41d674
push 0x483920
mov word [0x49fe18], si
call fcn.00401340
mov ax, word [0x49fe18]
inc ax
mov word [0x49fe18], ax
cwde
push eax
push 0x41d674
push 0x483820
call fcn.00401340
push 0x484120
push 0x483d20
push str._sPARAM00_s
push 0x484220
call fcn.00401340
push 0x484220
call fcn.004014a0
push 0x41d204
push 0x484220
call fcn.0040a6af
push eax
push esi
push 0x2e8
push 0x49e0a0
mov dword [0x4a2270], eax
call fcn.0040a89f
mov eax, dword [0x4a2270]
add esp, 0x44
test eax, eax
je 0x402379
push eax
call fcn.0040a5c8
add esp, 4
push 0x483d20
push str._sLOADCHARN
push 0x484220
call fcn.00401340
push 0x484220
call fcn.004014a0
push 0x41d204
push 0x484220
call fcn.0040a6af
push eax
push 1
push 0x1a70
push 0x49e3a0
mov dword [0x4a2270], eax
call fcn.0040a89f
mov eax, dword [0x4a2270]
add esp, 0x28
test eax, eax
je 0x4023d2
push eax
call fcn.0040a5c8
add esp, 4
push 0x484120
push str.DOMAINS
push 0x483d20
push str._s_s_s
push 0x484220
call fcn.00401340
push 0x484220
call fcn.004014a0
push 0x41d204
push 0x484220
call fcn.0040a6af
add esp, 0x20
mov dword [0x4a2270], eax
mov edi, esi
cmp si, word [0x49e0d4]
jg 0x402443
mov esi, 0x47c1bc
push eax
push 1
push 0x5c
push esi
call fcn.0040a89f
movsx eax, word [0x49e0d4]
inc edi
add esp, 0x10
add esi, 0x5c
cmp edi, eax
mov eax, dword [0x4a2270]
jle 0x402421
pop edi
pop esi
test eax, eax
je 0x402452
push eax
call fcn.0040a5c8
add esp, 4
push str.TRANSFERN
push 0x483d20
push str._s_s
push 0x484220
call fcn.00401340
push 0x41d204
push 0x484220
call fcn.0040a6af
add esp, 0x18
mov dword [0x4a2270], eax
test eax, eax
je 0x40256a
push eax
push 1
push 0x504
push 0x47d420
call fcn.0040a89f
push dword [0x4a2270]
call fcn.0040a5c8
movsd xmm0, qword [0x47d890]
add esp, 0x14
movsd qword [0x47d930], xmm0
movsd xmm0, qword [0x47d898]
movsd qword [0x47d928], xmm0
movsd xmm0, qword [0x47d880]
movsd qword [0x47c140], xmm0
movsd xmm0, qword [0x47d888]
movsd qword [0x47c138], xmm0
movsd xmm0, qword [0x47d870]
movsd qword [0x47c130], xmm0
movsd xmm0, qword [0x47d878]
movsd qword [0x47c128], xmm0
movsd xmm0, qword [0x47d868]
movsd qword [0x47d410], xmm0
movss xmm0, dword [0x47d8d4]
divss xmm0, dword [0x47d8e8]
mov al, byte [0x47d8a6]
mov byte [0x47d924], al
mulss xmm0, dword [0x41dffc]
cvtps2pd xmm0, xmm0
movsd qword [0x47c120], xmm0
movss xmm0, dword [0x47d8d8]
divss xmm0, dword [0x47d8ec]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x41dfe8]
movsd qword [0x47c118], xmm0
ret