Function at 0x411190
Capabilities:
Check if file exists
Create directory
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x5182b7
mov eax, dword fs:[0]
push eax
sub esp, 0x820
mov eax, dword [0x577690]
xor eax, esp
mov dword [esp + 0x818], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x577690]
xor eax, esp
push eax
lea eax, [esp + 0x834]
mov dword fs:[0], eax
mov eax, dword [esp + 0x844]
xor ebx, ebx
lea esi, [esp + 0x3a0]
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], ebx
call fcn.00401d70
mov dword [esp + 0x83c], 1
mov ebp, 0xf
mov dword [esp + 0x32c], ebp
mov dword [esp + 0x328], ebx
mov byte [esp + 0x318], bl
mov dword [esp + 0x348], ebp
mov dword [esp + 0x344], ebx
mov byte [esp + 0x334], bl
mov dword [esp + 0x364], ebp
mov dword [esp + 0x360], ebx
mov byte [esp + 0x350], bl
lea ecx, [esp + 0x174]
push ecx
mov byte [esp + 0x840], 4
call fcn.00412b90
push str..iritech
push ecx
push 0x5618a8
push ecx
mov edx, esi
push edx
lea eax, [esp + 0x190]
push eax
mov byte [esp + 0x854], 5
call fcn.004139b0
add esp, 0xc
push eax
call fcn.00404570
add esp, 0xc
push eax
call fcn.00404570
add esp, 8
lea ecx, [esp + 0x2c0]
lea eax, [esp + 0x174]
call fcn.00412cc0
push str.serial.txt
push ecx
lea ecx, [esp + 0x184]
push 0x5618a8
push ecx
mov byte [esp + 0x84c], 6
call fcn.00404570
add esp, 0xc
push eax
call fcn.00404570
add esp, 8
lea ecx, [esp + 0x2a4]
lea eax, [esp + 0x174]
call fcn.00412cc0
mov byte [esp + 0x83c], 7
push ebx
push 0x5616e2
lea ecx, [esp + 0x290]
mov dword [esp + 0x2a8], ebp
mov dword [esp + 0x2a4], ebx
mov byte [esp + 0x294], bl
call fcn.00403d20
lea esi, [esp + 0x180]
mov byte [esp + 0x83c], 8
call fcn.004137b0
mov ecx, dword [esp + 0x28c]
mov edi, 0x10
cmp dword [esp + 0x2a0], edi
jae 0x411336
lea ecx, [esp + 0x28c]
mov eax, dword [esp + 0x29c]
mov dword [esp + 0x1bc], ebx
cmp eax, ebx
je 0x41135c
push ecx
mov ebx, eax
lea esi, [esp + 0x184]
call fcn.00413810
xor ebx, ebx
lea ebp, [ebx + 0xf]
mov byte [esp + 0x83c], 7
cmp dword [esp + 0x2a0], edi
jb 0x41137d
mov edx, dword [esp + 0x28c]
push edx
call fcn.004f9a4f
add esp, 4
push str.serial.txt.bk
push ecx
push 0x5618a8
push ecx
push str..iritech
push ecx
push 0x5618a8
push ecx
lea eax, [esp + 0x3c0]
push eax
lea ecx, [esp + 0x1a0]
push ecx
call fcn.004139b0
add esp, 0xc
push eax
call fcn.00404570
add esp, 0xc
push eax
call fcn.00404570
add esp, 0xc
push eax
call fcn.00404570
add esp, 0xc
push eax
call fcn.00404570
add esp, 8
lea ecx, [esp + 0x2dc]
lea eax, [esp + 0x174]
call fcn.00412cc0
mov byte [esp + 0x83c], 9
push ebx
push 0x5616e2
lea ecx, [esp + 0x290]
mov dword [esp + 0x2a8], ebp
mov dword [esp + 0x2a4], ebx
mov byte [esp + 0x294], bl
call fcn.00403d20
lea esi, [esp + 0x180]
mov byte [esp + 0x83c], 0xa
call fcn.004137b0
mov ecx, dword [esp + 0x28c]
cmp dword [esp + 0x2a0], edi
jae 0x41143e
lea ecx, [esp + 0x28c]
mov eax, dword [esp + 0x29c]
mov dword [esp + 0x1bc], ebx
cmp eax, ebx
je 0x411469
push ecx
mov ebx, eax
lea esi, [esp + 0x184]
call fcn.00413810
xor ebx, ebx
lea ebp, [ebx + 0xf]
mov edi, 0x10
mov byte [esp + 0x83c], 9
cmp dword [esp + 0x2a0], edi
jb 0x41148a
mov edx, dword [esp + 0x28c]
push edx
call fcn.004f9a4f
add esp, 4
push str..lock
push ecx
push 0x5618a8
push ecx
push str..iritech
push ecx
push 0x5618a8
push ecx
lea eax, [esp + 0x3c0]
push eax
lea ecx, [esp + 0x1a0]
push ecx
call fcn.004139b0
add esp, 0xc
push eax
call fcn.00404570
add esp, 0xc
push eax
call fcn.00404570
add esp, 0xc
push eax
call fcn.00404570
add esp, 0xc
push eax
call fcn.00404570
add esp, 8
lea ecx, [esp + 0x2f8]
lea eax, [esp + 0x174]
call fcn.00412cc0
mov byte [esp + 0x83c], 0xb
mov eax, dword [esp + 0x2a8]
cmp dword [esp + 0x2bc], edi
jae 0x411510
lea eax, [esp + 0x2a8]
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
push eax
call esi
test eax, eax
je 0x4119e8
mov dword [esp + 0x2a0], ebp
mov dword [esp + 0x29c], ebx
mov byte [esp + 0x28c], bl
mov byte [esp + 0x83c], 0xc
mov eax, dword [esp + 0x2e0]
cmp dword [esp + 0x2f4], edi
jae 0x411555
lea eax, [esp + 0x2e0]
push eax
lea edx, [esp + 0x200]
push edx
call fcn.00412a70
mov byte [esp + 0x83c], 0xd
cmp dword [esp + 0x24c], ebx
je 0x411998
mov eax, dword [esp + 0x2a8]
cmp dword [esp + 0x2bc], edi
jae 0x41158f
lea eax, [esp + 0x2a8]
push eax
lea eax, [esp + 0xe8]
push eax
call fcn.004128e0
mov byte [esp + 0x83c], 0xe
mov ecx, dword [esp + 0xe4]
mov edx, dword [ecx + 4]
push 0xa
lea eax, [esp + edx + 0xe8]
push eax
call fcn.00404300
movzx ecx, al
push ecx
lea edx, [esp + 0xe8]
push edx
lea ecx, [esp + 0x290]
call fcn.00413c30
add esp, 8
push 0x5684d0
push ecx
lea eax, [esp + 0x290]
push eax
lea ecx, [esp + 0x208]
push ecx
call fcn.004139b0
add esp, 0xc
push eax
call fcn.00404570
mov edx, dword [esp + 0xec]
mov eax, dword [edx + 4]
add esp, 8
push 0xa
lea ecx, [esp + eax + 0xe8]
push ecx
call fcn.00404300
movzx edx, al
push edx
lea eax, [esp + 0xe8]
push eax
lea ecx, [esp + 0x290]
call fcn.00413c30
add esp, 8
push 0x5684d0
push ecx
lea ecx, [esp + 0x290]
push ecx
lea edx, [esp + 0x208]
push edx
call fcn.004139b0
add esp, 0xc
push eax
call fcn.00404570
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 4]
add esp, 8
push 0xa
lea edx, [esp + ecx + 0xe8]
push edx
call fcn.00404300
movzx eax, al
push eax
lea ecx, [esp + 0xe8]
push ecx
lea ecx, [esp + 0x290]
call fcn.00413c30
add esp, 8
push 0x5684d0
push ecx
lea edx, [esp + 0x290]
push edx
lea eax, [esp + 0x208]
push eax
call fcn.004139b0
add esp, 0xc
push eax
call fcn.00404570
mov ecx, dword [esp + 0xec]
mov edx, dword [ecx + 4]
add esp, 8
push 0xa
lea eax, [esp + edx + 0xe8]
push eax
call fcn.00404300
movzx ecx, al
push ecx
lea edx, [esp + 0xe8]
push edx
lea ecx, [esp + 0x290]
call fcn.00413c30
add esp, 8
push 0x5684d0
push ecx
lea eax, [esp + 0x290]
push eax
lea ecx, [esp + 0x208]
push ecx
call fcn.004139b0
add esp, 0xc
push eax
call fcn.00404570
mov edx, dword [esp + 0xec]
mov eax, dword [edx + 4]
add esp, 8
push 0xa
lea ecx, [esp + eax + 0xe8]
push ecx
call fcn.00404300
movzx edx, al
push edx
lea eax, [esp + 0xe8]
push eax
lea ecx, [esp + 0x290]
call fcn.00413c30
add esp, 8
push 0x5684d0
push ecx
lea ecx, [esp + 0x290]
push ecx
lea edx, [esp + 0x208]
push edx
call fcn.004139b0
add esp, 0xc
push eax
call fcn.00404570
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 4]
add esp, 8
push 0xa
lea edx, [esp + ecx + 0xe8]
push edx
call fcn.00404300
movzx eax, al
push eax
lea ecx, [esp + 0xe8]
push ecx
lea ecx, [esp + 0x290]
call fcn.00413c30
add esp, 8
push 0x5684d0
push ecx
lea edx, [esp + 0x290]
push edx
lea eax, [esp + 0x208]
push eax
call fcn.004139b0
add esp, 0xc
push eax
call fcn.00404570
mov ecx, dword [esp + 0xec]
mov edx, dword [ecx + 4]
add esp, 8
push 0xa
lea eax, [esp + edx + 0xe8]
push eax
call fcn.00404300
movzx ecx, al
push ecx
lea edx, [esp + 0xe8]
push edx
lea ecx, [esp + 0x290]
call fcn.00413c30
add esp, 8
push 0x5684d0
push ecx
lea eax, [esp + 0x290]
push eax
lea ecx, [esp + 0x208]
push ecx
call fcn.004139b0
add esp, 0xc
push eax
call fcn.00404570
mov edx, dword [esp + 0xec]
mov eax, dword [edx + 4]
add esp, 8
push 0xa
lea ecx, [esp + eax + 0xe8]
push ecx
call fcn.00404300
movzx edx, al
push edx
lea eax, [esp + 0xe8]
push eax
lea ecx, [esp + 0x290]
call fcn.00413c30
add esp, 8
push 0x5684d0
push ecx
lea ecx, [esp + 0x290]
push ecx
lea edx, [esp + 0x208]
push edx
call fcn.004139b0
add esp, 0xc
push eax
call fcn.00404570
add esp, 8
push ebx
push 0x5616e2
lea ecx, [esp + 0x290]
call fcn.00403d20
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 4]
push 0xa
lea edx, [esp + ecx + 0xe8]
push edx
call fcn.00404300
movzx eax, al
push eax
lea ecx, [esp + 0xe8]
push ecx
lea ecx, [esp + 0x290]
call fcn.00413c30
add esp, 8
cmp dword [esp + 0x29c], ebx
je 0x4118f3
push 0x5684d0
push ecx
lea edx, [esp + 0x290]
push edx
lea eax, [esp + 0x208]
push eax
call fcn.004139b0
add esp, 0xc
push eax
call fcn.00404570
add esp, 8
lea esi, [esp + 0x1fc]
call fcn.004021c0
lea esi, [esp + 0x200]
call fcn.004036f0
test eax, eax
jne 0x411943
mov ecx, dword [esp + 0x1fc]
mov ecx, dword [ecx + 4]
mov eax, dword [esp + ecx + 0x204]
lea ecx, [esp + ecx + 0x1fc]
or eax, 2
cmp dword [ecx + 0x28], ebx
jne 0x411932
or eax, 4
and eax, 0x17
mov dword [ecx + 8], eax
test dword [ecx + 0xc], eax
je 0x411943
push ebx
call fcn.00401790
mov eax, dword [esp + 0x2e0]
cmp dword [esp + 0x2f4], edi
jae 0x41195a
lea eax, [esp + 0x2e0]
push eax
call fcn.0040b390
add esp, 4
lea ecx, [esp + 0x13c]
mov byte [esp + 0x83c], 0xd
call fcn.00412a00
lea edx, [esp + 0x13c]
push edx
mov dword [esp + method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.004f856e
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
add esp, 4
lea ecx, [esp + 0x250]
mov byte [esp + 0x83c], 0xc
call fcn.00402580
lea eax, [esp + 0x250]
push eax
mov dword [esp + method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.004f856e
add esp, 4
mov byte [esp + 0x83c], 0xb
cmp dword [esp + 0x2a0], edi
jb 0x4119e8
mov ecx, dword [esp + 0x28c]
push ecx
call fcn.004f9a4f
add esp, 4
mov eax, dword [esp + 0x2c4]
cmp dword [esp + 0x2d8], edi
jae 0x4119ff
lea eax, [esp + 0x2c4]
push eax
call esi
test eax, eax
jne 0x411c1a
mov eax, dword [esp + 0x2c4]
cmp dword [esp + 0x2d8], edi
jae 0x411a21
lea eax, [esp + 0x2c4]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
neg eax
sbb eax, eax
inc eax
cmp eax, ebx
je 0x411bfa
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x411bfa
mov esi, dword [esp + 0x38]
push ebx
mov dword [esi + 0x18], ebp
mov dword [esi + 0x14], ebx
push 0x5616e2
mov ecx, esi
mov byte [esi + 4], bl
call fcn.00403d20
mov dword [esp + 0x34], 1
cmp dword [esp + 0x310], edi
jb 0x411a82
mov edx, dword [esp + 0x2fc]
push edx
call fcn.004f9a4f
add esp, 4
mov dword [esp + 0x310], ebp
mov dword [esp + 0x30c], ebx
mov byte [esp + 0x2fc], bl
cmp dword [esp + 0x2f4], edi
jb 0x411ab0
mov eax, dword [esp + 0x2e0]
push eax
call fcn.004f9a4f
add esp, 4
mov dword [esp + 0x2f4], ebp
mov dword [esp + 0x2f0], ebx
mov byte [esp + 0x2e0], bl
cmp dword [esp + 0x2bc], edi
jb 0x411ade
mov ecx, dword [esp + 0x2a8]
push ecx
call fcn.004f9a4f
add esp, 4
mov dword [esp + 0x2bc], ebp
mov dword [esp + 0x2b8], ebx
mov byte [esp + 0x2a8], bl
cmp dword [esp + 0x2d8], edi
jb 0x411b0c
mov edx, dword [esp + 0x2c4]
push edx
call fcn.004f9a4f
add esp, 4
lea ecx, [esp + 0x1c8]
mov dword [esp + 0x2d8], ebp
mov dword [esp + 0x2d4], ebx
mov byte [esp + 0x2c4], bl
mov byte [esp + 0x83c], 4
call fcn.00412c30
lea eax, [esp + 0x1c8]
push eax
mov dword [esp + method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.004f856e
add esp, 4
cmp dword [esp + 0x364], edi
jb 0x411b69
mov ecx, dword [esp + 0x350]
push ecx
call fcn.004f9a4f
add esp, 4
mov dword [esp + 0x364], ebp
mov dword [esp + 0x360], ebx
mov byte [esp + 0x350], bl
cmp dword [esp + 0x348], edi
jb 0x411b97
mov edx, dword [esp + 0x334]
push edx
call fcn.004f9a4f
add esp, 4
mov dword [esp + 0x348], ebp
mov dword [esp + 0x344], ebx
mov byte [esp + 0x334], bl
cmp dword [esp + 0x32c], edi
jb 0x411bc5
mov eax, dword [esp + 0x318]
push eax
call fcn.004f9a4f
add esp, 4
mov dword [esp + 0x32c], ebp
mov dword [esp + 0x328], ebx
mov byte [esp + 0x318], bl
cmp dword [esp + 0x3b8], edi
jb 0x411bf3
mov ecx, dword [esp + 0x3a4]
push ecx
call fcn.004f9a4f
add esp, 4
mov eax, esi
jmp 0x412477
mov eax, dword [esp + 0x2c4]
cmp dword [esp + 0x2d8], edi
jae 0x411c11
lea eax, [esp + 0x2c4]
push eax
call fcn.0040b390
add esp, 4
mov eax, dword [esp + 0x2a8]
cmp dword [esp + 0x2bc], edi
jae 0x411c31
lea eax, [esp + 0x2a8]
push eax
call esi
test eax, eax
jne 0x411f0d
push ebx
push 0x5616e2
lea ecx, [esp + 0x44]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], ebx
mov byte [esp + 0x48], bl
call fcn.00403d20
mov byte [esp + 0x83c], 0xf
push ebx
push 0x5616e2
lea ecx, [esp + 0x20]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
call fcn.00403d20
mov byte [esp + 0x83c], 0x10
push ebx
push 0x5616e2
lea ecx, [esp + 0x60]
mov dword [esp + 0x78], ebp
mov dword [esp + 0x74], ebx
mov byte [esp + 0x64], bl
call fcn.00403d20
mov byte [esp + 0x83c], 0x11
push ebx
push 0x5616e2
lea ecx, [esp + 0x98]
mov dword [esp + 0xb0], ebp
mov dword [esp + 0xac], ebx
mov byte [esp + 0x9c], bl
call fcn.00403d20
mov byte [esp + 0x83c], 0x12
push ebx
push 0x5616e2
lea ecx, [esp + 0x7c]
mov dword [esp + 0x94], ebp
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
call fcn.00403d20
mov byte [esp + 0x83c], 0x13
push ebx
push 0x5616e2
lea ecx, [esp + 0xb4]
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xc8], ebx
mov byte [esp + 0xb8], bl
call fcn.00403d20
mov byte [esp + 0x83c], 0x14
push 5
push 0x561898
lea ecx, [esp + 0xd0]
mov dword [esp + 0xe8], ebp
mov dword [esp + 0xe4], ebx
mov byte [esp + 0xd4], bl
call fcn.00403d20
mov byte [esp + 0x83c], 0x15
push 0x20
push str.dc2775d0cc411782aec12593cf524961
lea ecx, [esp + 0x290]
mov dword [esp + 0x2a8], ebp
mov dword [esp + 0x2a4], ebx
mov byte [esp + 0x294], bl
call fcn.00403d20
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x60]
push ecx
lea edx, [esp + 0xb8]
mov byte [esp + 0x848], 0x16
push edx
lea eax, [esp + 0xd8]
push eax
lea ecx, [esp + 0x29c]
push ecx
lea edx, [esp + 0x2bc]
push edx
lea edx, [esp + 0xac]
lea ecx, [esp + 0x90]
call fcn.0040d0e0
add esp, 0x1c
cmp dword [esp + 0x2a0], edi
jb 0x411ded
mov eax, dword [esp + 0x28c]
push eax
call fcn.004f9a4f
add esp, 4
mov dword [esp + 0x2a0], ebp
mov dword [esp + 0x29c], ebx
mov byte [esp + 0x28c], bl
cmp dword [esp + 0xe0], edi
jb 0x411e1b
mov ecx, dword [esp + 0xcc]
push ecx
call fcn.004f9a4f
add esp, 4
mov dword [esp + 0xe0], ebp
mov dword [esp + 0xdc], ebx
mov byte [esp + 0xcc], bl
cmp dword [esp + 0xc4], edi
jb 0x411e49
mov edx, dword [esp + 0xb0]
push edx
call fcn.004f9a4f
add esp, 4
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xc0], ebx
mov byte [esp + 0xb0], bl
cmp dword [esp + 0x8c], edi
jb 0x411e74
mov eax, dword [esp + 0x78]
push eax
call fcn.004f9a4f
add esp, 4
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x88], ebx
mov byte [esp + 0x78], bl
cmp dword [esp + 0xa8], edi
jb 0x411e9f
mov ecx, dword [esp + 0x94]
push ecx
call fcn.004f9a4f
add esp, 4
mov dword [esp + 0xa8], ebp
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x94], bl
cmp dword [esp + 0x70], edi
jb 0x411ec7
mov edx, dword [esp + 0x5c]
push edx
call fcn.004f9a4f
add esp, 4
mov dword [esp + 0x70], ebp
mov dword [esp + 0x6c], ebx
mov byte [esp + 0x5c], bl
cmp dword [esp + 0x30], edi
jb 0x411ee6
mov eax, dword [esp + 0x1c]
push eax
call fcn.004f9a4f
add esp, 4
mov byte [esp + 0x83c], 0xb
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
cmp dword [esp + 0x54], edi
jb 0x411f0d
mov ecx, dword [esp + 0x40]
push ecx
call fcn.004f9a4f
add esp, 4
cmp dword [esp + 0x310], edi
mov edi, dword [esp + 0x2fc]
jae 0x411f24
lea edi, [esp + 0x2fc]
call fcn.0040f080
mov edi, dword [esp + 0x2a8]
mov esi, 0x10
cmp dword [esp + 0x2bc], esi
jae 0x411f45
lea edi, [esp + 0x2a8]
push 0xff
lea edx, [esp + 0x531]
push ebx
push edx
mov byte [esp + 0x538], bl
call fcn.004fc930
add esp, 0xc
push 0xff
lea eax, [esp + 0x431]
push ebx
push eax
mov byte [esp + 0x438], bl
call fcn.004fc930
add esp, 0xc
lea ecx, [esp + 0x42c]
push ecx
lea edx, [esp + 0x530]
push edx
push edi
call fcn.0040cf50
add esp, 0xc
test eax, eax
je 0x411fa9
push str.Failed_getting_file_info._n
call fcn.004f9881
add esp, 4
lea eax, [esp + 0x42c]
push eax
lea ecx, [esp + 0x530]
push ecx
lea edx, [esp + 0x634]
push str._s__s
push edx
call fcn.004fa0f8
lea eax, [esp + 0x63c]
add esp, 0x10
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x411fe4
sub eax, edx
push eax
lea eax, [esp + 0x630]
push eax
lea ecx, [esp + 0x20]
call fcn.00403d20
lea ecx, [esp + 0x384]
push ecx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x840], 0x17
call fcn.0040cd20
add esp, 4
mov byte [esp + 0x83c], 0x19
cmp dword [esp + 0x30], esi
jb 0x412036
mov edx, dword [esp + 0x1c]
push edx
call fcn.004f9a4f
add esp, 4
lea eax, [esp + 0x62c]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
mov dword [esp + 0x380], ebp
mov dword [esp + 0x37c], ebx
mov byte [esp + 0x36c], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x412061
sub eax, edx
push eax
lea eax, [esp + 0x630]
push eax
lea ecx, [esp + 0x370]
call fcn.00403d20
lea ecx, [esp + 0x410]
push ecx
mov byte [esp + 0x840], 0x1a
call fcn.0040e660
add esp, 4
lea edx, [esp + 0x3f4]
push edx
mov byte [esp + 0x840], 0x1b
call fcn.0040e830
add esp, 4
lea eax, [esp + 0x3d8]
push eax
mov byte [esp + 0x840], 0x1c
call fcn.0040ec70
add esp, 4
lea ecx, [esp + 0x3bc]
push ecx
mov byte [esp + 0x840], 0x1d
call fcn.0040ea50
add esp, 4
mov byte [esp + 0x83c], 0x1e
push ebx
push 0x5616e2
lea ecx, [esp + 0x44]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], ebx
mov byte [esp + 0x48], bl
call fcn.00403d20
mov byte [esp + 0x83c], 0x1f
push 5
push 0x561898
lea ecx, [esp + 0x20]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
call fcn.00403d20
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x3c0]
push eax
lea ecx, [esp + 0x3e0]
push ecx
lea edx, [esp + 0x374]
push edx
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x398]
push ecx
lea edx, [esp + 0x2bc]
push edx
lea edx, [esp + 0x410]
lea ecx, [esp + 0x42c]
mov byte [esp + 0x858], 0x20
call fcn.0040d0e0
add esp, 0x1c
cmp dword [esp + 0x30], esi
jb 0x412189
mov eax, dword [esp + 0x1c]
push eax
call fcn.004f9a4f
add esp, 4
mov byte [esp + 0x83c], 0x1e
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
cmp dword [esp + 0x54], esi
jb 0x4121b0
mov ecx, dword [esp + 0x40]
push ecx
call fcn.004f9a4f
add esp, 4
mov edi, dword [esp + 0x38]
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x38c]
mov dword [edi + 0x18], ebp
mov dword [edi + 0x14], ebx
push edx
mov ecx, edi
mov byte [edi + 4], bl
call fcn.004032e0
mov dword [esp + 0x34], 1
cmp dword [esp + 0x3d4], esi
jb 0x4121f0
mov eax, dword [esp + 0x3c0]
push eax
call fcn.004f9a4f
add esp, 4
mov dword [esp + 0x3d4], ebp
mov dword [esp + 0x3d0], ebx
mov byte [esp + 0x3c0], bl
cmp dword [esp + 0x3f0], esi
jb 0x41221e
mov ecx, dword [esp + 0x3dc]
push ecx
call fcn.004f9a4f
add esp, 4
mov dword [esp + 0x3f0], ebp
mov dword [esp + 0x3ec], ebx
mov byte [esp + 0x3dc], bl
cmp dword [esp + 0x40c], esi
jb 0x41224c
mov edx, dword [esp + 0x3f8]
push edx
call fcn.004f9a4f
add esp, 4
mov dword [esp + 0x40c], ebp
mov dword [esp + 0x408], ebx
mov byte [esp + 0x3f8], bl
cmp dword [esp + 0x428], esi
jb 0x41227a
mov eax, dword [esp + 0x414]
push eax
call fcn.004f9a4f
add esp, 4
mov dword [esp + 0x428], ebp
mov dword [esp + 0x424], ebx
mov byte [esp + 0x414], bl
cmp dword [esp + 0x380], esi
jb 0x4122a8
mov ecx, dword [esp + 0x36c]
push ecx
call fcn.004f9a4f
add esp, 4
mov dword [esp + 0x380], ebp
mov dword [esp + 0x37c], ebx
mov byte [esp + 0x36c], bl
cmp dword [esp + 0x39c], esi
jb 0x4122d6
mov edx, dword [esp + 0x388]
push edx
call fcn.004f9a4f
add esp, 4
mov dword [esp + 0x39c], ebp
mov dword [esp + 0x398], ebx
mov byte [esp + 0x388], bl
cmp dword [esp + 0x310], esi
jb 0x412304
mov eax, dword [esp + 0x2fc]
push eax
call fcn.004f9a4f
add esp, 4
mov dword [esp + 0x310], ebp
mov dword [esp + 0x30c], ebx
mov byte [esp + 0x2fc], bl
cmp dword [esp + 0x2f4], esi
jb 0x412332
mov ecx, dword [esp + 0x2e0]
push ecx
call fcn.004f9a4f
add esp, 4
mov dword [esp + 0x2f4], ebp
mov dword [esp + 0x2f0], ebx
mov byte [esp + 0x2e0], bl
cmp dword [esp + 0x2bc], esi
jb 0x412360
mov edx, dword [esp + 0x2a8]
push edx
call fcn.004f9a4f
add esp, 4
mov dword [esp + 0x2bc], ebp
mov dword [esp + 0x2b8], ebx
mov byte [esp + 0x2a8], bl
cmp dword [esp + 0x2d8], esi
jb 0x41238e
mov eax, dword [esp + 0x2c4]
push eax
call fcn.004f9a4f
add esp, 4
lea ecx, [esp + 0x1c8]
mov dword [esp + 0x2d8], ebp
mov dword [esp + 0x2d4], ebx
mov byte [esp + 0x2c4], bl
mov byte [esp + 0x83c], 4
call fcn.00412c30
lea ecx, [esp + 0x1c8]
push ecx
mov dword [esp + method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.004f856e
add esp, 4
cmp dword [esp + 0x364], esi
jb 0x4123eb
mov edx, dword [esp + 0x350]
push edx
call fcn.004f9a4f
add esp, 4
mov dword [esp + 0x364], ebp
mov dword [esp + 0x360], ebx
mov byte [esp + 0x350], bl
cmp dword [esp + 0x348], esi
jb 0x412419
mov eax, dword [esp + 0x334]
push eax
call fcn.004f9a4f
add esp, 4
mov dword [esp + 0x348], ebp
mov dword [esp + 0x344], ebx
mov byte [esp + 0x334], bl
cmp dword [esp + 0x32c], esi
jb 0x412447
mov ecx, dword [esp + 0x318]
push ecx
call fcn.004f9a4f
add esp, 4
mov dword [esp + 0x32c], ebp
mov dword [esp + 0x328], ebx
mov byte [esp + 0x318], bl
cmp dword [esp + 0x3b8], esi
jb 0x412475
mov edx, dword [esp + 0x3a4]
push edx
call fcn.004f9a4f
add esp, 4
mov eax, edi
mov ecx, dword [esp + 0x834]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x818]
xor ecx, esp
call fcn.004f8e7f
add esp, 0x82c
ret