Function at 0x601ba280
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
test edi, edi
jns 0x601ba2a7
mov eax, dword [ebp + 0x1c]
and edi, 0x7fffffff
mov dword [ebp + 0xc], edi
mov dword [eax], 1
jmp 0x601ba2b0
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 0
mov edx, edi
and edx, 0x7ff00000
cmp edx, 0x7ff00000
jne 0x601ba30c
mov eax, dword [ebp + 0x18]
mov dword [eax], 0x270f
mov eax, dword [ebp + 8]
test eax, eax
jne 0x601ba2f2
test edi, 0xfffff
jne 0x601ba2f2
mov ecx, dword [ebp + 0x20]
push 8
push ecx
push str.Infinity
call fcn.601bb260
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x20]
push 3
push edx
push 0x601cbb78
call fcn.601bb260
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fld qword [ebp + 8]
fcomp qword [0x601cbb38]
fnstsw ax
test ah, 0x44
jp 0x601ba33f
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x18]
push 1
push ecx
push 0x601cb560
mov dword [eax], 1
call fcn.601bb260
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 8]
lea edx, [esp + 0x58]
lea eax, [esp + 0x60]
push edx
push eax
push edi
push ebx
call fcn.601b9e00
mov esi, edi
add esp, 0x10
shr esi, 0x14
and esi, 0x7ff
mov dword [esp + 0x18], eax
je 0x601ba391
mov eax, edi
mov dword [esp + 0x80], ebx
and eax, 0xfffff
mov dword [esp + 0x64], 0
or eax, 0x3ff00000
sub esi, 0x3ff
mov dword [esp + 0x84], eax
jmp 0x601ba406
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x58]
lea esi, [ecx + edx + 0x432]
cmp esi, 0x20
jle 0x601ba3b9
mov ecx, 0x40
mov eax, edi
sub ecx, esi
shl eax, cl
lea ecx, [esi - 0x20]
shr ebx, cl
or eax, ebx
jmp 0x601ba3c4
mov ecx, 0x20
mov eax, ebx
sub ecx, esi
shl eax, cl
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], 0
fild qword [esp + 0x80]
mov dword [esp + 0x64], 1
fstp qword [esp + 0x80]
mov ecx, dword [esp + 0x84]
sub ecx, 0x1f00000
sub esi, 0x433
mov dword [esp + 0x84], ecx
fld qword [esp + 0x80]
fsub qword [0x601cbb70]
mov dword [esp + 0x44], esi
fmul qword [0x601cbb68]
fild dword [esp + 0x44]
fstp qword [esp + 0x78]
fld qword [esp + 0x78]
fmul qword [0x601cbb60]
faddp st(1)
fadd qword [0x601cbb58]
fstp qword [esp + 0x78]
fld qword [esp + 0x78]
fld st(0)
call sub.MSVCRT.dll__ftol
fcom qword [0x601cbb38]
mov edi, eax
mov dword [esp + 0x1c], edi
fnstsw ax
test ah, 5
jp 0x601ba473
fild dword [esp + 0x1c]
fstp qword [esp + 0x70]
fcomp qword [esp + 0x70]
fnstsw ax
test ah, 0x44
jnp 0x601ba475
dec edi
mov dword [esp + 0x1c], edi
jmp 0x601ba475
fstp st(0)
xor ecx, ecx
mov edx, 1
cmp edi, ecx
mov dword [esp + 0x5c], edx
jl 0x601ba4a3
cmp edi, 0x16
jg 0x601ba4a3
fld qword [ebp + 8]
fcomp qword [edi*8 + 0x601cba00]
fnstsw ax
test ah, 5
jp 0x601ba49f
dec edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x5c], ecx
mov eax, dword [esp + 0x58]
sub eax, esi
dec eax
js 0x601ba4b2
mov dword [esp + 0x2c], ecx
jmp 0x601ba4ba
neg eax
mov dword [esp + 0x2c], eax
xor eax, eax
cmp edi, ecx
mov dword [esp + 0x3c], eax
jl 0x601ba4d2
add eax, edi
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], edi
mov dword [esp + 0x3c], eax
jmp 0x601ba4e8
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x6c], ecx
sub eax, edi
mov dword [esp + 0x2c], eax
mov eax, edi
neg eax
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 0x10]
cmp eax, ecx
jl 0x601ba4f4
cmp eax, 9
jle 0x601ba4f9
xor eax, eax
mov dword [ebp + 0x10], eax
cmp eax, 5
mov dword [esp + 0x48], edx
jle 0x601ba50c
sub eax, 4
mov dword [esp + 0x48], ecx
mov dword [ebp + 0x10], eax
or ebx, 0xffffffff
cmp eax, 5
mov dword [esp + 0x40], edx
ja case.default.0x601ba518
jmp dword [eax*4 + 0x601bb01c]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x30], ebx
mov esi, 0x12
mov dword [ebp + 0x14], 0
jmp 0x601ba577
mov dword [esp + 0x40], ecx
cmp dword [ebp + 0x14], ecx
jg 0x601ba541
mov dword [ebp + 0x14], edx
mov esi, dword [ebp + 0x14]
mov ebx, esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x30], ebx
jmp 0x601ba577
mov dword [esp + 0x40], ecx
mov eax, dword [ebp + 0x14]
lea esi, [edi + eax + 1]
mov ebx, esi
lea ecx, [esi - 1]
mov dword [esp + 0x30], ebx
test esi, esi
mov dword [esp + 0x54], ecx
jg 0x601ba577
mov esi, 1
jmp 0x601ba577
mov ebx, dword [esp + 0x30]
push esi
call fcn.601bb230
add esp, 4
mov dword [esp + 0x50], eax
test ebx, ebx
mov dword [esp + 0x10], eax
jl 0x601ba756
cmp ebx, 0xe
jg 0x601ba756
mov eax, dword [esp + 0x48]
test eax, eax
je 0x601ba756
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x80], edx
mov edx, 2
test edi, edi
mov dword [esp + 0x84], eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x70], ebx
mov dword [esp + 0x48], edx
jle 0x601ba63b
mov ecx, edi
and ecx, 0xf
mov eax, dword [ecx*8 + 0x601cba00]
mov dword [esp + 0x78], eax
mov eax, edi
mov ecx, dword [ecx*8 + 0x601cba04]
sar eax, 4
test al, 0x10
mov dword [esp + 0x7c], ecx
je 0x601ba60a
fld qword [ebp + 8]
fdiv qword [0x601cbad8]
mov edx, 3
and eax, 0xf
mov dword [esp + 0x48], edx
fstp qword [ebp + 8]
test eax, eax
je 0x601ba62f
mov ecx, 0x601cbab8
test al, 1
je 0x601ba622
fld qword [esp + 0x78]
fmul qword [ecx]
inc edx
fstp qword [esp + 0x78]
sar eax, 1
add ecx, 8
test eax, eax
jne 0x601ba613
mov dword [esp + 0x48], edx
fld qword [ebp + 8]
fdiv qword [esp + 0x78]
fstp qword [ebp + 8]
jmp 0x601ba677
mov eax, edi
neg eax
je 0x601ba677
fld qword [ebp + 8]
mov ecx, eax
and ecx, 0xf
sar eax, 4
fmul qword [ecx*8 + 0x601cba00]
fstp qword [ebp + 8]
je 0x601ba677
mov ecx, 0x601cbab8
test al, 1
je 0x601ba66a
fld qword [ebp + 8]
fmul qword [ecx]
inc edx
fstp qword [ebp + 8]
sar eax, 1
add ecx, 8
test eax, eax
jne 0x601ba65d
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x601ba6bb
fld qword [ebp + 8]
fcomp qword [0x601cbb28]
fnstsw ax
test ah, 5
jp 0x601ba6bb
test ebx, ebx
jle 0x601ba6bb
mov eax, dword [esp + 0x54]
test eax, eax
jle 0x601ba72a
fld qword [ebp + 8]
fmul qword [0x601cbb50]
dec edi
mov ebx, eax
inc edx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x48], edx
fstp qword [ebp + 8]
fild dword [esp + 0x48]
xor eax, eax
fstp qword [esp + 0x48]
fld qword [esp + 0x48]
fmul qword [ebp + 8]
fadd qword [0x601cbb48]
fstp qword [esp + 0x48]
mov edx, dword [esp + 0x4c]
sub edx, 0x3400000
cmp ebx, eax
mov dword [esp + 0x4c], edx
jne 0x601ba7cb
fld qword [ebp + 8]
fsub qword [0x601cbb40]
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], eax
fstp qword [ebp + 8]
fld qword [ebp + 8]
fcomp qword [esp + 0x48]
fnstsw ax
and eax, 0x4100
je 0x601bacab
fld qword [esp + 0x48]
fchs
fcomp qword [ebp + 8]
fnstsw ax
and eax, 0x4100
je 0x601ba7ba
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x10], edx
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x30], ebx
mov eax, dword [esp + 0x60]
xor ecx, ecx
cmp eax, ecx
jl 0x601baa4d
cmp edi, 0xe
jg 0x601baa4d
mov eax, dword [edi*8 + 0x601cba04]
mov edx, dword [edi*8 + 0x601cba00]
mov dword [esp + 0x7c], eax
mov eax, dword [ebp + 0x14]
cmp eax, ecx
mov dword [esp + 0x78], edx
jge 0x601ba954
cmp ebx, ecx
jg 0x601ba954
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], ecx
jl 0x601ba7ba
fld qword [esp + 0x78]
fmul qword [0x601cbb40]
fcomp qword [ebp + 8]
fnstsw ax
and eax, 0x100
jne 0x601bacab
mov ecx, dword [ebp + 0x14]
or eax, 0xffffffff
sub eax, ecx
mov dword [esp + 0x1c], eax
jmp 0x601bafb5
cmp dword [esp + 0x40], eax
je 0x601ba8a6
fld qword [0x601cb708]
fdiv qword [ebx*8 + 0x601cb9f8]
xor esi, esi
fsub qword [esp + 0x48]
fstp qword [esp + 0x48]
fld qword [ebp + 8]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x50]
fild dword [esp + 0x20]
add al, 0x30
mov byte [ecx], al
inc ecx
fstp qword [esp + 0x20]
fld qword [ebp + 8]
fsub qword [esp + 0x20]
mov dword [esp + 0x10], ecx
fstp qword [ebp + 8]
fld qword [ebp + 8]
fcomp qword [esp + 0x48]
fnstsw ax
test ah, 5
jnp 0x601bafe8
fld qword [0x601cbb28]
fsub qword [ebp + 8]
fcomp qword [esp + 0x48]
fnstsw ax
test ah, 5
jnp 0x601baa08
mov eax, dword [esp + 0x30]
inc esi
cmp esi, eax
jge 0x601ba72a
fld qword [esp + 0x48]
fmul qword [0x601cbb50]
fstp qword [esp + 0x48]
fld qword [ebp + 8]
fmul qword [0x601cbb50]
fstp qword [ebp + 8]
fld qword [ebp + 8]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x10]
fild dword [esp + 0x20]
add al, 0x30
mov byte [ecx], al
inc ecx
fstp qword [esp + 0x20]
fld qword [ebp + 8]
fsub qword [esp + 0x20]
mov dword [esp + 0x10], ecx
fstp qword [ebp + 8]
fld qword [ebp + 8]
fcomp qword [esp + 0x48]
fnstsw ax
test ah, 5
jp 0x601ba829
jmp 0x601bafe8
fld qword [esp + 0x48]
fmul qword [ebx*8 + 0x601cb9f8]
mov edi, dword [esp + 0x10]
mov esi, 1
fstp qword [esp + 0x48]
fld qword [ebp + 8]
call sub.MSVCRT.dll__ftol
mov ecx, eax
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
fstp qword [esp + 0x30]
fld qword [ebp + 8]
fsub qword [esp + 0x30]
fstp qword [ebp + 8]
fld qword [ebp + 8]
fcomp qword [0x601cbb38]
fnstsw ax
test ah, 0x44
jp 0x601ba8f0
mov ebx, esi
add cl, 0x30
mov byte [edi], cl
inc edi
cmp esi, ebx
je 0x601ba909
fld qword [ebp + 8]
fmul qword [0x601cbb50]
inc esi
fstp qword [ebp + 8]
jmp 0x601ba8be
fld qword [esp + 0x48]
fadd qword [0x601cb708]
mov dword [esp + 0x10], edi
fcomp qword [ebp + 8]
fnstsw ax
test ah, 5
jnp 0x601baa08
fld qword [0x601cb708]
fsub qword [esp + 0x48]
fcomp qword [ebp + 8]
fnstsw ax
and eax, 0x4100
jne 0x601ba72a
mov eax, edi
mov cl, byte [eax - 1]
dec eax
cmp cl, 0x30
je 0x601ba941
inc eax
mov dword [esp + 0x10], eax
jmp 0x601bafe8
mov ecx, dword [esp + 0x1c]
mov esi, 1
lea edi, [ecx + 1]
cmp edi, esi
jl 0x601bafe8
fld qword [ebp + 8]
fdiv qword [esp + 0x78]
call sub.MSVCRT.dll__ftol
mov ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], ecx
mov dl, cl
fild dword [esp + 0x20]
add dl, 0x30
mov byte [eax], dl
inc eax
fstp qword [esp + 0x80]
fld qword [esp + 0x80]
fmul qword [esp + 0x78]
mov dword [esp + 0x10], eax
fsubr qword [ebp + 8]
fstp qword [ebp + 8]
fld qword [ebp + 8]
fcomp qword [0x601cbb38]
fnstsw ax
test ah, 0x44
jnp 0x601bafe8
mov eax, dword [esp + 0x30]
fld qword [ebp + 8]
cmp esi, eax
je 0x601ba9d8
fmul qword [0x601cbb50]
inc esi
cmp esi, edi
fstp qword [ebp + 8]
jle 0x601ba968
jmp 0x601bafe8
fadd st(0), st(0)
fstp qword [ebp + 8]
fld qword [ebp + 8]
fcomp qword [esp + 0x78]
fnstsw ax
and eax, 0x4100
je 0x601baa08
fld qword [ebp + 8]
fcomp qword [esp + 0x78]
fnstsw ax
test ah, 0x44
jp 0x601bafe8
test cl, 1
je 0x601bafe8
mov eax, dword [esp + 0x10]
dec eax
cmp byte [eax], 0x39
jne 0x601baa3d
mov ecx, dword [esp + 0x50]
cmp eax, ecx
je 0x601baa31
mov dl, byte [eax - 1]
dec eax
cmp dl, 0x39
je 0x601baa16
inc dl
mov byte [eax], dl
inc eax
mov dword [esp + 0x10], eax
jmp 0x601bafe8
mov ecx, dword [esp + 0x1c]
mov byte [eax], 0x30
inc ecx
mov dword [esp + 0x1c], ecx
mov dl, byte [eax]
inc dl
mov byte [eax], dl
inc eax
mov dword [esp + 0x10], eax
jmp 0x601bafe8
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 0x2c]
cmp edx, ecx
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x14], ecx
je 0x601baaa1
cmp dword [esp + 0x64], ecx
je 0x601baa72
add eax, 0x433
jmp 0x601baa7d
mov ecx, dword [esp + 0x58]
mov eax, 0x36
sub eax, ecx
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
add edx, eax
add edi, eax
push 1
mov dword [esp + 0x30], edx
mov dword [esp + 0x40], edi
call fcn.601b9890
add esp, 4
mov dword [esp + 0x14], eax
jmp 0x601baaa5
mov edi, dword [esp + 0x3c]
test esi, esi
jle 0x601baacb
test edi, edi
jle 0x601baacb
cmp esi, edi
mov eax, esi
jl 0x601baab5
mov eax, edi
mov ecx, dword [esp + 0x2c]
sub esi, eax
sub ecx, eax
sub edi, eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x44], esi
mov dword [esp + 0x3c], edi
mov eax, dword [esp + 0x68]
test eax, eax
jle 0x601bab17
mov ecx, dword [esp + 0x40]
push eax
test ecx, ecx
je 0x601bab06
mov eax, dword [esp + 0x18]
push eax
call fcn.601b9a70
mov esi, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
push esi
push eax
call fcn.601b98b0
push esi
mov edi, eax
call fcn.601b96f0
add esp, 0x14
mov dword [esp + 0x18], edi
jmp 0x601bab17
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.601b9a70
add esp, 8
mov dword [esp + 0x18], eax
push 1
call fcn.601b9890
mov esi, dword [esp + 0x70]
add esp, 4
test esi, esi
mov dword [esp + 0x20], eax
jle 0x601bab3b
push esi
push eax
call fcn.601b9a70
add esp, 8
mov dword [esp + 0x20], eax
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x6c], 0
cmp ecx, 2
jl 0x601bab53
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x601bab81
mov ecx, dword [ebp + 8]
test ecx, ecx
jne 0x601bab81
mov ecx, dword [ebp + 0xc]
test ecx, 0xfffff
jne 0x601bab81
test ecx, 0x7fe00000
je 0x601bab81
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
inc edx
inc edi
mov dword [esp + 0x6c], 1
jmp 0x601bab89
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
test esi, esi
je 0x601baba6
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + ecx*4 + 0x10]
push eax
call fcn.601b9f10
mov ecx, 0x20
add esp, 4
sub ecx, eax
jmp 0x601babab
mov ecx, 1
lea eax, [ecx + edi]
and eax, 0x1f
je 0x601babbc
mov ecx, 0x20
sub ecx, eax
mov eax, ecx
cmp eax, 4
jle 0x601babc6
sub eax, 4
jmp 0x601babcb
jge 0x601babd9
add eax, 0x1c
mov esi, dword [esp + 0x44]
add edx, eax
add esi, eax
add edi, eax
mov dword [esp + 0x44], esi
test edx, edx
jle 0x601babf3
push edx
mov edx, dword [esp + 0x1c]
push edx
call fcn.601b9b60
mov esi, eax
add esp, 8
mov dword [esp + 0x18], esi
jmp 0x601babf7
mov esi, dword [esp + 0x18]
test edi, edi
jle 0x601bac0d
mov eax, dword [esp + 0x20]
push edi
push eax
call fcn.601b9b60
add esp, 8
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x601bac66
mov ecx, dword [esp + 0x20]
push ecx
push esi
call fcn.601b9c40
add esp, 8
test eax, eax
jge 0x601bac66
mov eax, dword [esp + 0x1c]
push 0
dec eax
push 0xa
push esi
mov dword [esp + 0x28], eax
call fcn.601b97d0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x4c]
add esp, 0xc
test eax, eax
je 0x601bac5e
mov edx, dword [esp + 0x14]
push 0
push 0xa
push edx
call fcn.601b97d0
add esp, 0xc
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x30], ebx
test ebx, ebx
jg 0x601bacbd
mov eax, dword [ebp + 0x10]
cmp eax, 3
je 0x601bac77
cmp eax, 5
jne 0x601bacbd
test ebx, ebx
jl 0x601ba7ba
mov eax, dword [esp + 0x20]
push 0
push 5
push eax
call fcn.601b97d0
mov ecx, dword [esp + 0x24]
push eax
push ecx
mov dword [esp + 0x34], eax
call fcn.601b9c40
add esp, 0x14
test eax, eax
jle 0x601ba7ba
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov byte [eax], 0x31
inc eax
inc edi
mov dword [esp + 0x1c], edi
jmp 0x601bafb1
mov eax, dword [esp + 0x40]
test eax, eax
je 0x601baf0c
mov eax, dword [esp + 0x44]
test eax, eax
jle 0x601bace3
mov edx, dword [esp + 0x14]
push eax
push edx
call fcn.601b9b60
add esp, 8
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x6c]
mov esi, dword [esp + 0x14]
test eax, eax
mov dword [esp + 0x48], esi
je 0x601bad2b
mov eax, esi
mov ecx, dword [eax + 4]
push ecx
call fcn.601b9650
mov edx, dword [esi + 0x10]
add esi, 0xc
lea edi, [eax + 0xc]
push 1
lea ecx, [edx*4 + 8]
push eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.601b9b60
add esp, 0xc
mov dword [esp + 0x14], eax
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x44], 1
mov eax, dword [esp + 0x20]
push eax
push edi
call fcn.601bb040
mov ebx, eax
push esi
push edi
add ebx, 0x30
call fcn.601b9c40
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
push ecx
push edx
mov dword [esp + 0x84], eax
call fcn.601b9c90
mov esi, eax
add esp, 0x18
mov eax, dword [esi + 0xc]
test eax, eax
je 0x601bad7e
mov dword [esp + 0x54], 1
jmp 0x601bad8c
push esi
push edi
call fcn.601b9c40
add esp, 8
mov dword [esp + 0x54], eax
push esi
call fcn.601b96f0
mov eax, dword [esp + 0x58]
add esp, 4
test eax, eax
mov ecx, 1
jne 0x601badb0
cmp dword [ebp + 0x10], ecx
je 0x601badb0
test byte [ebp + 8], cl
je 0x601bae6d
mov eax, dword [esp + 0x6c]
test eax, eax
jl 0x601bae98
jne 0x601badcd
cmp dword [ebp + 0x10], ecx
je 0x601badcd
test byte [ebp + 8], 1
je 0x601bae98
mov eax, dword [esp + 0x54]
test eax, eax
jg 0x601bae86
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
mov byte [eax], bl
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
cmp eax, ecx
je 0x601baf60
mov ecx, dword [esp + 0x18]
push 0
push 0xa
push ecx
call fcn.601b97d0
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov edi, eax
mov eax, dword [esp + 0x48]
push 0
cmp eax, ecx
mov dword [esp + 0x1c], edi
push 0xa
jne 0x601bae3e
mov edx, ecx
push edx
call fcn.601b97d0
mov esi, eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x50]
add esp, 0xc
inc eax
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], eax
jmp 0x601bad3b
push eax
call fcn.601b97d0
mov esi, eax
mov eax, dword [esp + 0x20]
push 0
push 0xa
push eax
mov dword [esp + 0x60], esi
call fcn.601b97d0
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x5c]
add esp, 0x18
inc eax
mov dword [esp + 0x44], eax
jmp 0x601bad3b
cmp ebx, 0x39
je 0x601baed8
mov eax, dword [esp + 0x6c]
test eax, eax
jle 0x601bae7b
inc ebx
mov eax, dword [esp + 0x10]
mov byte [eax], bl
jmp 0x601bafb0
cmp ebx, 0x39
je 0x601baed8
inc bl
mov eax, dword [esp + 0x10]
mov byte [eax], bl
jmp 0x601bafb0
mov eax, dword [edi + 0x14]
test eax, eax
jne 0x601baea4
cmp dword [edi + 0x10], ecx
jle 0x601bae8d
mov eax, dword [esp + 0x54]
test eax, eax
jle 0x601bae8d
push ecx
push edi
call fcn.601b9b60
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x20], eax
push ecx
push eax
call fcn.601b9c40
add esp, 0x10
test eax, eax
jg 0x601baed0
jne 0x601bae8d
test bl, 1
je 0x601bae8d
mov edx, ebx
inc ebx
cmp edx, 0x39
jne 0x601bae8d
mov eax, dword [esp + 0x10]
mov byte [eax], 0x39
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
dec eax
cmp byte [eax], 0x39
jne 0x601bafae
mov ecx, dword [esp + 0x50]
cmp eax, ecx
je 0x601bafa0
mov dl, byte [eax - 1]
dec eax
cmp dl, 0x39
je 0x601baef6
jmp 0x601bafae
mov esi, dword [esp + 0x18]
mov edi, 1
mov eax, dword [esp + 0x20]
push eax
push esi
call fcn.601bb040
mov ebx, eax
mov eax, dword [esp + 0x18]
add ebx, 0x30
add esp, 8
mov byte [eax], bl
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x14]
test eax, eax
jne 0x601baf44
cmp dword [esi + 0x10], 1
jle 0x601bafb5
mov esi, dword [esp + 0x18]
cmp edi, dword [esp + 0x30]
jge 0x601baf60
push 0
push 0xa
push esi
call fcn.601b97d0
mov esi, eax
add esp, 0xc
mov dword [esp + 0x18], esi
inc edi
jmp 0x601baf15
mov ecx, dword [esp + 0x18]
push 1
push ecx
call fcn.601b9b60
mov edx, dword [esp + 0x28]
mov dword [esp + 0x20], eax
push edx
push eax
call fcn.601b9c40
add esp, 0x10
test eax, eax
jg 0x601baee4
jne 0x601baf91
test bl, 1
jne 0x601baee4
mov eax, dword [esp + 0x10]
mov cl, byte [eax - 1]
dec eax
cmp cl, 0x30
je 0x601baf95
jmp 0x601bafb0
mov edx, dword [esp + 0x1c]
mov byte [eax], 0x31
inc edx
mov dword [esp + 0x1c], edx
jmp 0x601bafb0
inc byte [eax]
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
push eax
call fcn.601b96f0
mov esi, dword [esp + 0x18]
add esp, 4
test esi, esi
je 0x601bafe8
mov eax, dword [esp + 0x48]
test eax, eax
je 0x601bafdf
cmp eax, esi
je 0x601bafdf
push eax
call fcn.601b96f0
add esp, 4
push esi
call fcn.601b96f0
add esp, 4
mov ecx, dword [esp + 0x18]
push ecx
call fcn.601b96f0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov eax, dword [ebp + 0x18]
add esp, 4
inc edx
mov byte [ecx], 0
mov dword [eax], edx
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x601bb00f
mov dword [eax], ecx
mov eax, dword [esp + 0x50]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret