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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x49c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x454], esp
sub esp, 0x250
lea edx, [esp + 0x2f]
sub esp, 0x20
lea ecx, [esp + 0x2f]
and edx, 0xfffffff0
and ecx, 0xfffffff0
test eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x46c], edx
mov dword [ebp - 0x470], ecx
je 0x532170
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x532170
mov ebx, dword [ebp - 0x470]
mov dword [esp + 4], 0xb1d9c4
mov dword [esp + 8], ebx
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
mov dword [ebp - 0x450], 2
test eax, eax
je 0x531dc9
mov eax, dword [ebx]
mov dword [ebp - 0x450], 3
test eax, eax
je 0x531de0
mov eax, dword [ebp - 0x450]
mov esp, dword [ebp - 0x454]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [ebp - 0x14]
mov dword [esp + 4], 0xb1d956
mov dword [esp], ebx
call sub.msvcrt.dll_strcspn
lea esi, [ebx + eax]
movzx eax, byte [esi]
test al, al
je 0x531e20
cmp al, 0xd
je 0x532164
cmp al, 0xa
je 0x531e1c
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x450], 1
jmp 0x531dc9
add esi, 1
nop
test esi, esi
mov dword [ebp - 0x488], esi
mov dword [ebp - 0x14], esi
je 0x531e10
mov eax, 2
mov edi, 0xb1d9cb
cld
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
mov dword [ebp - 0x450], 4
seta dl
setb al
cmp dl, al
jne 0x531dc9
add dword [ebp - 0x488], 2
mov eax, dword [ebp - 0x46c]
mov ebx, dword [ebp - 0x488]
mov edx, dword [ebp - 0x46c]
mov ecx, dword [ebp - 0x46c]
add eax, 0x1e0
mov dword [ebp - 0x468], eax
mov eax, dword [ebp - 0x46c]
mov dword [ebp - 0x14], ebx
add edx, 0x120
mov ebx, dword [ebp - 0x46c]
mov dword [ebp - 0x464], edx
mov edx, dword [ebp - 0x468]
add ecx, 0xc0
mov dword [ebp - 0x460], ecx
add eax, 0x60
add ebx, 0x180
mov dword [ebp - 0x45c], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ebx
mov ecx, dword [ebp - 0x464]
mov dword [esp + 0x14], ecx
mov eax, dword [ebp - 0x460]
mov dword [esp + 0x10], eax
mov edx, dword [ebp - 0x45c]
mov dword [esp + 0xc], edx
mov ecx, dword [ebp - 0x46c]
mov dword [esp + 4], 0xb1d9d0
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x488]
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
cmp eax, 6
jne 0x531f56
mov edx, dword [ebp - 0x46c]
mov edi, 0xb1d98a
mov dword [esp], edx
call sub.msvcrt.dll__strdup
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x45c]
mov dword [esp], eax
call sub.msvcrt.dll__strdup
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x460]
mov dword [edx + 8], eax
mov dword [esp], ecx
call sub.msvcrt.dll__strdup
mov edx, dword [ebp + 0xc]
mov ecx, 2
mov esi, dword [ebp - 0x464]
cld
mov dword [edx + 0xc], eax
repe cmpsb byte [esi], byte es:[edi]
je 0x531f65
mov dword [ebp - 0x450], 5
jmp 0x531dc9
mov ecx, dword [ebp + 0xc]
mov esi, ebx
mov edi, 0xb1d98d
mov dword [ecx + 0x10], 1
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
je 0x5321ec
cld
mov edi, 0xb1d991
mov ecx, 3
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x531f56
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x14], 2
mov edx, dword [ebp - 0x468]
mov dword [esp], edx
call sub.msvcrt.dll__strdup
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x14]
mov dword [ecx + 0x18], eax
mov dword [esp + 4], 0xb1d956
mov dword [esp], ebx
call sub.msvcrt.dll_strcspn
lea esi, [ebx + eax]
movzx eax, byte [esi]
test al, al
jne 0x53217f
test esi, esi
mov dword [ebp - 0x488], esi
mov dword [ebp - 0x14], esi
je 0x531e10
mov eax, 2
mov edi, 0xb1d9f8
cld
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
mov dword [ebp - 0x450], 6
seta dl
setb al
cmp dl, al
jne 0x531dc9
lea ebx, [ebp - 0x418]
mov dword [ebp - 0x484], ebx
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xb1d9fb
mov edx, dword [ebp - 0x488]
mov dword [esp], edx
call sub.msvcrt.dll_sscanf
mov dword [ebp - 0x450], 7
test eax, eax
jle 0x531dc9
mov dword [esp], ebx
call sub.msvcrt.dll__strdup
mov ebx, dword [ebp + 0xc]
mov dword [ebx + 0x1c], eax
mov ebx, dword [ebp - 0x14]
mov dword [esp + 4], 0xb1d956
mov dword [esp], ebx
call sub.msvcrt.dll_strcspn
lea esi, [ebx + eax]
movzx eax, byte [esi]
test al, al
jne 0x532195
test esi, esi
mov dword [ebp - 0x488], esi
mov dword [ebp - 0x14], esi
je 0x531e10
mov eax, 2
mov edi, 0xb1da08
cld
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x5320bc
lea ebx, [ebp - 0x418]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xb1da0b
mov eax, dword [ebp - 0x488]
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
test eax, eax
jne 0x532338
mov ebx, dword [ebp - 0x14]
mov eax, 2
mov edi, 0xb1da18
cld
mov ecx, eax
mov dword [ebp - 0x488], ebx
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x5321ae
mov eax, dword [ebp - 0x488]
xor ebx, ebx
mov esi, eax
mov dword [ebp - 0x420], eax
jmp 0x532116
cmp al, 0xa
jne 0x531e10
add dword [ebp - 0x420], 1
mov eax, dword [ebp - 0x420]
test eax, eax
je 0x531e10
mov esi, dword [ebp - 0x420]
add ebx, 1
cld
mov ecx, 2
mov edi, 0xb1da28
repe cmpsb byte [esi], byte es:[edi]
jne 0x5321fb
mov dword [esp + 4], 0xb1d956
mov edx, dword [ebp - 0x420]
mov dword [esp], edx
call sub.msvcrt.dll_strcspn
add dword [ebp - 0x420], eax
mov ecx, dword [ebp - 0x420]
movzx eax, byte [ecx]
test al, al
je 0x5320ff
cmp al, 0xd
jne 0x5320f0
add ecx, 1
mov dword [ebp - 0x420], ecx
movzx eax, byte [ecx]
jmp 0x5320f0
add esi, 1
movzx eax, byte [esi]
jmp 0x531e05
mov dword [ebp - 0x450], 0x1c
jmp 0x531dc9
cmp al, 0xd
je 0x5321e4
cmp al, 0xa
jne 0x531e09
add esi, 1
nop
jmp 0x531fd3
cmp al, 0xd
je 0x53232d
cmp al, 0xa
nop
jne 0x531e09
add esi, 1
jmp 0x532072
lea ebx, [ebp - 0x418]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xb1da1b
mov eax, dword [ebp - 0x488]
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
test eax, eax
jne 0x532399
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x488], ebx
jmp 0x5320dc
add esi, 1
movzx eax, byte [esi]
jmp 0x532183
mov ebx, dword [ebp + 0xc]
mov dword [ebx + 0x14], 1
jmp 0x531f9e
mov eax, dword [ebp + 0xc]
test ebx, ebx
mov dword [eax + 0x2c], ebx
jne 0x53227d
xor ebx, ebx
jmp 0x532229
cmp al, 0xa
jne 0x531e10
add dword [ebp - 0x420], 1
mov eax, dword [ebp - 0x420]
test eax, eax
je 0x531e10
add ebx, 1
mov esi, dword [ebp - 0x420]
mov ecx, 2
mov edi, 0xb1da38
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x5323f1
mov dword [esp + 4], 0xb1d956
mov eax, dword [ebp - 0x420]
mov dword [esp], eax
call sub.msvcrt.dll_strcspn
add dword [ebp - 0x420], eax
mov edx, dword [ebp - 0x420]
movzx eax, byte [edx]
test al, al
je 0x532218
cmp al, 0xd
jne 0x532209
add edx, 1
mov dword [ebp - 0x420], edx
movzx eax, byte [edx]
jmp 0x532209
mov dword [esp + 4], 4
mov dword [esp], ebx
call sub.msvcrt.dll_calloc
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x28], eax
mov eax, dword [edx + 0x2c]
test eax, eax
je 0x532205
xor edi, edi
jmp 0x5322c5
add esi, 1
test esi, esi
mov dword [ebp - 0x488], esi
mov dword [ebp - 0x14], esi
je 0x531e10
mov ecx, dword [ebp + 0xc]
add edi, 1
cmp dword [ecx + 0x2c], edi
jbe 0x532205
lea ecx, [ebp - 0x418]
mov dword [esp + 8], ecx
lea ebx, [edi*4]
mov dword [esp + 4], 0xb1da2b
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
mov eax, dword [ebp + 0xc]
lea edx, [ebp - 0x418]
add ebx, dword [eax + 0x28]
mov dword [esp], edx
call sub.msvcrt.dll__strdup
mov dword [ebx], eax
mov ebx, dword [ebp - 0x14]
mov dword [esp + 4], 0xb1d956
mov dword [esp], ebx
call sub.msvcrt.dll_strcspn
lea esi, [ebx + eax]
movzx eax, byte [esi]
test al, al
je 0x5322a5
cmp al, 0xd
je 0x532391
cmp al, 0xa
jne 0x531e09
jmp 0x5322a2
add esi, 1
movzx eax, byte [esi]
jmp 0x53219d
mov dword [esp], ebx
nop
lea esi, [esi]
call sub.msvcrt.dll__strdup
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x14]
mov dword [ecx + 0x20], eax
mov dword [esp + 4], 0xb1d956
mov dword [esp], ebx
call sub.msvcrt.dll_strcspn
lea esi, [ebx + eax]
movzx eax, byte [esi]
test al, al
je 0x53237b
cmp al, 0xd
je 0x53257d
cmp al, 0xa
jne 0x531e09
add esi, 1
test esi, esi
mov dword [ebp - 0x488], esi
mov dword [ebp - 0x14], esi
jne 0x5320bc
jmp 0x531e10
add esi, 1
movzx eax, byte [esi]
jmp 0x532320
mov dword [esp], ebx
lea esi, [esi]
call sub.msvcrt.dll__strdup
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x14]
mov dword [ecx + 0x24], eax
mov dword [esp + 4], 0xb1d956
mov dword [esp], ebx
call sub.msvcrt.dll_strcspn
lea esi, [ebx + eax]
movzx eax, byte [esi]
test al, al
je 0x5323db
cmp al, 0xd
je 0x5325a7
cmp al, 0xa
jne 0x531e09
add esi, 1
test esi, esi
mov dword [ebp - 0x488], esi
mov dword [ebp - 0x14], esi
jne 0x5320dc
jmp 0x531e10
mov ecx, dword [ebp + 0xc]
test ebx, ebx
mov dword [ecx + 0x34], ebx
je 0x5324b5
mov dword [esp], ebx
mov dword [esp + 4], 4
call sub.msvcrt.dll_calloc
mov ebx, dword [ebp + 0xc]
mov dword [ebx + 0x30], eax
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x5324b5
xor edi, edi
jmp 0x532443
add esi, 1
test esi, esi
mov dword [ebp - 0x488], esi
mov dword [ebp - 0x14], esi
je 0x531e10
mov ebx, dword [ebp + 0xc]
add edi, 1
cmp dword [ebx + 0x34], edi
jbe 0x5324b5
lea eax, [ebp - 0x418]
mov dword [esp + 8], eax
lea ebx, [edi*4]
mov dword [esp + 4], 0xb1da3b
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
mov edx, dword [ebp + 0xc]
lea ecx, [ebp - 0x418]
add ebx, dword [edx + 0x30]
mov dword [esp], ecx
call sub.msvcrt.dll__strdup
mov dword [ebx], eax
mov ebx, dword [ebp - 0x14]
mov dword [esp + 4], 0xb1d956
mov dword [esp], ebx
call sub.msvcrt.dll_strcspn
lea esi, [ebx + eax]
movzx eax, byte [esi]
test al, al
je 0x532427
cmp al, 0xd
je 0x532572
cmp al, 0xa
jne 0x531e09
lea esi, [esi]
jmp 0x532424
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0xc]
add eax, 0x40
add ecx, 0x3c
add edx, 0x38
mov dword [esp], eax
lea eax, [ebp - 0x14]
call fcn.00531950
test eax, eax
mov dword [ebp - 0x450], eax
jne 0x531dc9
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x14]
mov edx, dword [ebp + 0xc]
add ecx, 0x50
add edx, 0x4c
call fcn.005316e0
test eax, eax
mov dword [ebp - 0x450], eax
jne 0x531dc9
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x43c], 0
jmp 0x53253c
cmp al, 0xa
jne 0x531e10
add ebx, 1
test ebx, ebx
je 0x531e10
cld
mov ecx, 2
mov esi, ebx
mov edi, 0xb1da48
repe cmpsb byte [esi], byte es:[edi]
je 0x532588
add dword [ebp - 0x43c], 1
cld
mov ecx, 2
mov esi, ebx
mov edi, 0xb1da4b
repe cmpsb byte [esi], byte es:[edi]
jne 0x5325b2
mov dword [esp], ebx
mov dword [esp + 4], 0xb1d956
call sub.msvcrt.dll_strcspn
add ebx, eax
movzx eax, byte [ebx]
test al, al
je 0x53251c
cmp al, 0xd
jne 0x532511
add ebx, 1
movzx eax, byte [ebx]
jmp 0x532511
add esi, 1
movzx eax, byte [esi]
jmp 0x5324a2
add esi, 1
movzx eax, byte [esi]
jmp 0x532370
mov dword [esp], ebx
mov dword [esp + 4], 0xb1d956
call sub.msvcrt.dll_strcspn
add ebx, eax
movzx eax, byte [ebx]
test al, al
je 0x53251c
jmp 0x532566
add esi, 1
movzx eax, byte [esi]
jmp 0x5323d0
mov edx, dword [ebp - 0x43c]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x450], 0xc
test edx, edx
mov dword [eax + 0x58], edx
je 0x531dc9
mov dword [esp + 4], 4
mov dword [esp], edx
call sub.msvcrt.dll_calloc
mov ecx, dword [ebp + 0xc]
mov edi, dword [ecx + 0x58]
mov dword [ecx + 0x54], eax
test edi, edi
je 0x532784
mov ebx, dword [ebp - 0x470]
mov dword [ebp - 0x434], 0
add ebx, 4
mov dword [ebp - 0x444], ebx
mov eax, dword [ebp - 0x444]
mov dword [esp + 0xc], eax
mov edx, dword [ebp - 0x470]
mov dword [esp + 4], 0xb1da4e
mov dword [esp + 8], edx
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
cmp eax, 2
jne 0x532ef1
mov eax, dword [ebp - 0x434]
mov edx, dword [ebp + 0xc]
shl eax, 2
mov dword [ebp - 0x458], eax
mov ebx, eax
add ebx, dword [edx + 0x54]
mov dword [esp + 4], 0x10
mov dword [esp], 1
call sub.msvcrt.dll_calloc
mov dword [ebx], eax
mov ebx, dword [ebp - 0x470]
mov ecx, dword [ebx]
test ecx, ecx
je 0x53267d
lea eax, [ecx + 0x7c558180]
mov dword [ebx], eax
mov ecx, eax
mov edx, dword [ebp - 0x470]
mov eax, dword [edx + 4]
test eax, eax
je 0x532692
add eax, 0x7c558180
mov dword [edx + 4], eax
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 0x54]
mov ebx, dword [ebp - 0x458]
mov edx, dword [eax + ebx]
mov ebx, dword [ebp - 0x14]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x470]
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov dword [esp], ebx
mov dword [esp + 4], 0xb1d956
call sub.msvcrt.dll_strcspn
add ebx, eax
movzx eax, byte [ebx]
test al, al
je 0x5326e0
cmp al, 0xd
jne 0x5326d5
add ebx, 1
movzx eax, byte [ebx]
cmp al, 0xa
jne 0x531e09
add ebx, 1
test ebx, ebx
mov dword [ebp - 0x488], ebx
mov dword [ebp - 0x14], ebx
je 0x531e10
mov dword [ebp - 0x44c], 0
cld
mov ecx, 2
mov esi, ebx
mov edi, 0xb1da48
repe cmpsb byte [esi], byte es:[edi]
jne 0x53274b
mov dword [esp], ebx
mov dword [esp + 4], 0xb1d956
call sub.msvcrt.dll_strcspn
add ebx, eax
movzx eax, byte [ebx]
test al, al
je 0x53273a
cmp al, 0xd
jne 0x53272f
add ebx, 1
movzx eax, byte [ebx]
cmp al, 0xa
jne 0x531e10
add ebx, 1
test ebx, ebx
je 0x531e10
add dword [ebp - 0x44c], 1
jmp 0x5326fb
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x44c]
mov eax, dword [ebx + 0x54]
test ecx, ecx
mov ebx, dword [eax + edx]
mov dword [ebx + 0xc], ecx
jne 0x5329db
mov edx, dword [ebp + 0xc]
add dword [ebp - 0x434], 1
mov eax, dword [ebp - 0x434]
cmp dword [edx + 0x58], eax
ja 0x53260a
mov ebx, dword [ebp - 0x14]
mov edi, 0xb1da7d
mov ecx, 2
cld
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x53281f
lea ecx, [ebp - 0x418]
mov dword [esp + 8], ecx
mov dword [esp + 4], 0xb1da80
mov dword [esp], ebx
call sub.msvcrt.dll_sscanf
mov dword [ebp - 0x450], 0xf
test eax, eax
je 0x531dc9
lea ebx, [ebp - 0x418]
mov dword [esp], ebx
call sub.msvcrt.dll__strdup
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x14]
mov dword [edx + 0x5c], eax
mov dword [esp + 4], 0xb1d956
mov dword [esp], ebx
call sub.msvcrt.dll_strcspn
lea esi, [ebx + eax]
movzx eax, byte [esi]
test al, al
je 0x53280e
cmp al, 0xd
jne 0x532803
add esi, 1
movzx eax, byte [esi]
cmp al, 0xa
jne 0x531e09
add esi, 1
test esi, esi
mov dword [ebp - 0x488], esi
mov dword [ebp - 0x14], esi
je 0x531e10
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x14]
mov edx, dword [ebp + 0xc]
add ecx, 0x64
add edx, 0x60
call fcn.00531b90
test eax, eax
mov dword [ebp - 0x450], eax
jne 0x531dc9
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp + 0xc]
add ecx, 0x7c
add ebx, 0x78
mov dword [ebp - 0x47c], ecx
mov dword [ebp - 0x480], ebx
mov ebx, dword [ebp - 0x14]
mov ecx, 2
mov edi, 0xb1db33
cld
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x532b05
mov eax, dword [ebp - 0x45c]
mov dword [esp + 0xc], eax
mov edx, dword [ebp - 0x46c]
mov dword [esp + 4], 0xb1da8d
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_sscanf
cmp eax, 2
je 0x532988
mov ebx, dword [ebp - 0x46c]
mov dword [esp + 4], 0xb1db08
mov dword [esp + 8], ebx
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
sub eax, 1
jne 0x53294e
cld
mov edi, 0xb1db0f
mov ecx, 8
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x53292a
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x80], 2
mov ebx, dword [ebp - 0x14]
mov dword [esp + 4], 0xb1d956
mov dword [esp], ebx
call sub.msvcrt.dll_strcspn
lea esi, [ebx + eax]
movzx eax, byte [esi]
test al, al
je 0x532914
cmp al, 0xd
jne 0x532909
add esi, 1
movzx eax, byte [esi]
cmp al, 0xa
jne 0x531e09
add esi, 1
test esi, esi
mov dword [ebp - 0x488], esi
mov dword [ebp - 0x14], esi
jne 0x532859
jmp 0x531e10
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1db18
mov ecx, 8
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x53295d
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x80], 3
jmp 0x5328e2
mov dword [ebp - 0x450], 0x11
jmp 0x531dc9
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1db21
mov ecx, 8
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x532f3a
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x80], 4
jmp 0x5328e2
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1daa1
mov ecx, 3
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x532f0c
mov ecx, dword [ebp - 0x45c]
mov dword [esp], ecx
call sub.msvcrt.dll__strdup
mov ebx, dword [ebp + 0xc]
mov dword [ebx + 0x68], eax
mov ebx, dword [ebp - 0x14]
mov dword [esp + 4], 0xb1d956
mov dword [esp], ebx
call sub.msvcrt.dll_strcspn
lea esi, [ebx + eax]
movzx eax, byte [esi]
test al, al
je 0x532914
jmp 0x5328ff
mov dword [esp + 4], 4
mov dword [esp], ecx
call sub.msvcrt.dll_calloc
mov edx, dword [ebp - 0x458]
mov dword [ebx + 8], eax
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 0x54]
mov eax, dword [edx + eax]
mov esi, dword [eax + 0xc]
test esi, esi
je 0x53276b
mov dword [ebp - 0x428], 0
lea ecx, [ebp - 0x418]
mov dword [esp + 0x10], ecx
mov ebx, dword [ebp - 0x45c]
mov dword [esp + 0xc], ebx
mov eax, dword [ebp - 0x46c]
mov dword [esp + 4], 0xb1da5c
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
cmp eax, 3
jne 0x532ade
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x458]
mov esi, dword [ebp - 0x428]
mov eax, dword [edx + 0x54]
shl esi, 2
mov ebx, esi
mov eax, dword [eax + ecx]
add ebx, dword [eax + 8]
mov dword [esp + 4], 0x10
mov dword [esp], 1
call sub.msvcrt.dll_calloc
mov edx, dword [ebp - 0x458]
lea ecx, [ebp - 0xd]
mov dword [ebx], eax
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 0x54]
lea ebx, [ebp - 0x18]
mov eax, dword [eax + edx]
mov eax, dword [eax + 8]
mov esi, dword [eax + esi]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xb1da73
mov eax, dword [ebp - 0x46c]
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
cmp eax, 2
jne 0x5337de
movzx eax, byte [ebp - 0xd]
cmp al, 0x68
je 0x533078
lea esi, [esi]
jg 0x532dad
cmp al, 0x64
je 0x532bfe
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x458]
mov ebx, dword [ebp - 0x428]
mov dword [ebp - 0x450], 0xe
mov eax, dword [edx + 0x54]
mov eax, dword [eax + ecx]
mov dword [eax + 0xc], ebx
jmp 0x531dc9
mov dword [ebp - 0x438], 0
cmp byte [ebx], 0
je 0x532bbe
cld
mov edi, 0xb1db3a
mov ecx, 2
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x532bbe
add dword [ebp - 0x438], 1
mov dword [esp], ebx
mov dword [esp + 4], 0xb1d956
call sub.msvcrt.dll_strcspn
add ebx, eax
movzx eax, byte [ebx]
test al, al
jne 0x532ba7
test ebx, ebx
je 0x531e10
lea eax, [ebp - 0xd]
mov dword [esp + 8], eax
mov dword [esp + 4], 0xb1db36
mov dword [esp], ebx
call sub.msvcrt.dll_sscanf
sub eax, 1
jne 0x532b0f
movzx eax, byte [ebp - 0xd]
cmp al, 0x69
je 0x532b8e
cmp al, 0x63
je 0x532b8e
cmp al, 0x62
nop
je 0x532b8e
cmp al, 0x6b
je 0x532b8e
cmp al, 0x61
jne 0x532f61
mov dword [esp], ebx
mov dword [esp + 4], 0xb1d956
call sub.msvcrt.dll_strcspn
add ebx, eax
movzx eax, byte [ebx]
test al, al
je 0x532b4d
cmp al, 0xd
jne 0x532bb1
add ebx, 1
movzx eax, byte [ebx]
cmp al, 0xa
jne 0x531e10
add ebx, 1
jmp 0x532b4d
mov ecx, dword [ebp - 0x438]
mov edx, dword [ebp + 0xc]
test ecx, ecx
mov dword [edx + 0xa8], ecx
jne 0x5330c9
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x40]
test edx, edx
je 0x533086
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0
je 0x531dc9
mov dword [ebp - 0x450], 0x17
jmp 0x531dc9
imul eax, dword [ebp - 0x18], 0x15180
mov dword [esi], eax
lea edx, [ebp - 0xd]
lea ecx, [ebp - 0x18]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], 0xb1da73
mov ebx, dword [ebp - 0x45c]
mov dword [esp], ebx
call sub.msvcrt.dll_sscanf
cmp eax, 2
jne 0x532e99
movzx eax, byte [ebp - 0xd]
cmp al, 0x68
je 0x532e8a
jg 0x532eca
cmp al, 0x64
jne 0x532ade
imul eax, dword [ebp - 0x18], 0x15180
mov dword [esi + 4], eax
mov ebx, 1
lea eax, [ebp - 0x418]
jmp 0x532c6b
add ebx, 1
add eax, 1
mov dword [esp + 4], 0x20
mov dword [esp], eax
call sub.msvcrt.dll_strchr
test eax, eax
jne 0x532c65
mov dword [esi + 0xc], ebx
mov dword [esp], ebx
mov dword [esp + 4], 4
call sub.msvcrt.dll_calloc
mov ebx, dword [esi + 0xc]
test ebx, ebx
mov dword [esi + 8], eax
je 0x532d40
mov dword [ebp - 0x424], 0
lea edi, [ebp - 0x418]
mov ebx, dword [ebp - 0x424]
lea edx, [ebp - 0xd]
lea ecx, [ebp - 0x18]
shl ebx, 2
add ebx, dword [esi + 8]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], 0xb1da73
mov dword [esp], edi
call sub.msvcrt.dll_sscanf
cmp eax, 2
jne 0x532e26
movzx eax, byte [ebp - 0xd]
cmp al, 0x68
je 0x532e5f
nop
jg 0x532e07
cmp al, 0x64
je 0x532e48
mov ebx, 0xe
mov byte [ebp - 0x43d], 0
mov dword [esp], edi
mov dword [esp + 4], 0x20
call sub.msvcrt.dll_strchr
cmp eax, 1
mov edi, eax
mov eax, dword [esi + 0xc]
sbb edi, 0xffffffff
add dword [ebp - 0x424], 1
cmp eax, dword [ebp - 0x424]
ja 0x532dc7
test ebx, ebx
jne 0x532ade
mov ebx, dword [ebp - 0x14]
mov dword [esp + 4], 0xb1d956
mov dword [esp], ebx
call sub.msvcrt.dll_strcspn
lea esi, [ebx + eax]
movzx eax, byte [esi]
test al, al
je 0x532d72
cmp al, 0xd
jne 0x532d67
add esi, 1
movzx eax, byte [esi]
cmp al, 0xa
jne 0x531e09
add esi, 1
test esi, esi
mov dword [ebp - 0x488], esi
mov dword [ebp - 0x14], esi
je 0x531e10
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x458]
add dword [ebp - 0x428], 1
mov ebx, dword [ebp - 0x428]
mov eax, dword [edx + 0x54]
mov eax, dword [eax + ecx]
cmp dword [eax + 0xc], ebx
ja 0x532a12
jmp 0x53276b
cmp al, 0x6d
je 0x532ed8
cmp al, 0x73
jne 0x532ade
mov eax, dword [ebp - 0x18]
mov dword [esi], eax
jmp 0x532c07
cmp byte [ebp - 0x43d], 0
jne 0x532cb0
cmp eax, dword [ebp - 0x424]
jbe 0x532d38
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x458]
mov ebx, dword [ebp - 0x424]
mov dword [ebp - 0x450], 0xe
mov eax, dword [edx + 0x54]
mov eax, dword [eax + ecx]
mov dword [eax + 0xc], ebx
jmp 0x531dc9
cmp al, 0x6d
je 0x532e76
cmp al, 0x73
jne 0x532cfe
mov eax, dword [ebp - 0x18]
mov byte [ebp - 0x43d], 1
mov dword [ebx], eax
xor ebx, ebx
jmp 0x532d0a
lea eax, [ebp - 0x18]
mov dword [esp + 8], eax
mov dword [esp + 4], 0xb1da79
mov dword [esp], edi
call sub.msvcrt.dll_sscanf
sub eax, 1
jne 0x532cfe
jmp 0x532e13
imul eax, dword [ebp - 0x18], 0x15180
mov byte [ebp - 0x43d], 1
mov dword [ebx], eax
xor ebx, ebx
jmp 0x532d0a
imul eax, dword [ebp - 0x18], 0xe10
mov byte [ebp - 0x43d], 1
mov dword [ebx], eax
xor ebx, ebx
jmp 0x532d0a
imul eax, dword [ebp - 0x18], 0x3c
mov byte [ebp - 0x43d], 1
mov dword [ebx], eax
xor ebx, ebx
jmp 0x532d0a
imul eax, dword [ebp - 0x18], 0xe10
mov dword [esi + 4], eax
jmp 0x532c58
lea ebx, [ebp - 0x18]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xb1da79
mov eax, dword [ebp - 0x45c]
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
sub eax, 1
jne 0x532ade
mov eax, dword [ebp - 0x18]
mov dword [esi + 4], eax
jmp 0x532c58
cmp al, 0x6d
je 0x532ee5
cmp al, 0x73
jne 0x532ade
jmp 0x532ebf
imul eax, dword [ebp - 0x18], 0x3c
mov dword [esi], eax
nop
jmp 0x532c07
imul eax, dword [ebp - 0x18], 0x3c
mov dword [esi + 4], eax
jmp 0x532c58
mov ecx, dword [ebp - 0x434]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x450], 0xd
mov dword [ebx + 0x58], ecx
jmp 0x531dc9
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1daa5
mov ecx, 6
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x532f78
mov eax, dword [ebp - 0x45c]
mov dword [esp], eax
call sub.msvcrt.dll__strdup
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x6c], eax
jmp 0x5329b5
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1db2a
mov ecx, 8
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x532faa
mov ebx, dword [ebp + 0xc]
mov dword [ebx + 0x80], 1
jmp 0x5328e2
cmp al, 0x6d
je 0x532b0f
mov dword [ebp - 0x450], 0x18
jmp 0x531dc9
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1daac
mov ecx, 4
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x533043
mov ecx, dword [ebp - 0x45c]
mov dword [esp], ecx
call sub.msvcrt.dll__strdup
mov ebx, dword [ebp + 0xc]
mov dword [ebx + 0x6c], eax
jmp 0x5329b5
mov byte [ebp - 0x418], 0
lea edx, [ebp - 0x418]
mov dword [esp + 8], 0x3ff
mov eax, dword [ebp - 0x46c]
mov dword [esp], edx
mov dword [esp + 4], eax
call sub.msvcrt.dll_strncat
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0xac]
test eax, eax
jne 0x533005
mov dword [ecx + 0xb0], 0
mov dword [esp + 4], 4
mov dword [esp], 5
call sub.msvcrt.dll_calloc
mov ebx, dword [ebp + 0xc]
mov dword [ebx + 0xac], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0xb0]
cmp eax, 4
ja 0x5328e2
lea ecx, [ebp - 0x418]
lea ebx, [eax*4]
add ebx, dword [edx + 0xac]
mov dword [esp], ecx
call sub.msvcrt.dll__strdup
mov dword [ebx], eax
mov ebx, dword [ebp + 0xc]
add dword [ebx + 0xb0], 1
jmp 0x5328e2
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1dab1
mov ecx, 6
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x533809
mov ecx, dword [ebp - 0x45c]
mov edx, dword [ebp - 0x47c]
mov eax, dword [ebp - 0x480]
call fcn.00531570
jmp 0x5329b5
imul eax, dword [ebp - 0x18], 0xe10
mov dword [esi], eax
jmp 0x532c07
mov ecx, dword [eax + 0xa8]
test ecx, ecx
je 0x532be3
mov edx, dword [eax + 0xa4]
xor ebx, ebx
mov eax, dword [edx]
mov edi, dword [eax + 0x24]
test edi, edi
je 0x5330ba
add ebx, 1
cmp ebx, ecx
je 0x532be3
mov eax, dword [edx + ebx*4]
mov esi, dword [eax + 0x24]
test esi, esi
jne 0x5330a5
mov dword [ebp - 0x450], 0x19
jmp 0x531dc9
mov dword [esp + 4], 4
mov dword [esp], ecx
call sub.msvcrt.dll_calloc
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebx + 0xa8]
mov dword [ebx + 0xa4], eax
test edi, edi
je 0x532bd5
mov dword [ebp - 0x430], 0
lea eax, [ebp - 0x418]
mov dword [esp + 0x14], eax
mov edx, dword [ebp - 0x460]
mov dword [esp + 0x10], edx
mov ecx, dword [ebp - 0x45c]
mov dword [esp + 0xc], ecx
mov ebx, dword [ebp - 0x46c]
mov dword [esp + 4], 0xb1db3d
mov dword [esp + 8], ebx
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
cmp eax, 4
jne 0x5337a9
mov ebx, dword [ebp - 0x430]
mov edi, 0xb1db57
mov eax, dword [ebp + 0xc]
shl ebx, 2
add ebx, dword [eax + 0xa4]
mov dword [esp + 4], 0x9c
mov dword [esp], 1
call sub.msvcrt.dll_calloc
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x430]
mov esi, dword [ebp - 0x46c]
cld
mov dword [ebx], eax
mov eax, dword [edx + 0xa4]
mov eax, dword [eax + ecx*4]
mov ecx, 5
mov dword [ebp - 0x448], eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x533783
mov ebx, dword [ebp - 0x448]
mov dword [ebx], 2
mov dword [esp + 4], 0x2f
mov eax, dword [ebp - 0x45c]
mov dword [esp], eax
call sub.msvcrt.dll_strchr
test eax, eax
mov ebx, eax
je 0x533cd0
mov byte [eax], 0
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
mov edx, dword [ebp - 0x45c]
mov dword [esp], edx
call sub.msvcrt.dll_strtol
mov ecx, dword [ebp - 0x448]
mov dword [ecx + 4], eax
lea eax, [ebx + 1]
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_strtol
mov ebx, dword [ebp - 0x448]
mov dword [ebx + 8], eax
mov esi, dword [ebp - 0x460]
mov edi, 0xb1db74
mov ecx, 7
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x533ca9
mov ecx, dword [ebp - 0x448]
mov dword [ecx + 0xc], 1
xor ebx, ebx
lea eax, [ebp - 0x418]
mov dword [esp + 4], 0x20
mov dword [esp], eax
call sub.msvcrt.dll_strchr
test eax, eax
je 0x53325b
add ebx, 1
add eax, 1
jmp 0x53323f
mov edx, dword [ebp - 0x448]
lea eax, [ebx + 1]
mov dword [edx + 0x14], eax
mov dword [esp + 4], 4
mov dword [esp], eax
call sub.msvcrt.dll_calloc
mov ecx, dword [ebp - 0x448]
mov esi, dword [ecx + 0x14]
mov dword [ecx + 0x10], eax
test esi, esi
je 0x5332e9
mov dword [ebp - 0x42c], 0
lea edi, [ebp - 0x418]
mov dword [esp + 4], 0x20
mov dword [esp], edi
call sub.msvcrt.dll_strchr
test eax, eax
mov esi, eax
je 0x5332b0
mov byte [eax], 0
mov ebx, dword [ebp - 0x42c]
mov eax, dword [ebp - 0x448]
shl ebx, 2
add ebx, dword [eax + 0x10]
mov dword [esp], edi
call sub.msvcrt.dll__strdup
mov ecx, dword [ebp - 0x448]
add dword [ebp - 0x42c], 1
mov edx, dword [ebp - 0x42c]
cmp dword [ecx + 0x14], edx
mov dword [ebx], eax
jbe 0x5332e9
lea edi, [esi + 1]
jmp 0x533297
mov ebx, dword [ebp - 0x14]
mov dword [esp + 4], 0xb1d956
mov dword [esp], ebx
call sub.msvcrt.dll_strcspn
lea esi, [ebx + eax]
movzx eax, byte [esi]
test al, al
je 0x53331b
cmp al, 0xd
jne 0x533310
add esi, 1
movzx eax, byte [esi]
cmp al, 0xa
jne 0x531e09
add esi, 1
test esi, esi
mov dword [ebp - 0x488], esi
mov dword [ebp - 0x14], esi
je 0x531e10
mov eax, 2
mov edi, 0xb1da08
cld
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x533365
lea ebx, [ebp - 0x418]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xb1da0b
mov eax, dword [ebp - 0x488]
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
test eax, eax
jne 0x53372a
mov eax, dword [ebp - 0x448]
mov ecx, dword [ebp - 0x448]
mov edx, dword [ebp - 0x448]
add eax, 0x24
add ecx, 0x20
add edx, 0x1c
mov dword [esp], eax
lea eax, [ebp - 0x14]
call fcn.00531950
test eax, eax
jne 0x53371f
mov ecx, dword [ebp - 0x448]
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0x448]
add ecx, 0x34
add edx, 0x30
call fcn.005316e0
test eax, eax
jne 0x53371f
mov ecx, dword [ebp - 0x448]
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0x448]
add ecx, 0x3c
add edx, 0x38
call fcn.00531b90
test eax, eax
jne 0x53371f
mov eax, dword [ebp - 0x448]
mov edx, dword [ebp - 0x448]
add eax, 0x4c
add edx, 0x48
mov dword [ebp - 0x474], eax
mov dword [ebp - 0x478], edx
mov ebx, dword [ebp - 0x14]
mov ecx, 2
mov edi, 0xb1db33
cld
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x533558
lea eax, [ebp - 0x418]
mov dword [esp + 0xc], eax
mov edx, dword [ebp - 0x46c]
mov dword [esp + 4], 0xb1db92
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_sscanf
cmp eax, 2
je 0x5334f2
mov eax, dword [ebp - 0x46c]
mov dword [esp + 4], 0xb1dbff
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
sub eax, 1
jne 0x53294e
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1db0f
mov ecx, 8
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x5334ca
mov edx, dword [ebp - 0x448]
mov dword [edx + 0x54], 2
mov ebx, dword [ebp - 0x14]
mov dword [esp + 4], 0xb1d956
mov dword [esp], ebx
call sub.msvcrt.dll_strcspn
lea esi, [ebx + eax]
movzx eax, byte [esi]
test al, al
je 0x5334b4
cmp al, 0xd
jne 0x5334a9
add esi, 1
movzx eax, byte [esi]
cmp al, 0xa
jne 0x531e09
add esi, 1
test esi, esi
mov dword [ebp - 0x488], esi
mov dword [ebp - 0x14], esi
jne 0x5333f5
jmp 0x531e10
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1db18
mov ecx, 8
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x533579
mov ecx, dword [ebp - 0x448]
mov dword [ecx + 0x54], 3
jmp 0x533482
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1dba8
mov ecx, 5
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x5335a0
lea ecx, [ebp - 0x418]
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
mov dword [esp], ecx
call sub.msvcrt.dll_strtoul
mov ebx, dword [ebp - 0x448]
mov dword [ebx + 0x40], eax
mov ebx, dword [ebp - 0x14]
mov dword [esp + 4], 0xb1d956
mov dword [esp], ebx
call sub.msvcrt.dll_strcspn
lea esi, [ebx + eax]
movzx eax, byte [esi]
test al, al
je 0x5334b4
jmp 0x53349f
mov ebx, dword [ebp + 0xc]
add dword [ebp - 0x430], 1
mov ecx, dword [ebp - 0x430]
cmp dword [ebx + 0xa8], ecx
ja 0x5330fa
jmp 0x532bd5
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1db21
mov ecx, 8
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x5335e1
mov ebx, dword [ebp - 0x448]
mov dword [ebx + 0x54], 4
jmp 0x533482
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1dbae
mov ecx, 8
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x533608
lea eax, [ebp - 0x418]
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_strtoul
mov edx, dword [ebp - 0x448]
mov dword [edx + 0x44], eax
jmp 0x533532
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1db2a
mov ecx, 8
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x53363d
mov eax, dword [ebp - 0x448]
mov dword [eax + 0x54], 1
jmp 0x533482
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1dab1
mov ecx, 6
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x5336dc
mov edx, dword [ebp - 0x474]
lea ecx, [ebp - 0x418]
mov eax, dword [ebp - 0x478]
call fcn.00531570
jmp 0x533532
mov byte [ebp - 0x418], 0
lea ecx, [ebp - 0x418]
mov dword [esp + 8], 0x3ff
mov edx, dword [ebp - 0x46c]
mov dword [esp], ecx
mov dword [esp + 4], edx
call sub.msvcrt.dll_strncat
mov ebx, dword [ebp - 0x448]
mov ecx, dword [ebx + 0x94]
test ecx, ecx
jne 0x533698
mov dword [ebx + 0x98], 0
mov dword [esp + 4], 4
mov dword [esp], 5
call sub.msvcrt.dll_calloc
mov dword [ebx + 0x94], eax
mov edx, dword [ebp - 0x448]
mov eax, dword [edx + 0x98]
cmp eax, 4
ja 0x533482
lea ecx, [ebp - 0x418]
lea ebx, [eax*4]
add ebx, dword [edx + 0x94]
mov dword [esp], ecx
call sub.msvcrt.dll__strdup
mov dword [ebx], eax
mov ebx, dword [ebp - 0x448]
add dword [ebx + 0x98], 1
jmp 0x533482
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1dbb7
mov ecx, 6
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x533d59
mov esi, dword [ebp - 0x484]
mov edi, 0xb1dbbe
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
jne 0x533d2e
mov ecx, dword [ebp - 0x448]
mov dword [ecx + 0x50], 1
jmp 0x533532
mov dword [ebp - 0x450], eax
jmp 0x531dc9
mov dword [esp], ebx
call sub.msvcrt.dll__strdup
mov ecx, dword [ebp - 0x448]
mov ebx, dword [ebp - 0x14]
mov dword [ecx + 0x18], eax
mov dword [esp + 4], 0xb1d956
mov dword [esp], ebx
call sub.msvcrt.dll_strcspn
lea esi, [ebx + eax]
movzx eax, byte [esi]
test al, al
je 0x53376d
cmp al, 0xd
jne 0x533762
add esi, 1
movzx eax, byte [esi]
cmp al, 0xa
jne 0x531e09
add esi, 1
test esi, esi
mov dword [ebp - 0x488], esi
mov dword [ebp - 0x14], esi
jne 0x533365
jmp 0x531e10
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1db5d
mov ecx, 5
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x5337b8
mov eax, dword [ebp - 0x448]
mov dword [eax], 1
jmp 0x5331a3
mov dword [ebp - 0x450], 0x14
jmp 0x531dc9
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1db63
mov ecx, 0xb
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x533848
mov edx, dword [ebp - 0x448]
mov dword [edx], 3
jmp 0x5331a3
lea edx, [ebp - 0x18]
mov dword [esp + 8], edx
mov dword [esp + 4], 0xb1da79
mov ecx, dword [ebp - 0x46c]
mov dword [esp], ecx
call sub.msvcrt.dll_sscanf
sub eax, 1
je 0x532dbd
jmp 0x532ade
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1dab8
mov ecx, 4
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x5338b2
mov esi, dword [ebp - 0x45c]
mov edi, 0xb1dabd
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
jne 0x53388b
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x84], 1
jmp 0x5329b5
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1db6f
mov ecx, 4
cld
repe cmpsb byte [esi], byte es:[edi]
je 0x533c77
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1daf8
mov ecx, 7
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x533c68
mov ebx, dword [ebp - 0x448]
mov dword [ebx], 5
jmp 0x5331a3
mov esi, dword [ebp - 0x45c]
mov edi, 0xb1dac7
mov ecx, 7
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x5338e3
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x84], 2
jmp 0x5329b5
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1dae3
mov ecx, 7
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x53390e
mov edx, dword [ebp - 0x45c]
mov dword [esp], edx
call sub.msvcrt.dll__strdup
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x88], eax
jmp 0x5329b5
mov esi, dword [ebp - 0x45c]
mov edi, 0xb1dacf
mov ecx, 9
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x533c2c
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x84], 3
jmp 0x5329b5
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1daeb
mov ecx, 7
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x533992
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebx + 0x8c]
test ecx, ecx
jne 0x533954
mov dword [ebx + 0x90], 0
mov dword [esp + 4], 4
mov dword [esp], 5
call sub.msvcrt.dll_calloc
mov dword [ebx + 0x8c], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x90]
cmp eax, 4
ja 0x5329b5
mov ecx, dword [ebp - 0x45c]
lea ebx, [eax*4]
add ebx, dword [edx + 0x8c]
mov dword [esp], ecx
call sub.msvcrt.dll__strdup
mov dword [ebx], eax
mov ebx, dword [ebp + 0xc]
add dword [ebx + 0x90], 1
jmp 0x5329b5
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1daf3
mov ecx, 4
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x533a19
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x94]
test edx, edx
jne 0x5339db
mov dword [eax + 0x98], 0
mov dword [esp + 4], 4
mov dword [esp], 5
call sub.msvcrt.dll_calloc
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x94], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x98]
cmp eax, 4
ja 0x5329b5
lea ebx, [eax*4]
mov eax, dword [ebp - 0x45c]
add ebx, dword [ecx + 0x94]
mov dword [esp], eax
call sub.msvcrt.dll__strdup
mov edx, dword [ebp + 0xc]
add dword [edx + 0x98], 1
mov dword [ebx], eax
jmp 0x5329b5
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1daf8
mov ecx, 7
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x533aa0
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x9c]
test eax, eax
jne 0x533a62
mov dword [ecx + 0xa0], 0
mov dword [esp + 4], 4
mov dword [esp], 0xa
call sub.msvcrt.dll_calloc
mov ebx, dword [ebp + 0xc]
mov dword [ebx + 0x9c], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0xa0]
cmp eax, 9
ja 0x5329b5
mov ecx, dword [ebp - 0x45c]
lea ebx, [eax*4]
add ebx, dword [edx + 0x9c]
mov dword [esp], ecx
call sub.msvcrt.dll__strdup
mov dword [ebx], eax
mov ebx, dword [ebp + 0xc]
add dword [ebx + 0xa0], 1
jmp 0x5329b5
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1db00
mov ecx, 5
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x533ae0
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x74]
test eax, eax
je 0x533ac7
mov dword [esp], eax
call sub.msvcrt.dll_free
mov ecx, dword [ebp - 0x45c]
mov dword [esp], ecx
call sub.msvcrt.dll__strdup
mov ebx, dword [ebp + 0xc]
mov dword [ebx + 0x74], eax
jmp 0x5329b5
mov byte [ebp - 0x418], 0
lea edx, [ebp - 0x418]
mov dword [esp + 8], 0x3ff
mov eax, dword [ebp - 0x46c]
mov dword [esp], edx
mov dword [esp + 4], eax
call sub.msvcrt.dll_strncat
lea ecx, [ebp - 0x418]
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x533b0d
test edx, 0x8080
jne 0x533b32
shr edx, 0x10
add ecx, 2
mov eax, dword [ebp - 0x484]
add dl, dl
sbb ecx, 3
mov dword [esp + 4], 0xb1db06
sub eax, ecx
add eax, 0x3ff
lea ecx, [ebp - 0x418]
mov dword [esp], ecx
mov dword [esp + 8], eax
call sub.msvcrt.dll_strncat
lea ecx, [ebp - 0x418]
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x533b64
test edx, 0x8080
jne 0x533b89
shr edx, 0x10
add ecx, 2
mov eax, dword [ebp - 0x484]
add dl, dl
sbb ecx, 3
sub eax, ecx
add eax, 0x3ff
mov dword [esp + 8], eax
mov ebx, dword [ebp - 0x45c]
lea eax, [ebp - 0x418]
mov dword [esp], eax
mov dword [esp + 4], ebx
call sub.msvcrt.dll_strncat
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0xac]
test eax, eax
jne 0x533beb
mov dword [edx + 0xb0], 0
mov dword [esp + 4], 4
mov dword [esp], 5
call sub.msvcrt.dll_calloc
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0xac], eax
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 0xb0]
cmp eax, 4
ja 0x5329b5
lea ebx, [eax*4]
mov eax, dword [ebp + 0xc]
lea edx, [ebp - 0x418]
add ebx, dword [eax + 0xac]
mov dword [esp], edx
call sub.msvcrt.dll__strdup
mov ecx, dword [ebp + 0xc]
add dword [ecx + 0xb0], 1
mov dword [ebx], eax
jmp 0x5329b5
mov esi, dword [ebp - 0x45c]
mov edi, 0xb1dad9
mov ecx, 4
cld
repe cmpsb byte [esi], byte es:[edi]
je 0x533c97
mov esi, dword [ebp - 0x45c]
mov edi, 0xb1dade
mov ecx, 4
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x533c88
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x84], 5
jmp 0x5329b5
mov dword [ebp - 0x450], 0x15
jmp 0x531dc9
mov ecx, dword [ebp - 0x448]
mov dword [ecx], 4
jmp 0x5331a3
mov dword [ebp - 0x450], 0x13
jmp 0x531dc9
mov ebx, dword [ebp + 0xc]
mov dword [ebx + 0x84], 4
jmp 0x5329b5
mov esi, dword [ebp - 0x460]
mov edi, 0xb1db7c
mov ecx, 3
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x533d03
mov ebx, dword [ebp - 0x448]
mov dword [ebx + 0xc], 2
jmp 0x533237
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x45c]
mov dword [esp], eax
call sub.msvcrt.dll_strtol
mov edx, dword [ebp - 0x448]
mov dword [edx + 8], 0
mov dword [edx + 4], eax
jmp 0x533211
mov esi, dword [ebp - 0x460]
mov edi, 0xb1db80
mov ecx, 3
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x533f73
mov eax, dword [ebp - 0x448]
mov dword [eax + 0xc], 3
jmp 0x533237
mov esi, dword [ebp - 0x484]
mov edi, 0xb1dbc7
mov ecx, 9
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x533f9e
mov ebx, dword [ebp - 0x448]
mov dword [ebx + 0x50], 2
jmp 0x533532
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1daeb
mov ecx, 7
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x533de3
mov edx, dword [ebp + 0xc]
mov ebx, dword [edx + 0x8c]
test ebx, ebx
jne 0x533da5
mov ecx, dword [ebp - 0x448]
mov dword [ecx + 0x5c], 0
mov dword [esp + 4], 4
mov dword [esp], 5
call sub.msvcrt.dll_calloc
mov ebx, dword [ebp - 0x448]
mov dword [ebx + 0x58], eax
mov eax, dword [ebp - 0x448]
cmp dword [eax + 0x5c], 4
ja 0x533532
mov edx, dword [ebp + 0xc]
lea ecx, [ebp - 0x418]
mov ebx, dword [edx + 0x90]
shl ebx, 2
add ebx, dword [eax + 0x58]
mov dword [esp], ecx
call sub.msvcrt.dll__strdup
mov dword [ebx], eax
mov ebx, dword [ebp - 0x448]
add dword [ebx + 0x5c], 1
jmp 0x533532
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1daf3
mov ecx, 4
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x533e73
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x94]
test ecx, ecx
jne 0x533e2f
mov edx, dword [ebp - 0x448]
mov dword [edx + 0x64], 0
mov dword [esp + 4], 4
mov dword [esp], 5
call sub.msvcrt.dll_calloc
mov ecx, dword [ebp - 0x448]
mov dword [ecx + 0x60], eax
mov ebx, dword [ebp - 0x448]
cmp dword [ebx + 0x64], 4
ja 0x533532
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x418]
mov edx, dword [ebp - 0x448]
mov ebx, dword [eax + 0x98]
shl ebx, 2
add ebx, dword [edx + 0x60]
mov dword [esp], ecx
call sub.msvcrt.dll__strdup
mov dword [ebx], eax
mov ebx, dword [ebp - 0x448]
add dword [ebx + 0x64], 1
jmp 0x533532
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1daf8
mov ecx, 7
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x533ef4
mov eax, dword [ebp - 0x448]
mov edx, dword [eax + 0x68]
test edx, edx
jne 0x533eb9
mov dword [eax + 0x6c], 0
mov dword [esp + 4], 4
mov dword [esp], 0xa
call sub.msvcrt.dll_calloc
mov edx, dword [ebp - 0x448]
mov dword [edx + 0x68], eax
mov ecx, dword [ebp - 0x448]
mov eax, dword [ecx + 0x6c]
cmp eax, 9
ja 0x533532
lea ebx, [eax*4]
lea eax, [ebp - 0x418]
add ebx, dword [ecx + 0x68]
mov dword [esp], eax
call sub.msvcrt.dll__strdup
mov edx, dword [ebp - 0x448]
add dword [edx + 0x6c], 1
mov dword [ebx], eax
jmp 0x533532
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1db00
mov ecx, 5
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x533f3a
mov ecx, dword [ebp - 0x448]
mov eax, dword [ecx + 0x70]
test eax, eax
je 0x533f1e
mov dword [esp], eax
call sub.msvcrt.dll_free
mov ebx, dword [ebp - 0x45c]
mov dword [esp], ebx
call sub.msvcrt.dll__strdup
mov edx, dword [ebp - 0x448]
mov dword [edx + 0x70], eax
jmp 0x533532
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1dbda
mov ecx, 9
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x533fc9
lea ecx, [ebp - 0x418]
mov dword [esp + 4], 0
mov dword [esp], ecx
call sub.msvcrt.dll_strtod
mov ebx, dword [ebp - 0x448]
fstp dword [ebx + 0x74]
jmp 0x533532
mov esi, dword [ebp - 0x460]
mov edi, 0xb1db84
mov ecx, 5
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x534261
mov edx, dword [ebp - 0x448]
mov dword [edx + 0xc], 4
jmp 0x533237
mov esi, dword [ebp - 0x484]
mov edi, 0xb1dbd1
mov ecx, 9
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x533532
mov eax, dword [ebp - 0x448]
mov dword [eax + 0x50], 3
jmp 0x533532
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1dbe4
mov ecx, 4
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x534053
mov eax, dword [ebp - 0x448]
mov edi, dword [eax + 0x7c]
test edi, edi
jne 0x534012
mov dword [eax + 0x80], 0
mov dword [esp + 4], 4
mov dword [esp], 5
call sub.msvcrt.dll_calloc
mov edx, dword [ebp - 0x448]
mov dword [edx + 0x7c], eax
mov ecx, dword [ebp - 0x448]
mov eax, dword [ecx + 0x80]
cmp eax, 4
ja 0x533532
lea ebx, [eax*4]
lea eax, [ebp - 0x418]
add ebx, dword [ecx + 0x7c]
mov dword [esp], eax
call sub.msvcrt.dll__strdup
mov edx, dword [ebp - 0x448]
add dword [edx + 0x80], 1
mov dword [ebx], eax
jmp 0x533532
mov esi, dword [ebp - 0x46c]
mov edi, 0xb1dbe9
mov ecx, 4
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x534169
mov ecx, dword [ebp - 0x460]
mov dword [esp + 0x14], ecx
mov ebx, dword [ebp - 0x45c]
lea ecx, [ebp - 0x418]
mov dword [esp + 0x10], ebx
mov eax, dword [ebp - 0x46c]
mov dword [esp + 0xc], eax
mov edx, dword [ebp - 0x470]
mov dword [esp + 4], 0xb1dbee
mov dword [esp], ecx
mov dword [esp + 8], edx
call sub.msvcrt.dll_sscanf
test eax, eax
mov ebx, eax
jle 0x533532
mov edx, dword [ebp - 0x470]
cmp ebx, 1
mov ecx, dword [ebp - 0x448]
mov eax, dword [edx]
mov dword [ecx + 0x84], eax
je 0x533532
mov esi, dword [ebp - 0x46c]
mov ecx, 2
mov edi, 0xb1d98a
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x5340f6
mov eax, dword [ebp - 0x448]
mov dword [eax + 0x88], 1
cmp ebx, 2
je 0x533532
mov esi, dword [ebp - 0x45c]
mov ecx, 3
mov edi, 0xb1d98d
cld
repe cmpsb byte [esi], byte es:[edi]
je 0x5342ac
mov esi, dword [ebp - 0x45c]
mov edi, 0xb1d991
mov ecx, 3
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x53429d
mov ecx, dword [ebp - 0x448]
mov dword [ecx + 0x8c], 2
cmp ebx, 3
je 0x533532
mov ebx, dword [ebp - 0x460]
mov dword [esp], ebx
call sub.msvcrt.dll__strdup
mov edx, dword [ebp - 0x448]
mov dword [edx + 0x90], eax
jmp 0x533532
mov ecx, dword [ebp - 0x45c]
mov byte [ecx], 0
mov dword [esp + 8], 0x5f
mov ebx, dword [ebp - 0x46c]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov ebx, 0x5f
call sub.msvcrt.dll_strncat
mov eax, dword [ebp - 0x45c]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov edx, ebx
mov dword [esp + 4], 0xb1db06
sub edx, eax
mov dword [esp + 8], edx
mov ecx, dword [ebp - 0x45c]
mov dword [esp], ecx
call sub.msvcrt.dll_strncat
mov eax, dword [ebp - 0x45c]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
lea edx, [ebp - 0x418]
mov dword [esp + 4], edx
sub ebx, eax
mov dword [esp + 8], ebx
mov ecx, dword [ebp - 0x45c]
mov dword [esp], ecx
call sub.msvcrt.dll_strncat
mov ebx, dword [ebp - 0x448]
mov esi, dword [ebx + 0x94]
test esi, esi
jne 0x53421d
mov dword [ebx + 0x98], 0
mov dword [esp + 4], 4
mov dword [esp], 5
call sub.msvcrt.dll_calloc
mov dword [ebx + 0x94], eax
mov edx, dword [ebp - 0x448]
mov eax, dword [edx + 0x98]
cmp eax, 4
ja 0x533532
mov ecx, dword [ebp - 0x45c]
lea ebx, [eax*4]
add ebx, dword [edx + 0x94]
mov dword [esp], ecx
call sub.msvcrt.dll__strdup
mov dword [ebx], eax
mov ebx, dword [ebp - 0x448]
add dword [ebx + 0x98], 1
jmp 0x533532
mov esi, dword [ebp - 0x460]
mov edi, 0xb1db8a
mov ecx, 3
cld
repe cmpsb byte [esi], byte es:[edi]
je 0x5342d0
mov esi, dword [ebp - 0x460]
mov edi, 0xb1db8e
mov ecx, 3
cld
repe cmpsb byte [esi], byte es:[edi]
jne 0x5342c1
mov ebx, dword [ebp - 0x448]
mov dword [ebx + 0xc], 6
jmp 0x533237
mov dword [ebp - 0x450], 0xa
jmp 0x531dc9
mov edx, dword [ebp - 0x448]
mov dword [edx + 0x8c], 1
jmp 0x534141
mov dword [ebp - 0x450], 0x16
jmp 0x531dc9
mov ecx, dword [ebp - 0x448]
mov dword [ecx + 0xc], 5
jmp 0x533237