Function at 0x5205a0
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c0b76
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x1c30
call fcn.0057ed50
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x14], edi
mov eax, dword [edi + 0x30f8]
mov dword [ebp - 4], 0
push eax
call fcn.00522310
mov esi, eax
mov eax, dword [edi + 0x30f8]
mov ecx, esi
push 0xf
add ecx, eax
push 0x66b1a4
push ecx
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x520706
mov al, byte [ebp + 8]
test al, al
je 0x5206d4
mov edx, dword [edi + 0x30f8]
lea ebx, [edi + 0x3130]
push ebx
push 0x669d40
lea eax, [esi + edx + 0xf]
push eax
call fcn.005803bc
mov eax, dword [ebx]
xor edx, edx
add esp, 0xc
cmp eax, edx
jne 0x52069b
cmp dword [ebx + 4], edx
jne 0x52069b
mov ecx, dword [edi + 0x30f8]
lea esi, [esi + ecx + 0xf]
cmp byte [esi], 0x20
jne 0x52064e
inc esi
jmp 0x520646
cmp byte [esi], 0x30
jne 0x520664
mov eax, dword [edi + 0x30cc]
cmp eax, edx
je 0x520664
mov byte [eax + 0x7e1], 1
cmp dword [edi + 0x1c], edx
jl 0x52069b
jg 0x520670
cmp dword [edi + 0x18], edx
jbe 0x52069b
mov ecx, dword [edi + 0x24]
mov eax, dword [edi + 0x20]
cmp ecx, edx
jl 0x52069b
jg 0x520680
cmp eax, edx
jbe 0x52069b
cmp eax, dword [edi + 0x30]
jne 0x52069b
cmp ecx, dword [edi + 0x34]
jne 0x52069b
mov eax, dword [edi + 0x30cc]
cmp eax, edx
je 0x52069b
mov byte [eax + 0x1c8], 1
cmp dword [edi + 0x3134], edx
jg 0x520cad
jl 0x5206b5
cmp dword [edi + 0x3130], edx
jae 0x520cad
mov dword [edi + 0x3130], edx
mov dword [edi + 0x3134], edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [edi + 0x30f8]
lea edx, [edi + 0x3138]
push edx
push 0x669d40
lea ecx, [esi + eax + 0xf]
push ecx
call fcn.005803bc
add esp, 0xc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [edi + 0x30c0]
mov bl, byte [ebp + 8]
test eax, eax
jne 0x5207b5
test bl, bl
je 0x5207b5
mov ecx, dword [edi + 0x30f8]
mov edx, esi
push 0xe
add edx, ecx
push 0x66b3dc
push edx
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x5207b5
mov eax, dword [edi + 0x7c]
test eax, eax
jne 0x5207b5
mov eax, dword [edi + 0x30f8]
mov ecx, edi
lea esi, [esi + eax + 0xe]
push esi
call fcn.00522310
add esi, eax
push 0x655c0c
push esi
call fcn.0057ea00
add esp, 8
test eax, eax
je 0x520798
mov ecx, dword [edi + 0x30cc]
test ecx, ecx
je 0x52077b
mov edx, dword [ecx]
push 2
call dword [edx + 0xc]
mov dword [edi + 0x30c0], 2
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov dword [edi + 0x30c0], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [edi + 0x30f8]
mov eax, esi
push 0xe
add eax, edx
push 0x66b194
push eax
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x52088b
test bl, bl
je 0x52088b
mov ecx, dword [edi + 0x30f8]
push 0x2f
lea edx, [esi + ecx + 0xe]
push edx
call fcn.0057e940
add esp, 8
test eax, eax
je 0x52081b
mov cl, byte [eax + 1]
inc eax
cmp cl, 0xd
je 0x52081b
cmp cl, 0xa
je 0x52081b
lea ecx, [edi + 0x3140]
push ecx
push 0x669d40
push eax
call fcn.005803bc
add esp, 0xc
mov edx, dword [edi + 0x30f8]
push 0x2d
lea eax, [esi + edx + 0xe]
push eax
call fcn.0057e940
add esp, 8
test eax, eax
je 0x520cad
mov cl, byte [eax + 1]
inc eax
cmp cl, 0xd
je 0x520cad
cmp cl, 0xa
je 0x520cad
add edi, 0x3148
push edi
push 0x669d40
push eax
call fcn.005803bc
add esp, 0xc
test eax, eax
jg 0x520cad
mov dword [edi], 0
mov dword [edi + 4], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [edi + 0x30f8]
mov ecx, esi
push 0x12
add ecx, edx
push 0x66b144
push ecx
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x520909
test bl, bl
je 0x520909
mov edx, dword [edi + 0x30f8]
lea esi, [esi + edx + 0x12]
test esi, esi
je 0x520cad
cmp byte [esi], 0x20
jne 0x5208c7
inc esi
jmp 0x5208bf
push 7
push 0x66b13c
push esi
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x5208f5
mov byte [edi + 0x94], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x2c
push esi
call fcn.0057e940
add esp, 8
test eax, eax
je 0x520905
inc eax
mov esi, eax
jmp 0x5208b7
mov edx, dword [edi + 0x30f8]
mov eax, esi
push 0x15
add eax, edx
push 0x66b3c4
push eax
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x520953
test bl, bl
je 0x520953
mov edi, dword [edi + 0x30cc]
test edi, edi
je 0x520cad
mov byte [edi + 0x1c8], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [edi + 0x30f8]
mov ecx, esi
push 0x1b
add ecx, edx
push 0x66b3a8
push ecx
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x520975
test bl, bl
jne 0x52092b
mov ecx, dword [edi + 0x30f8]
mov edx, esi
push 0x11
add edx, ecx
push 0x66b394
push edx
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x5209e1
test bl, bl
je 0x5209e1
mov eax, dword [edi + 0x30f8]
lea esi, [esi + eax + 0x11]
cmp byte [esi], 0x20
jne 0x5209a9
inc esi
jmp 0x5209a1
push 4
push 0x66b38c
push esi
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x520cad
mov ecx, dword [edi + 0x80]
mov byte [ecx + 0x2b9], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [edi + 0x30f8]
mov edx, esi
push 0x11
add edx, ecx
push 0x66b378
push edx
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x520cc6
mov eax, dword [edi + 0x30f8]
lea ebx, [esi + eax + 0x11]
mov al, byte [ebx]
mov dword [ebp + 8], ebx
cmp al, 0x20
je 0x520cc0
cmp al, 9
je 0x520cc0
mov esi, ebx
push 5
push 0x66b370
push esi
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x520b7a
add esi, 5
mov al, byte [esi]
test al, al
je 0x520a4c
cmp al, 0x3d
je 0x520a4c
inc esi
jmp 0x520a3f
cmp byte [esi], 0
je 0x520ad9
mov al, byte [esi + 1]
inc esi
test al, al
je 0x520ad9
push esi
mov ecx, edi
call fcn.00522310
add esi, eax
cmp byte [esi], 0
je 0x520ad9
cmp byte [esi], 0x22
jne 0x520a83
mov al, byte [esi + 1]
inc esi
test al, al
je 0x520ad9
push 0x22
push esi
call fcn.0057e940
jmp 0x520aa0
push 0x64fb50
push esi
call fcn.0057ea00
add esp, 8
test eax, eax
jne 0x520aa7
push 0x664e04
push esi
call fcn.0057ea00
add esp, 8
test eax, eax
je 0x520ad9
sub eax, esi
mov edi, eax
test edi, edi
jle 0x520ad6
mov ecx, dword [ebp - 0x14]
push edi
mov ecx, dword [ecx + 0x80]
add ecx, 0x174
call fcn.0059b10a
mov ecx, edi
mov edi, 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]
mov edi, dword [ebp - 0x14]
push 5
push 0x66b368
push ebx
call fcn.00580b90
add esp, 0xc
test eax, eax
je 0x520cad
mov eax, dword [edi + 0x80]
mov byte [eax + 0x172], 0
mov eax, dword [edi + 0x317c]
test eax, eax
jne 0x520baf
mov eax, dword [edi + 0x3180]
test eax, eax
jne 0x520baf
mov esi, dword [ebp + 8]
push 0x64fb50
push esi
xor ebx, ebx
call fcn.0057ea00
add esp, 8
test eax, eax
jne 0x520b43
push 0x664e04
push esi
call fcn.0057ea00
add esp, 8
test eax, eax
je 0x520b47
sub eax, esi
mov ebx, eax
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp + 8]
mov ecx, ebx
mov edx, dword [eax + 0x80]
mov edi, dword [edx + 0x29c]
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]
mov eax, dword [eax + 0x80]
mov ecx, dword [eax + 0x29c]
jmp 0x520ca9
push 0x20
push esi
call fcn.0057e940
add esp, 8
test eax, eax
jne 0x520b9c
push 9
push esi
call fcn.0057e940
add esp, 8
test eax, eax
je 0x520ad9
mov cl, byte [eax + 1]
inc eax
test cl, cl
je 0x520ad9
mov esi, eax
jmp 0x520a24
mov edx, dword [ebp + 8]
push 0x20
push edx
call fcn.0057e940
mov esi, eax
add esp, 8
xor ebx, ebx
mov dword [ebp - 0x18], esi
test esi, esi
mov dword [ebp + 8], ebx
je 0x520bfa
inc esi
push 0x64fb50
push esi
mov dword [ebp - 0x18], esi
call fcn.0057ea00
add esp, 8
test eax, eax
jne 0x520bf3
push 0x664e04
push esi
call fcn.0057ea00
add esp, 8
test eax, eax
je 0x520bfa
sub eax, esi
mov ebx, eax
mov dword [ebp + 8], ebx
mov edi, dword [ebp - 0x14]
mov eax, dword [edi + 0x3174]
test eax, eax
je 0x520c32
push eax
mov byte [ebp - 4], 1
call fcn.00597102
add esp, 4
jmp 0x520c22
mov ecx, dword [ebp - 0x14]
xor eax, eax
mov dword [ebp - 4], eax
mov edi, ecx
mov dword [ecx + 0x3174], eax
test ebx, ebx
jne 0x520c7c
mov eax, dword [edi + 0x58]
test eax, eax
je 0x520c7c
mov eax, dword [edi + 0x317c]
test eax, eax
je 0x520c5b
lea edx, [edi + 0x31bc]
mov ecx, edi
push edx
call fcn.00525800
mov dword [edi + 0x317c], ebx
xor eax, eax
mov dword [edi + 0x317c], eax
mov dword [edi + 0x3180], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea eax, [ebx + 1]
push eax
call fcn.005970d9
mov edx, dword [ebp - 0x14]
mov ecx, ebx
mov edi, eax
add esp, 4
mov dword [edx + 0x3174], eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [edx + 0x3174]
mov byte [ecx + ebx], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
inc ebx
jmp 0x520a0d
mov ecx, dword [edi + 0x30f8]
mov edx, esi
push 0x13
add edx, ecx
push 0x66b354
push edx
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x520ebb
mov eax, dword [edi + 0x30f8]
lea esi, [esi + eax + 0x13]
mov al, byte [esi]
cmp al, 0x20
je 0x520eb5
cmp al, 9
je 0x520eb5
push 5
push 0x66b368
push esi
call fcn.00580b90
add esp, 0xc
test eax, eax
je 0x520cad
mov ecx, dword [edi + 0xb0]
mov dword [ecx + 4], 2
mov eax, dword [edi + 0x3188]
test eax, eax
jne 0x520db9
mov eax, dword [edi + 0x318c]
test eax, eax
jne 0x520db9
mov edx, dword [edi + 0xb0]
push 0x66b34c
mov eax, dword [edx + 0x108]
push eax
call fcn.00587e70
add esp, 8
test eax, eax
je 0x520cad
push 0x64fb50
push esi
xor ebx, ebx
call fcn.0057ea00
add esp, 8
test eax, eax
jne 0x520d85
push 0x664e04
push esi
call fcn.0057ea00
add esp, 8
test eax, eax
je 0x520d89
sub eax, esi
mov ebx, eax
mov eax, dword [ebp - 0x14]
mov ecx, ebx
mov edx, dword [eax + 0xb0]
mov edi, dword [edx + 0x108]
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]
mov eax, dword [eax + 0xb0]
mov ecx, dword [eax + 0x108]
jmp 0x520ca9
push 0x20
push esi
call fcn.0057e940
mov esi, eax
add esp, 8
xor ebx, ebx
mov dword [ebp - 0x18], esi
test esi, esi
mov dword [ebp + 8], ebx
je 0x520e01
inc esi
push 0x64fb50
push esi
mov dword [ebp - 0x18], esi
call fcn.0057ea00
add esp, 8
test eax, eax
jne 0x520dfa
push 0x664e04
push esi
call fcn.0057ea00
add esp, 8
test eax, eax
je 0x520e01
sub eax, esi
mov ebx, eax
mov dword [ebp + 8], ebx
mov edi, dword [ebp - 0x14]
mov eax, dword [edi + 0x3190]
test eax, eax
je 0x520e39
push eax
mov byte [ebp - 4], 3
call fcn.00597102
add esp, 4
jmp 0x520e29
mov edx, dword [ebp - 0x14]
xor eax, eax
mov dword [ebp - 4], eax
mov edi, edx
mov dword [edx + 0x3190], eax
test ebx, ebx
jne 0x520e83
mov eax, dword [edi + 0x58]
test eax, eax
je 0x520e83
mov eax, dword [edi + 0x3188]
test eax, eax
je 0x520e62
lea eax, [edi + 0x3198]
mov ecx, edi
push eax
call fcn.00525800
mov dword [edi + 0x3188], ebx
xor eax, eax
mov dword [edi + 0x3188], eax
mov dword [edi + 0x318c], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea ecx, [ebx + 1]
push ecx
call fcn.005970d9
mov edx, dword [ebp - 0x14]
mov ecx, ebx
mov edi, eax
add esp, 4
mov dword [edx + 0x3190], eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [edx + 0x3190]
jmp 0x520ca9
inc esi
jmp 0x520cf2
mov ecx, dword [edi + 0x30f8]
mov edx, esi
push 9
add edx, ecx
push 0x66b158
push edx
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x520f7a
test bl, bl
je 0x520f7a
mov eax, dword [edi + 0x310c]
test eax, eax
je 0x520ef8
push eax
call fcn.00597102
add esp, 4
mov eax, dword [edi + 0x30f8]
mov ecx, edi
lea esi, [esi + eax + 9]
push esi
call fcn.00522310
add esi, eax
push 0x64fb50
push esi
xor ebx, ebx
call fcn.0057ea00
add esp, 8
test eax, eax
jne 0x520f32
push 0x664e04
push esi
call fcn.0057ea00
add esp, 8
test eax, eax
je 0x520f36
sub eax, esi
mov ebx, eax
lea ecx, [ebx + 1]
push ecx
call fcn.005970d9
mov ecx, ebx
mov dword [edi + 0x310c], eax
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x14]
mov ecx, edx
add esp, 4
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [eax + 0x310c]
mov byte [ebx + ecx], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [edi + 0x30f8]
mov edx, esi
push 0x14
add edx, ecx
push 0x66b334
push edx
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x521dab
test bl, bl
je 0x521dab
mov eax, dword [edi + 0x3114]
cmp eax, 0xc8
je 0x520fbc
cmp eax, 0xce
jne 0x520cad
mov eax, dword [edi + 0x30f8]
push 0x66b328
mov byte [ebp + 0xb], 0
lea ecx, [esi + eax + 0x14]
push ecx
call fcn.0057ea00
add esp, 8
test eax, eax
je 0x520fe0
mov byte [ebp + 0xb], 1
mov edx, dword [edi + 0x30f8]
mov ecx, edi
lea eax, [esi + edx + 0x14]
push eax
call fcn.005204d0
mov ecx, dword [edi + 0x30f8]
push 0x66b31c
lea edx, [esi + ecx + 0x14]
push edx
call fcn.0057ea00
mov edi, eax
add esp, 8
test edi, edi
jne 0x521084
mov ebx, dword [ebp - 0x14]
push 0x66b318
mov eax, dword [ebx + 0x30f8]
lea ecx, [esi + eax + 0x14]
push ecx
call fcn.00580140
add esp, 8
mov edi, eax
test edi, edi
je 0x52105f
push 8
push 0x66b31c
push edi
call fcn.00580b90
add esp, 0xc
test eax, eax
je 0x52105b
mov al, byte [edi + 2]
add edi, 2
test al, al
jne 0x521053
xor edi, edi
jmp 0x52102d
push 0x66b318
push edi
jmp 0x521023
test edi, edi
jne 0x521087
mov al, byte [ebp + 0xb]
test al, al
je 0x520cad
mov ecx, ebx
call fcn.005203e0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ebx, dword [ebp - 0x14]
push 0x3d
push edi
call fcn.0057e940
mov esi, eax
add esp, 8
test esi, esi
je 0x520cad
mov al, byte [esi + 1]
inc esi
cmp al, 0xd
je 0x520cad
cmp al, 0xa
je 0x520cad
push esi
mov ecx, ebx
call fcn.00522310
add esi, eax
cmp byte [esi], 0
je 0x520cad
mov al, byte [esi]
mov byte [ebp + 0xb], 1
cmp al, 0x22
jne 0x52112f
inc esi
push 0x22
push esi
call fcn.0057e940
add esp, 8
test eax, eax
je 0x52112f
mov byte [ebp + 0xb], 0
sub eax, esi
mov edi, eax
mov edx, dword [0x6754d4]
mov dword [ebp - 0x18], edx
push edi
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
call fcn.0059b10a
mov ecx, edi
mov ebx, eax
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, byte [ebp + 0xb]
and ecx, 3
test al, al
rep movsb byte es:[edi], byte [esi]
je 0x521184
mov ecx, dword [ebp - 0x18]
push 0x3b
push ecx
call fcn.0057e940
xor esi, esi
add esp, 8
cmp eax, esi
je 0x521186
mov byte [eax], 0
jmp 0x521186
push 0x64fb50
push esi
call fcn.0057ea00
add esp, 8
test eax, eax
jne 0x5210e1
push 0x664e04
push esi
call fcn.0057ea00
add esp, 8
test eax, eax
jne 0x5210e1
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
je 0x520cad
cmp edi, 0x100
jle 0x5210e5
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
xor esi, esi
push 8
push 0x66b30c
push ebx
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x5211ac
lea edx, [ebp - 0x18]
push edx
push ebx
call fcn.0055ee70
add esp, 8
jmp 0x521243
push 0xa
push 0x66b300
push ebx
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x5211e8
mov eax, dword [ebp - 0x18]
lea ecx, [ebp + 8]
add eax, 0xa
push eax
call fcn.0059adab
lea ecx, [ebp + 8]
mov byte [ebp - 4], 6
push ecx
lea ecx, [ebp - 0x18]
call fcn.0059ae76
mov byte [ebp - 4], 5
lea ecx, [ebp + 8]
jmp 0x52123e
push 9
push 0x66b2f4
push ebx
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x521243
mov edx, dword [ebp - 0x18]
lea ecx, [ebp + 8]
add edx, 9
push edx
call fcn.0059adab
mov eax, dword [ebp + 8]
push 0x66b2f0
push eax
mov byte [ebp - 4], 7
call fcn.0057ea00
add esp, 8
cmp eax, esi
je 0x521237
mov cl, byte [eax + 2]
add eax, 2
test cl, cl
je 0x521237
push eax
lea ecx, [ebp - 0x18]
call fcn.0059aec6
mov byte [ebp - 4], 5
lea ecx, [ebp + 8]
call fcn.0059ad3d
mov ecx, dword [ebp - 0x18]
push esi
push ecx
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x1c], esi
mov word [ebp - 0x20], si
call fcn.004028e0
mov edi, dword [ebp - 0x14]
lea edx, [ebp - 0x18]
push edx
mov byte [ebp - 4], 8
mov ecx, dword [edi + 0x80]
add ecx, 0xc4
call fcn.0059ae76
mov eax, dword [ebp - 0x18]
push 7
push 0x66b2e8
push eax
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x52132b
mov ecx, dword [ebp - 0x18]
add ecx, 7
push ecx
lea ecx, [ebp + 8]
call fcn.0059adab
mov ebx, dword [ebp + 8]
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 9
call fcn.00401070
cmp ebx, esi
je 0x5212fd
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5212fa
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push esi
push esi
push 0xffffffffffffffff
push ebx
push esi
push esi
call edi
cmp eax, esi
mov dword [ebp - 0x1c], eax
je 0x5212fa
lea edx, [eax + eax + 2]
push edx
call fcn.005970d9
add esp, 4
cmp eax, esi
mov dword [ebp - 0x24], eax
je 0x5212fa
mov ecx, dword [ebp - 0x1c]
push ecx
push eax
push 0xffffffffffffffff
push ebx
push esi
push esi
call edi
mov dword [ebp - 0x1c], eax
mov edi, dword [ebp - 0x14]
mov ecx, dword [edi + 0x80]
lea edx, [ebp + 8]
push edx
add ecx, 0xc4
call fcn.0059ae76
mov eax, dword [edi + 0x80]
lea ecx, [ebp + 8]
mov byte [ebp - 4], 8
mov byte [eax + 0x2ad], 1
call fcn.0059ad3d
mov ecx, dword [edi + 0x80]
push esi
push 1
lea edx, [ebp - 0x24]
push 1
mov eax, dword [ecx + 0xc4]
push edx
mov dl, byte [ecx + 0x2ad]
neg dl
sbb edx, edx
and edx, 0xfde9
push edx
push eax
call fcn.00552d70
mov eax, dword [edi + 0x80]
mov edx, dword [eax + 0xbc]
cmp edx, esi
je 0x5213ad
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5213ad
push 9
push 0x651ed8
push edx
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x5213ad
mov edi, dword [ebp - 0x14]
mov ecx, dword [edi + 0x80]
mov eax, dword [ecx + 0xbc]
push eax
call fcn.00597102
mov edx, dword [edi + 0x80]
add esp, 4
mov dword [edx + 0xbc], esi
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x7c], esi
jne 0x521d80
mov ecx, dword [eax + 0x30cc]
mov ecx, dword [ecx + 0x18]
cmp ecx, esi
je 0x5213f4
mov edx, dword [eax + 0x80]
cmp dword [edx + 0x3c], esi
jne 0x5213f4
mov eax, dword [ebp - 0x24]
cmp eax, esi
jne 0x5213db
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ecx]
push 0x13bc
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x521d80
mov eax, dword [eax + 0x80]
cmp dword [eax + 0x3c], esi
je 0x521d80
mov ecx, dword [eax + 0x34]
cmp ecx, esi
jne 0x52140d
lea ecx, [eax + 0x38]
lea edx, [ebp - 0x298]
lea eax, [ebp - 0x498]
push edx
push eax
lea edx, [ebp - 0xaa0]
lea eax, [ebp - 0x68]
push edx
push eax
push ecx
call fcn.0057f69a
mov eax, dword [ebp - 0x24]
add esp, 0x14
cmp eax, esi
jne 0x521439
lea eax, [ebp - 0x20]
push 0x25
push eax
call fcn.0057ed7f
add esp, 8
test eax, eax
je 0x52148c
mov eax, dword [ebp - 0x24]
cmp eax, esi
jne 0x521452
lea eax, [ebp - 0x20]
push eax
call fcn.0057e90a
add esp, 4
cmp eax, 0x7d0
jae 0x52148c
mov eax, dword [ebp - 0x24]
cmp eax, esi
jne 0x52146c
lea eax, [ebp - 0x20]
lea ecx, [ebp - 0x1c40]
push eax
push ecx
call fcn.0057eaaa
lea edx, [ebp - 0x24]
lea eax, [ebp - 0x1c40]
push edx
push eax
call fcn.00552b90
add esp, 0x10
mov eax, dword [ebp - 0x24]
cmp eax, esi
jne 0x521496
lea eax, [ebp - 0x20]
lea ecx, [ebp - 0xaa0]
push eax
lea edx, [ebp - 0x68]
push ecx
push edx
lea eax, [ebp - 0x8a0]
push 0x650bb8
push eax
call fcn.0057f81e
add esp, 0x14
lea ecx, [ebp - 0x498]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x28], esi
push ecx
lea ecx, [ebp - 0x30]
mov word [ebp - 0x2c], si
call fcn.00401fc0
lea edx, [ebp - 0x498]
lea ecx, [ebp - 0x3c]
push edx
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x34], esi
mov word [ebp - 0x38], si
call fcn.00401fc0
lea eax, [ebp - 0x298]
mov byte [ebp - 4], 0xb
test eax, eax
je 0x52158f
lea ecx, [ebp - 0x298]
push ecx
call fcn.0057e90a
add esp, 4
test eax, eax
je 0x52158f
mov eax, dword [ebp - 0x30]
cmp eax, esi
je 0x521525
push eax
call fcn.0057e90a
add esp, 4
mov edi, eax
jmp 0x521527
xor edi, edi
lea edx, [ebp - 0x298]
push edx
call fcn.0057e90a
add eax, edi
lea eax, [eax + eax + 2]
push eax
call fcn.005970d9
mov edi, eax
add esp, 8
cmp edi, esi
je 0x52158f
mov eax, dword [ebp - 0x30]
cmp eax, esi
je 0x521568
push eax
push edi
call fcn.0057eaaa
lea ecx, [ebp - 0x298]
push ecx
push edi
call fcn.0057ea80
add esp, 0x10
jmp 0x521578
lea edx, [ebp - 0x298]
push edx
push edi
call fcn.0057eaaa
add esp, 8
lea ecx, [ebp - 0x30]
call fcn.00401070
push edi
mov dword [ebp - 0x30], edi
call fcn.0057e90a
add esp, 4
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x24]
cmp eax, esi
mov ecx, eax
jne 0x52159b
lea ecx, [ebp - 0x20]
mov eax, dword [ebp - 0x30]
cmp eax, esi
jne 0x5215a5
lea eax, [ebp - 0x2c]
push ecx
push eax
call fcn.00580edc
add esp, 8
test eax, eax
jne 0x5215f6
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xa
call fcn.00401070
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 8
call fcn.00401070
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 5
call fcn.00401070
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.0059ad3d
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebp - 0x30]
cmp eax, esi
jne 0x521600
lea eax, [ebp - 0x2c]
push 0x5f
push eax
call fcn.0057e85a
add esp, 8
cmp eax, esi
je 0x521797
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x48]
push eax
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x40], esi
mov word [ebp - 0x44], si
call fcn.00401fc0
mov eax, dword [ebp - 0x48]
mov byte [ebp - 4], 0xc
cmp eax, esi
jne 0x521637
lea eax, [ebp - 0x44]
push 0x5f
push eax
call fcn.0057e85a
mov esi, eax
add esp, 8
test esi, esi
je 0x521784
mov word [esi], 0
add esi, 2
mov edi, 1
mov ax, word [esi]
test ax, ax
je 0x521682
cmp ax, 0x2e
je 0x521682
and eax, 0xffff
push eax
call fcn.0057ef8c
add esp, 4
test eax, eax
je 0x521784
add esi, 2
jmp 0x521659
test edi, edi
je 0x521784
cmp word [esi], 0x2e
jne 0x521784
test esi, esi
je 0x521711
push esi
call fcn.0057e90a
add esp, 4
test eax, eax
je 0x521711
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x5216b9
push eax
call fcn.0057e90a
add esp, 4
mov edi, eax
jmp 0x5216bb
xor edi, edi
push esi
call fcn.0057e90a
add eax, edi
lea ecx, [eax + eax + 2]
push ecx
call fcn.005970d9
mov edi, eax
add esp, 8
test edi, edi
je 0x521711
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x5216f0
push eax
push edi
call fcn.0057eaaa
push esi
push edi
call fcn.0057ea80
add esp, 0x10
jmp 0x5216fa
push esi
push edi
call fcn.0057eaaa
add esp, 8
lea ecx, [ebp - 0x48]
call fcn.00401070
push edi
mov dword [ebp - 0x48], edi
call fcn.0057e90a
add esp, 4
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x24]
test eax, eax
mov ecx, eax
jne 0x52171d
lea ecx, [ebp - 0x20]
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x521727
lea eax, [ebp - 0x44]
push ecx
push eax
call fcn.00580edc
add esp, 8
test eax, eax
jne 0x521784
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xb
call fcn.00401070
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xa
call fcn.00401070
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 8
call fcn.00401070
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 5
call fcn.00401070
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.0059ad3d
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xb
call fcn.00401070
mov edi, dword [ebp - 0x14]
xor esi, esi
jmp 0x52179a
mov edi, dword [ebp - 0x14]
mov edx, dword [edi + 0x30cc]
cmp dword [edx + 0xf4], esi
je 0x521832
lea eax, [ebp - 0x698]
lea ecx, [ebp - 0x498]
push eax
lea edx, [ebp - 0xaa0]
push ecx
lea eax, [ebp - 0x68]
push edx
lea ecx, [ebp - 0x8a0]
push eax
push ecx
call fcn.0057f69a
lea edx, [ebp - 0x698]
lea eax, [ebp - 0x298]
push edx
push eax
call fcn.00580edc
add esp, 0x1c
test eax, eax
jne 0x521d19
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xa
call fcn.00401070
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 8
call fcn.00401070
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 5
call fcn.00401070
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.0059ad3d
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebp - 0x30]
cmp eax, esi
jne 0x52183c
lea eax, [ebp - 0x2c]
push 0x66b2c4
push eax
call fcn.0057ee1f
add esp, 8
test eax, eax
jne 0x52192d
lea ecx, [ebp - 0x698]
lea edx, [ebp - 0x498]
push ecx
lea eax, [ebp - 0xaa0]
push edx
lea ecx, [ebp - 0x68]
push eax
lea edx, [ebp - 0x8a0]
push ecx
push edx
call fcn.0057f69a
lea eax, [ebp - 0x698]
push 0x654800
push eax
call fcn.00580edc
add esp, 0x1c
test eax, eax
jne 0x5218d2
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xa
call fcn.00401070
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 8
call fcn.00401070
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 5
call fcn.00401070
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.0059ad3d
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea ecx, [ebp - 0x698]
push 0x6561a4
push ecx
call fcn.00580edc
add esp, 8
test eax, eax
jne 0x52192d
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xa
call fcn.00401070
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 8
call fcn.00401070
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 5
call fcn.00401070
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.0059ad3d
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea edx, [ebp - 0xca0]
lea eax, [ebp - 0x498]
push edx
lea ecx, [ebp - 0xaa0]
push eax
lea edx, [ebp - 0x68]
push ecx
lea eax, [ebp - 0x8a0]
push edx
push eax
call fcn.0057f69a
lea ecx, [ebp - 0xca0]
lea edx, [ebp - 0x298]
push ecx
push edx
call fcn.00580edc
add esp, 0x1c
test eax, eax
jne 0x521a48
mov eax, dword [edi + 0x80]
mov cl, byte [eax + 0x159]
test cl, cl
jne 0x5215b3
test byte [eax + 0x144], 0x40
jne 0x5215b3
mov edi, dword [ebp - 0x30]
cmp edi, esi
jne 0x52199b
lea edi, [ebp - 0x2c]
lea eax, [ebp - 0x498]
push eax
call fcn.0057e90a
push eax
lea ecx, [ebp - 0x498]
push edi
push ecx
call fcn.0057f178
add esp, 0x10
test eax, eax
jne 0x521a48
mov eax, dword [ebp - 0x30]
cmp eax, esi
jne 0x5219ca
lea eax, [ebp - 0x2c]
push eax
call fcn.0057e90a
lea edx, [ebp - 0x498]
mov edi, eax
push edx
call fcn.0057e90a
add esp, 8
cmp eax, edi
jae 0x521a48
mov edi, dword [ebp - 0x30]
cmp edi, esi
jne 0x5219ef
lea edi, [ebp - 0x2c]
lea eax, [ebp - 0x498]
push eax
call fcn.0057e90a
add esp, 4
cmp word [edi + eax*2], 0x5f
jne 0x521a48
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xa
call fcn.00401070
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 8
call fcn.00401070
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 5
call fcn.00401070
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.0059ad3d
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x58], esi
mov word [ebp - 0x5c], si
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0xd
cmp eax, esi
mov edi, eax
jne 0x521a62
lea edi, [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
cmp eax, esi
jne 0x521a6c
lea eax, [ebp - 0x38]
mov ebx, dword [0x67ae9c]
cmp ebx, esi
je 0x521c1d
cmp eax, esi
je 0x521c1d
lea ecx, [ebp - 0x298]
test ecx, ecx
je 0x521c1d
cmp edi, esi
je 0x521c1d
push eax
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x78], esi
mov word [ebp - 0x7c], si
call fcn.00401fc0
lea edx, [ebp - 0x298]
lea ecx, [ebp - 0x8c]
push edx
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0x84], esi
mov word [ebp - 0x88], si
call fcn.00401fc0
push edi
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x6c], esi
mov word [ebp - 0x70], si
call fcn.00401fc0
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x10
call fcn.00401070
push esi
push ebx
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x90], esi
mov word [ebp - 0x94], si
call fcn.004028e0
mov ebx, dword [ebp - 0x80]
mov byte [ebp - 4], 0x11
cmp ebx, esi
jne 0x521b25
lea ebx, [ebp - 0x7c]
mov edi, dword [ebp - 0x8c]
cmp edi, esi
jne 0x521b35
lea edi, [ebp - 0x88]
mov eax, dword [ebp - 0x74]
cmp eax, esi
jne 0x521b3f
lea eax, [ebp - 0x70]
mov esi, dword [ebp - 0x90]
push eax
call fcn.0057e90a
mov edx, eax
push edi
mov dword [ebp + 8], edx
call fcn.0057e90a
mov edi, eax
push ebx
add edi, esi
call fcn.0057e90a
mov ecx, dword [ebp + 8]
add edi, ecx
lea ebx, [eax + edi + 4]
lea esi, [ebx + ebx]
push esi
call fcn.005970d9
mov edi, eax
add esp, 0x10
test edi, edi
mov dword [ebp - 0x60], edi
je 0x521be5
mov ecx, esi
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [ebp - 0x74]
test eax, eax
mov esi, eax
jne 0x521b9c
lea esi, [ebp - 0x70]
mov eax, dword [ebp - 0x8c]
test eax, eax
mov edx, eax
jne 0x521bae
lea edx, [ebp - 0x88]
mov ecx, dword [ebp - 0x80]
test ecx, ecx
jne 0x521bb8
lea ecx, [ebp - 0x7c]
mov eax, dword [ebp - 0x98]
test eax, eax
jne 0x521bc8
lea eax, [ebp - 0x94]
push esi
push edx
push ecx
push eax
mov eax, dword [ebp - 0x60]
push ebx
push eax
call fcn.0057e89a
mov ecx, dword [ebp - 0x60]
push ecx
call fcn.0057e90a
add esp, 0x1c
mov dword [ebp - 0x58], eax
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x10
call fcn.00401070
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0xf
call fcn.00401070
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0xe
call fcn.00401070
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0xd
call fcn.00401070
xor esi, esi
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x4c], esi
mov word [ebp - 0x50], si
call fcn.00401070
mov edx, 0x64f0d0
test edx, edx
je 0x521c83
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x521c83
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push esi
push esi
push 0xffffffffffffffff
push edx
push esi
push esi
call edi
cmp eax, esi
mov dword [ebp - 0x4c], eax
je 0x521c83
lea eax, [eax + eax + 2]
push eax
call fcn.005970d9
add esp, 4
cmp eax, esi
mov dword [ebp - 0x54], eax
je 0x521c86
mov ecx, dword [ebp - 0x4c]
push ecx
push eax
push 0xffffffffffffffff
push 0x64f0d0
push esi
push esi
call edi
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x54]
cmp eax, esi
jne 0x521c8d
lea eax, [ebp - 0x50]
mov ecx, dword [ebp - 0x60]
cmp ecx, esi
jne 0x521c97
lea ecx, [ebp - 0x5c]
push 0x50024
push eax
push ecx
push esi
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 7
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x54]
jne 0x521d05
call fcn.00401070
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xb
call fcn.00401070
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xa
call fcn.00401070
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 8
call fcn.00401070
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 5
call fcn.00401070
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.0059ad3d
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
call fcn.00401070
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xb
call fcn.00401070
mov edi, dword [ebp - 0x14]
mov ecx, dword [edi + 0x80]
lea edx, [ebp - 0x8a0]
push edx
call fcn.0055c2b0
mov eax, dword [edi + 0x30cc]
mov eax, dword [eax + 0x70]
cmp eax, esi
je 0x521d44
mov ecx, dword [edi + 0x80]
push eax
call fcn.0055a740
mov eax, dword [edi + 0x30cc]
mov ecx, dword [eax + 0x14]
cmp ecx, esi
je 0x521d68
mov edx, dword [eax + 0x70]
mov eax, dword [ecx]
push edx
push 0x13c9
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xa
call fcn.00401070
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 8
call fcn.00401070
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 5
call fcn.00401070
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.0059ad3d
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [edi + 0x30f8]
mov ecx, esi
push 0xd
add ecx, edx
push 0x66b2b4
push ecx
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x522089
test bl, bl
je 0x522089
mov eax, dword [edi + 0x3114]
cmp eax, 0xc8
je 0x521df4
cmp eax, 0xce
je 0x521df4
cmp eax, 0x130
jne 0x520cad
mov edx, dword [edi + 0x80]
mov eax, dword [edx + 0xbc]
test eax, eax
je 0x521e0d
push eax
call fcn.00597102
add esp, 4
mov eax, dword [edi + 0x30f8]
mov ecx, edi
lea esi, [esi + eax + 0xd]
push esi
call fcn.00522310
add esi, eax
push 0x64fb50
push esi
xor ebx, ebx
call fcn.0057ea00
push 0x3b
push esi
mov edi, eax
call fcn.0057e940
add esp, 0x10
cmp eax, edi
mov dword [ebp + 8], eax
jae 0x521e46
test eax, eax
jne 0x521e4a
test edi, edi
jne 0x521e50
test eax, eax
mov edi, eax
je 0x521e56
sub edi, esi
mov ebx, edi
jmp 0x521e6c
push 0x664e04
push esi
call fcn.0057ea00
add esp, 8
test eax, eax
je 0x521e6c
sub eax, esi
mov ebx, eax
lea ecx, [ebx + 5]
push ecx
call fcn.005970d9
mov edx, dword [ebp - 0x14]
add esp, 4
mov ecx, dword [edx + 0x80]
mov dword [ecx + 0xbc], eax
mov eax, dword [edx + 0x80]
mov ecx, ebx
mov edi, dword [eax + 0xbc]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [edx + 0x80]
mov eax, dword [ecx + 0xbc]
mov byte [eax + ebx], 0
mov edx, dword [edx + 0x80]
mov al, byte [edx + 0x14d]
test al, al
je 0x521f18
mov ecx, dword [edx + 0xbc]
push 9
push 0x651ed8
push ecx
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x521f18
mov esi, dword [ebp - 0x14]
mov edx, dword [esi + 0x80]
mov eax, dword [edx + 0xbc]
push eax
call fcn.00597102
mov eax, dword [esi + 0x80]
add esp, 4
mov dword [eax + 0xbc], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp - 0x14]
xor eax, eax
mov edx, dword [ecx + 0x80]
or ecx, 0xffffffff
mov edi, dword [edx + 0xc4]
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x521f88
mov edx, dword [edx + 0xbc]
push 9
push 0x651ed8
push edx
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x521f88
mov esi, dword [ebp - 0x14]
mov eax, dword [esi + 0x80]
mov eax, dword [eax + 0xbc]
push eax
call fcn.00597102
mov ecx, dword [esi + 0x80]
add esp, 4
mov dword [ecx + 0xbc], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ebx, dword [ebp - 0x14]
push 0x14
push 0x66b29c
mov edx, dword [ebx + 0x80]
mov eax, dword [edx + 0xbc]
push eax
call fcn.00580b90
add esp, 0xc
test eax, eax
je 0x521fcf
mov ecx, dword [ebx + 0x80]
push 0x16
push 0x66b284
mov edx, dword [ecx + 0xbc]
push edx
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x520cad
mov eax, dword [ebp + 8]
test eax, eax
je 0x520cad
push 0x66b278
push eax
call fcn.0057ea00
add esp, 8
test eax, eax
je 0x520cad
push 0x3d
push eax
call fcn.0057e940
mov esi, eax
add esp, 8
test esi, esi
je 0x520cad
inc esi
mov ecx, ebx
push esi
call fcn.00522310
add esi, eax
push 0x64fb50
push esi
xor edi, edi
call fcn.0057ea00
add esp, 8
test eax, eax
jne 0x522036
push 0x664e04
push esi
call fcn.0057ea00
add esp, 8
test eax, eax
je 0x52203a
sub eax, esi
mov edi, eax
add ebx, 0x3120
push edi
mov ecx, ebx
call fcn.0059b10a
mov ecx, edi
mov edi, eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebx]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x520cad
mov ecx, dword [ebp - 0x14]
mov byte [ecx + 0x3124], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [edi + 0x30f8]
mov edx, esi
push 0xb
add edx, ecx
push 0x66b26c
push edx
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x5220d0
test bl, bl
je 0x5220d0
mov eax, dword [edi + 0x30f8]
lea ecx, [esi + eax + 0xb]
push ecx
mov ecx, edi
call fcn.00524230
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [edi + 0x30f8]
mov edx, esi
push 5
add edx, ecx
push 0x66b264
push edx
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x522163
mov eax, dword [edi + 0x30f8]
mov ecx, edi
lea esi, [esi + eax + 5]
push esi
call fcn.00522310
add esi, eax
push 0x64fb50
push esi
xor ebx, ebx
call fcn.0057ea00
add esp, 8
test eax, eax
jne 0x522128
push 0x664e04
push esi
call fcn.0057ea00
add esp, 8
test eax, eax
je 0x52212c
sub eax, esi
mov ebx, eax
mov ecx, dword [edi + 0x80]
push ebx
add ecx, 0xf0
call fcn.0059b10a
mov ecx, ebx
mov edi, 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]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [edi + 0x30f8]
mov eax, esi
push 4
add eax, edx
push 0x66b25c
push eax
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x5221c7
mov ecx, dword [edi + 0x30f8]
lea esi, [esi + ecx + 4]
mov ecx, edi
push esi
call fcn.00522310
push 0x23
add eax, esi
push 0x66b234
push eax
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x520cad
mov byte [edi + 0x3126], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [edi + 0x30f8]
mov edx, esi
push 0xe
add edx, ecx
push 0x66b224
push edx
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x520cad
mov eax, dword [edi + 0x7c]
test eax, eax
jne 0x520cad
test bl, bl
je 0x520cad
mov eax, dword [edi + 0x30f8]
mov ecx, edi
lea esi, [esi + eax + 0xe]
push esi
call fcn.00522310
add esi, eax
push 0x64fb50
push esi
xor ebx, ebx
call fcn.0057ea00
add esp, 8
test eax, eax
jne 0x522236
push 0x664e04
push esi
call fcn.0057ea00
add esp, 8
test eax, eax
je 0x52223a
sub eax, esi
mov ebx, eax
lea ecx, [ebx + 1]
push ecx
call fcn.005970d9
mov ecx, ebx
mov edi, eax
mov edx, ecx
mov dword [ebp + 8], eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
add esp, 4
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [eax + ebx], 0
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x80]
mov eax, dword [ecx + 0x20]
test eax, eax
jne 0x5222a4
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x30cc]
mov edx, dword [eax + 0x70]
mov eax, dword [ebp + 8]
push edx
push eax
call fcn.0055b7e0
mov esi, dword [ebp + 8]
push esi
call fcn.00597102
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov esi, dword [ebp + 8]
push ebx
push eax
push esi
call fcn.00580b90
add esp, 0xc
test eax, eax
je 0x5222dd
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x30cc]
mov edx, dword [ecx + 0xf0]
test edx, edx
jne 0x5222dd
push esi
add eax, 0x30e4
push 0x64efb0
push eax
call fcn.00593b08
add esp, 0xc
push esi
call fcn.00597102
mov ecx, dword [ebp - 0xc]
add esp, 4
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4