Function at 0x40c340
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x314
mov eax, dword [0x43100c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push str.8c4642
lea ecx, [ebp - 0x170]
call fcn.00413990
lea ecx, [ebp - 0x158]
call fcn.004059f0
lea eax, [ebp - 0x170]
push eax
push ecx
lea ecx, [ebp - 0x1d8]
call fcn.00405490
add esp, 4
lea ecx, [ebp - 0x128]
mov edx, eax
call fcn.00413f30
mov edx, dword [ebp - 0x1c4]
add esp, 4
cmp edx, 0x10
jb 0x40c3d1
mov ecx, dword [ebp - 0x1d8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40c3c7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d09f
push edx
push ecx
call fcn.004152ae
add esp, 8
push 0x104
lea eax, [ebp - 0x110]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0xf
lea edx, [ecx + 1]
mov byte [ebp - 0x140], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40c410
sub ecx, edx
lea eax, [ebp - 0x110]
push ecx
push eax
lea ecx, [ebp - 0x140]
call fcn.00413cf0
sub esp, 0x18
lea eax, [ebp - 0x128]
mov ecx, esp
push eax
call fcn.00413990
sub esp, 0x18
lea eax, [ebp + 0x38]
mov ecx, esp
push eax
call fcn.00413990
call fcn.00407cb0
cmp dword [ebp - 0x114], 0x10
lea eax, [ebp - 0x128]
push 0x42eed0
cmovae eax, dword [ebp - 0x128]
push eax
call fcn.0041758c
add esp, 0x38
test eax, eax
je 0x40cdea
push eax
call fcn.0041761a
add esp, 4
lea eax, [ebp - 0x128]
lea ecx, [ebp - 0x1c0]
push eax
call fcn.00413990
cmp dword [ebp - 0x1ac], 0x10
lea ecx, [ebp - 0x1a0]
lea eax, [ebp - 0x1c0]
cmovae eax, dword [ebp - 0x1c0]
push ecx
push eax
call fcn.0041818c
mov edx, dword [ebp - 0x1ac]
or edi, 0xffffffff
add esp, 8
test eax, eax
cmove edi, dword [ebp - 0x18c]
cmp edx, 0x10
jb 0x40c4ff
mov ecx, dword [ebp - 0x1c0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40c4f5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0a4
push edx
push ecx
call fcn.004152ae
add esp, 8
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0xf
mov byte [ebp - 0x1c0], 0
call fcn.00418210
cmp dword [ebp + 0x7c], 0x10
lea esi, [ebp + 0x68]
mov ebx, eax
lea eax, [ebp - 0x1a4]
cmovae esi, dword [ebp + 0x68]
push 0xa
push eax
push esi
mov dword [ebx], 0
call fcn.004184d8
add esp, 0xc
cmp esi, dword [ebp - 0x1a4]
je 0x40d0a9
cmp dword [ebx], 0x22
je 0x40d0bd
cmp edi, eax
jle 0x40cdea
sub esp, 0x18
mov esi, esp
sub esp, 0x18
mov ecx, esp
push str.1zG
call fcn.00413990
mov ecx, esi
call fcn.00402910
mov ecx, esp
push str.995022676303
call fcn.00413990
sub esp, 0x18
lea eax, [ebp + 0x50]
mov ecx, esp
push eax
call fcn.00413990
sub esp, 0x18
lea eax, [ebp + 0x20]
mov ecx, esp
push eax
call fcn.00413990
sub esp, 0x18
lea eax, [ebp + 8]
mov ecx, esp
push eax
call fcn.00413990
call fcn.0040b5a0
add esp, 0x78
lea ecx, [ebp - 0x1d8]
call fcn.00405490
cmp dword [eax + 0x14], 0x10
jb 0x40c5cd
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov edx, dword [ebp - 0x1c4]
cmp edx, 0x10
jb 0x40c60e
mov ecx, dword [ebp - 0x1d8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40c604
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0b3
push edx
push ecx
call fcn.004152ae
add esp, 8
sub esp, 0x18
mov ecx, esp
push 0x432264
call fcn.00413990
lea ecx, [ebp - 0x2f8]
call fcn.00402910
add esp, 0x18
push eax
lea eax, [ebp - 0x158]
push eax
sub esp, 0x18
mov ecx, esp
push 0x432174
call fcn.00413990
lea ecx, [ebp - 0x2e0]
call fcn.00402910
add esp, 0x18
lea ecx, [ebp - 0x2c8]
mov edx, eax
call fcn.00413f30
add esp, 4
lea ecx, [ebp - 0x2b0]
mov edx, eax
call fcn.00413e40
mov ecx, eax
add esp, 4
mov esi, dword [ecx + 0x14]
mov eax, esi
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 1
jb 0x40c698
lea eax, [edx + 1]
mov dword [ecx + 0x10], eax
mov eax, ecx
cmp esi, 0x10
jb 0x40c690
mov eax, dword [ecx]
mov word [eax + edx], 0x22
jmp 0x40c6b5
push 1
push 0x42eef8
mov byte [ebp - 0x1a4], 0
push dword [ebp - 0x1a4]
push 1
call fcn.00414440
mov ecx, eax
movups xmm0, xmmword [ecx]
lea eax, [ebp - 0x170]
push eax
movups xmmword [ebp - 0x208], xmm0
sub esp, 0x1c
movq xmm0, qword [ecx + 0x10]
movq qword [ebp - 0x1f8], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
mov ecx, esp
push str.KeCbO_uyZR7d
call fcn.00413990
lea ecx, [ebp - 0x310]
call fcn.00402910
add esp, 0x1c
lea edx, [ebp - 0x208]
lea ecx, [ebp - 0x298]
push eax
lea eax, [ebp - 0x158]
push eax
call fcn.00413f30
add esp, 4
lea ecx, [ebp - 0x280]
mov edx, eax
call fcn.00413e40
add esp, 4
lea ecx, [ebp - 0x268]
mov edx, eax
call fcn.00413f30
mov ecx, eax
add esp, 4
mov esi, dword [ecx + 0x14]
mov eax, esi
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 1
jb 0x40c765
lea eax, [edx + 1]
mov dword [ecx + 0x10], eax
mov eax, ecx
cmp esi, 0x10
jb 0x40c75d
mov eax, dword [ecx]
mov word [eax + edx], 0x20
jmp 0x40c782
push 1
push 0x42eef0
mov byte [ebp - 0x1a4], 0
push dword [ebp - 0x1a4]
push 1
call fcn.00414440
mov ecx, eax
movups xmm0, xmmword [ecx]
lea eax, [ebp - 0x140]
push eax
movups xmmword [ebp - 0x1f0], xmm0
sub esp, 0x1c
movq xmm0, qword [ecx + 0x10]
movq qword [ebp - 0x1e0], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
mov ecx, esp
push str.Ky0bNr
call fcn.00413990
lea ecx, [ebp - 0x1d8]
call fcn.00402910
add esp, 0x1c
lea edx, [ebp - 0x1f0]
lea ecx, [ebp - 0x250]
push eax
lea eax, [ebp - 0x158]
push eax
call fcn.00413f30
add esp, 4
lea ecx, [ebp - 0x238]
mov edx, eax
call fcn.00413e40
add esp, 4
lea ecx, [ebp - 0x220]
mov edx, eax
call fcn.00413f30
mov ecx, eax
add esp, 4
mov esi, dword [ecx + 0x14]
mov eax, esi
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 1
jb 0x40c832
lea eax, [edx + 1]
mov dword [ecx + 0x10], eax
mov eax, ecx
cmp esi, 0x10
jb 0x40c82a
mov eax, dword [ecx]
mov word [eax + edx], 0x20
jmp 0x40c84f
push 1
push 0x42eef0
mov byte [ebp - 0x1a4], 0
push dword [ebp - 0x1a4]
push 1
call fcn.00414440
mov ecx, eax
movups xmm0, xmmword [ecx]
sub esp, 0x18
mov esi, esp
sub esp, 0x18
movups xmmword [ebp - 0x1c0], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [ebp - 0x1b0], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
mov ecx, esp
push str.Le06WOapdxL
call fcn.00413990
lea ecx, [ebp - 0x188]
call fcn.00402910
push eax
lea edx, [ebp - 0x1c0]
mov ecx, esi
call fcn.00413e40
add esp, 0x1c
call fcn.00403a50
mov edx, dword [ebp - 0x1ac]
add esp, 0x18
cmp edx, 0x10
jb 0x40c8e9
mov ecx, dword [ebp - 0x1c0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40c8df
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0b8
push edx
push ecx
call fcn.004152ae
add esp, 8
mov edx, dword [ebp - 0x20c]
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0xf
mov byte [ebp - 0x1c0], 0
cmp edx, 0x10
jb 0x40c93e
mov ecx, dword [ebp - 0x220]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40c934
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0b8
push edx
push ecx
call fcn.004152ae
add esp, 8
mov edx, dword [ebp - 0x224]
mov dword [ebp - 0x210], 0
mov dword [ebp - 0x20c], 0xf
mov byte [ebp - 0x220], 0
cmp edx, 0x10
jb 0x40c993
mov ecx, dword [ebp - 0x238]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40c989
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0b8
push edx
push ecx
call fcn.004152ae
add esp, 8
mov edx, dword [ebp - 0x23c]
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x224], 0xf
mov byte [ebp - 0x238], 0
cmp edx, 0x10
jb 0x40c9e8
mov ecx, dword [ebp - 0x250]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40c9de
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0b8
push edx
push ecx
call fcn.004152ae
add esp, 8
mov edx, dword [ebp - 0x1dc]
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x23c], 0xf
mov byte [ebp - 0x250], 0
cmp edx, 0x10
jb 0x40ca3d
mov ecx, dword [ebp - 0x1f0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ca33
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0b8
push edx
push ecx
call fcn.004152ae
add esp, 8
mov edx, dword [ebp - 0x254]
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1dc], 0xf
mov byte [ebp - 0x1f0], 0
cmp edx, 0x10
jb 0x40ca92
mov ecx, dword [ebp - 0x268]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ca88
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0b8
push edx
push ecx
call fcn.004152ae
add esp, 8
mov edx, dword [ebp - 0x26c]
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 0xf
mov byte [ebp - 0x268], 0
cmp edx, 0x10
jb 0x40cae7
mov ecx, dword [ebp - 0x280]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40cadd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0b8
push edx
push ecx
call fcn.004152ae
add esp, 8
mov edx, dword [ebp - 0x284]
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0xf
mov byte [ebp - 0x280], 0
cmp edx, 0x10
jb 0x40cb3c
mov ecx, dword [ebp - 0x298]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40cb32
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0b8
push edx
push ecx
call fcn.004152ae
add esp, 8
mov edx, dword [ebp - 0x1f4]
mov dword [ebp - 0x288], 0
mov dword [ebp - 0x284], 0xf
mov byte [ebp - 0x298], 0
cmp edx, 0x10
jb 0x40cb91
mov ecx, dword [ebp - 0x208]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40cb87
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0b8
push edx
push ecx
call fcn.004152ae
add esp, 8
mov edx, dword [ebp - 0x29c]
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0xf
mov byte [ebp - 0x208], 0
cmp edx, 0x10
jb 0x40cbe6
mov ecx, dword [ebp - 0x2b0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40cbdc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0b8
push edx
push ecx
call fcn.004152ae
add esp, 8
mov edx, dword [ebp - 0x2b4]
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x29c], 0xf
mov byte [ebp - 0x2b0], 0
cmp edx, 0x10
jb 0x40cc3b
mov ecx, dword [ebp - 0x2c8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40cc31
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0b8
push edx
push ecx
call fcn.004152ae
add esp, 8
mov edx, dword [ebp - 0x2cc]
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x2b4], 0xf
mov byte [ebp - 0x2c8], 0
cmp edx, 0x10
jb 0x40cc90
mov ecx, dword [ebp - 0x2e0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40cc86
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0b8
push edx
push ecx
call fcn.004152ae
add esp, 8
mov edx, dword [ebp - 0x2e4]
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x2cc], 0xf
mov byte [ebp - 0x2e0], 0
cmp edx, 0x10
jb 0x40cce5
mov ecx, dword [ebp - 0x2f8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ccdb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0b8
push edx
push ecx
call fcn.004152ae
add esp, 8
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x2e8], 0
mov dword [ebp - 0x2e4], 0xf
mov byte [ebp - 0x2f8], 0
cmp edx, 0x10
jb 0x40cd3a
mov ecx, dword [ebp - 0x310]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40cd30
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0b8
push edx
push ecx
call fcn.004152ae
add esp, 8
mov edx, dword [ebp - 0x1c4]
mov dword [ebp - 0x300], 0
mov dword [ebp - 0x2fc], 0xf
mov byte [ebp - 0x310], 0
cmp edx, 0x10
jb 0x40cd8f
mov ecx, dword [ebp - 0x1d8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40cd85
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0b8
push edx
push ecx
call fcn.004152ae
add esp, 8
mov edx, dword [ebp - 0x174]
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1c4], 0xf
mov byte [ebp - 0x1d8], 0
cmp edx, 0x10
jb 0x40ce43
mov ecx, dword [ebp - 0x188]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40cdde
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0b8
push edx
push ecx
call fcn.004152ae
add esp, 8
jmp 0x40ce43
sub esp, 0x18
mov esi, esp
sub esp, 0x18
mov ecx, esp
push str.1PC
call fcn.00413990
mov ecx, esi
call fcn.00402910
mov ecx, esp
push str.995022676303
call fcn.00413990
sub esp, 0x18
lea eax, [ebp + 0x50]
mov ecx, esp
push eax
call fcn.00413990
sub esp, 0x18
lea eax, [ebp + 0x20]
mov ecx, esp
push eax
call fcn.00413990
sub esp, 0x18
lea eax, [ebp + 8]
mov ecx, esp
push eax
call fcn.00413990
call fcn.0040b5a0
add esp, 0x78
mov edx, dword [ebp - 0x12c]
cmp edx, 0x10
jb 0x40ce7d
mov ecx, dword [ebp - 0x140]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ce73
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0c7
push edx
push ecx
call fcn.004152ae
add esp, 8
mov edx, dword [ebp - 0x114]
cmp edx, 0x10
jb 0x40ceb7
mov ecx, dword [ebp - 0x128]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40cead
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0c7
push edx
push ecx
call fcn.004152ae
add esp, 8
mov edx, dword [ebp - 0x144]
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0xf
mov byte [ebp - 0x128], 0
cmp edx, 0x10
jb 0x40cf0c
mov ecx, dword [ebp - 0x158]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40cf02
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0c7
push edx
push ecx
call fcn.004152ae
add esp, 8
mov edx, dword [ebp - 0x15c]
cmp edx, 0x10
jb 0x40cf46
mov ecx, dword [ebp - 0x170]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40cf3c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0c7
push edx
push ecx
call fcn.004152ae
add esp, 8
mov edx, dword [ebp + 0x1c]
cmp edx, 0x10
jb 0x40cf7a
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40cf70
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0c7
push edx
push ecx
call fcn.004152ae
add esp, 8
mov edx, dword [ebp + 0x34]
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x1c], 0xf
mov byte [ebp + 8], 0
cmp edx, 0x10
jb 0x40cfc0
mov ecx, dword [ebp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40cfb6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0c7
push edx
push ecx
call fcn.004152ae
add esp, 8
mov edx, dword [ebp + 0x4c]
mov dword [ebp + 0x30], 0
mov dword [ebp + 0x34], 0xf
mov byte [ebp + 0x20], 0
cmp edx, 0x10
jb 0x40d006
mov ecx, dword [ebp + 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40cffc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0c7
push edx
push ecx
call fcn.004152ae
add esp, 8
mov edx, dword [ebp + 0x64]
mov dword [ebp + 0x48], 0
mov dword [ebp + 0x4c], 0xf
mov byte [ebp + 0x38], 0
cmp edx, 0x10
jb 0x40d04c
mov ecx, dword [ebp + 0x50]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40d042
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0c7
push edx
push ecx
call fcn.004152ae
add esp, 8
mov edx, dword [ebp + 0x7c]
mov dword [ebp + 0x60], 0
mov dword [ebp + 0x64], 0xf
mov byte [ebp + 0x50], 0
cmp edx, 0x10
jb 0x40d08e
mov ecx, dword [ebp + 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40d084
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d0c7
push edx
push ecx
call fcn.004152ae
add esp, 8
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00414c3c
mov esp, ebp
pop ebp
ret
call fcn.004186fc
call fcn.004186fc
push str.invalid_stoi_argument
call fcn.00414bdc
call fcn.004186fc
call fcn.004186fc
push str.stoi_argument_out_of_range
call fcn.00414c1c
call fcn.004186fc
int3