Function at 0x51e770
Capabilities:
Check for software breakpoints

Disassembly:
sub esp, 0xc
mov eax, dword [esp + 0x14]
push ebx
push ebp
xor ebx, ebx
cmp eax, 0xd2
push esi
push edi
mov dword [esp + 0x10], ebx
jg 0x51f571
je 0x51f555
add eax, 0xfffffffd
cmp eax, 0xcc
ja case.0x520b27.30118
movzx eax, byte [eax + 0x520d88]
jmp dword [eax*4 + 0x520c3c]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x348], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp dword [edx], ebx
pop edi
setne cl
pop esi
pop ebp
pop ebx
mov dword [eax + 0x3f0], ecx
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x548], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp dword [edx], ebx
pop edi
setne cl
pop esi
pop ebp
pop ebx
mov dword [eax + 0x3cc], ecx
mov eax, dword [esp]
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp dword [edx], ebx
pop edi
setne cl
pop esi
pop ebp
pop ebx
mov dword [eax + 0x3d0], ecx
mov eax, dword [esp]
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp dword [edx], ebx
pop edi
setne cl
pop esi
pop ebp
pop ebx
mov dword [eax + 0x3c4], ecx
mov eax, dword [esp]
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp dword [edx], ebx
pop edi
setne cl
pop esi
pop ebp
pop ebx
mov dword [eax + 0x3ac], ecx
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
xor eax, eax
cmp dword [ecx], ebx
mov ecx, dword [esp + 0x20]
setne al
mov dword [ecx + 0x394], eax
cmp eax, ebx
je 0x51e8b2
or dword [ecx + 0x5d0], 0x10
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
and dword [ecx + 0x5d0], 0xffffffef
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x3b8], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x398], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor eax, eax
cmp dword [edx], ebx
setne al
mov dword [ecx + 0x3bc], eax
cmp eax, ebx
je 0x51ebf6
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x3b8], ebx
mov dword [ecx + 0x268], 4
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], ebx
pop edi
setne al
pop esi
pop ebp
pop ebx
mov dword [edx + 0x37c], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
sub eax, ebx
je 0x51e9ac
sub eax, 1
je 0x51e992
sub eax, 1
jne case.0x520b27.30118
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x36c], 2
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x36c], 1
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x20]
pop edi
pop esi
mov dword [eax + 0x36c], ebx
mov eax, dword [esp + 8]
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
imul edx, edx, 0x3e8
pop edi
pop esi
pop ebp
mov dword [eax + 0x1ec], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x1f0], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp dword [edx], ebx
pop edi
setne cl
pop esi
pop ebp
pop ebx
mov dword [eax + 0x38c], ecx
mov eax, dword [esp]
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp dword [edx], ebx
pop edi
setne cl
pop esi
pop ebp
pop ebx
mov dword [eax + 0x388], ecx
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x368], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x3c0], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp dword [edx], ebx
pop edi
setne cl
pop esi
pop ebp
pop ebx
mov dword [eax + 0x384], ecx
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x25c], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x20]
pop edi
cdq
pop esi
pop ebp
mov dword [ecx + 0x260], eax
mov eax, dword [esp + 4]
mov dword [ecx + 0x264], edx
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
mov edx, eax
pop edi
and edx, 0xffff
pop esi
and eax, 0xffff0000
pop ebp
mov dword [ecx + 0x274], eax
mov eax, dword [esp + 4]
mov dword [ecx + 0x270], edx
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], ebx
pop edi
setne al
pop esi
pop ebp
pop ebx
mov dword [edx + 0x3b4], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], ebx
pop edi
setne al
pop esi
pop ebp
pop ebx
mov dword [edx + 0x3a4], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], ebx
pop edi
setne al
pop esi
pop ebp
pop ebx
mov dword [edx + 0x3a0], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], ebx
pop edi
setne al
pop esi
pop ebp
pop ebx
mov dword [edx + 0x3a8], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x160], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push ecx
call fcn.0052a450
mov edx, dword [esp + 0x24]
add esp, 4
pop edi
pop esi
and eax, 7
pop ebp
mov dword [edx + 0x164], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
cmp dword [eax], ebx
je 0x51ebf2
mov eax, dword [esp + 0x20]
pop edi
pop esi
mov dword [eax + 0x3b8], ebx
pop ebp
mov dword [eax + 0x268], 2
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x268], 1
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ebp, dword [esp + 0x20]
cdq
mov ebx, eax
mov eax, dword [ebp + 0x17c]
cmp eax, edx
mov dword [esp + 0x18], edx
jg 0x51ec58
jl 0x51ec33
mov ecx, dword [ebp + 0x178]
cmp ecx, ebx
jae 0x51ec58
mov eax, dword [ebp + 0x16c]
cmp eax, dword [ebp + 0x4fc]
lea esi, [ebp + 0x4fc]
jne 0x51ec58
xor edi, edi
call fcn.0051bf50
mov edx, dword [esp + 0x18]
mov dword [ebp + 0x16c], edi
mov eax, dword [esp + 0x10]
pop edi
pop esi
mov dword [ebp + 0x178], ebx
mov dword [ebp + 0x17c], edx
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp dword [edx], ebx
pop edi
setne cl
pop esi
pop ebp
pop ebx
mov dword [eax + 0x230], ecx
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
cmp dword [ecx], ebx
je 0x520c2e
mov eax, dword [esp + 0x20]
pop edi
pop esi
mov dword [eax + 0x3bc], ebx
mov dword [eax + 0x3b8], ebx
pop ebp
mov dword [eax + 0x268], 1
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 3
jl 0x51ecda
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x26c], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, ebx
jne 0x51ed10
mov eax, dword [esp + 0x20]
pop edi
pop esi
mov dword [eax + 0x154], ebx
mov eax, dword [esp + 8]
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x20]
mov ecx, eax
shr ecx, 4
and ecx, 1
mov dword [edx + 0x47f0], ecx
test al, 0x10
je 0x51ed2c
and eax, 0xffffffef
or eax, 2
and eax, 0xffffffdf
xor ecx, ecx
mov esi, 1
shl esi, cl
inc ecx
and esi, eax
test esi, esi
jne 0x51ed51
cmp ecx, 0x1f
jl 0x51ed31
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 0xc
ret
pop edi
pop esi
pop ebp
mov dword [edx + 0x154], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x380], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x13c], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, ebx
jne 0x51edc0
mov eax, dword [esp + 0x20]
pop edi
pop esi
mov dword [eax + 0x158], ebx
mov eax, dword [esp + 8]
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x20]
mov ecx, eax
shr ecx, 4
and ecx, 1
mov dword [edx + 0x4808], ecx
test al, 0x10
je 0x51eddc
and eax, 0xffffffef
or eax, 2
and eax, 0xffffffdf
xor ecx, ecx
mov esi, 1
shl esi, cl
inc ecx
and esi, eax
test esi, esi
jne 0x51edff
cmp ecx, 0x1f
jl 0x51ede1
pop edi
lea eax, [esi + 4]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
pop edi
pop esi
pop ebp
mov dword [edx + 0x158], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x344], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
sub eax, ebx
je 0x51ee5a
sub eax, 1
jne case.0x520b27.30118
mov eax, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [eax + 0x418], 1
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x418], ebx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x50c], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x3d8], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x3d4], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x3dc], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x3e8], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x3fc], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
cdq
pop esi
pop ebp
mov dword [ecx + 0x1f8], eax
mov eax, dword [esp + 4]
mov dword [ecx + 0x1fc], edx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x200], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x204], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x150], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
imul ecx, ecx, 0x3e8
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x1e0], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x1e0], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
imul ecx, ecx, 0x3e8
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x1e4], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x1e4], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x20]
pop edi
cdq
pop esi
pop ebp
mov dword [ecx + 0x218], eax
mov eax, dword [esp + 4]
mov dword [ecx + 0x21c], edx
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
push ecx
call fcn.0051aa40
add esp, 4
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x234], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
push eax
call fcn.0052a430
mov ecx, dword [esp + 0x24]
add esp, 4
pop edi
pop esi
pop ebp
mov word [ecx + 0x180], ax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
push eax
call fcn.0052a450
mov ecx, dword [esp + 0x24]
add esp, 4
pop edi
pop esi
pop ebp
mov dword [ecx + 0x184], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x278], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 1
jne 0x51f117
mov eax, dword [esp + 0x20]
push str.CURLOPT_SSL_VERIFYHOST_no_longer_supports_1_as_value_
push eax
call fcn.00526870
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x2b
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x20]
xor ecx, ecx
cmp eax, ebx
mov eax, dword [esp + 0x10]
setne cl
pop edi
pop esi
pop ebp
pop ebx
mov dword [edx + 0x27c], ecx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], ebx
pop edi
setne al
pop esi
pop ebp
pop ebx
mov dword [edx + 0x2bc], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
cmp eax, 0x80000
mov esi, dword [esp + 0x20]
mov dword [esi + 0x34c], eax
jle 0x51f177
mov dword [esi + 0x34c], 0x80000
jmp 0x51f186
cmp eax, 1
jge 0x51f186
mov dword [esi + 0x34c], 0x4000
mov eax, dword [esi + 0x34c]
cmp eax, 0x4000
jle 0x520c2e
mov ecx, dword [esi + 0x6e4]
inc eax
push eax
push ecx
call dword [0x5b4cdc]
add esp, 8
mov dword [esi + 0x6e4], eax
cmp eax, ebx
jne 0x520c2e
pop edi
pop esi
mov dword [esp + 8], 0x1b
mov eax, dword [esp + 8]
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x3ec], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
cdq
pop esi
mov dword [ecx + 0x360], eax
mov eax, dword [esp + 8]
pop ebp
mov dword [ecx + 0x364], edx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x3e0], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x3e4], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x358], ecx
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], ebx
pop edi
setne al
pop esi
pop ebp
pop ebx
mov dword [edx + 0x3f4], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], ebx
pop edi
setne al
pop esi
pop ebp
pop ebx
mov dword [edx + 0x3f8], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], ebx
pop edi
setne al
pop esi
pop ebp
pop ebx
mov dword [edx + 0x400], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
xor eax, eax
cmp dword [ecx], ebx
mov ecx, dword [esp + 0x20]
setne al
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x29c], eax
mov dword [ecx + 0x304], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
sete dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x408], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
sete dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x40c], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x410], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x414], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
push eax
call fcn.0052a460
mov ecx, dword [esp + 0x24]
add esp, 4
pop edi
pop esi
pop ebp
mov dword [ecx + 0x500], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x504], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x508], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
dec eax
cmp eax, 0xa
ja case.default.0x51f3d0
jmp dword [eax*4 + 0x520e58]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov eax, 1
pop ebp
mov dword [ecx + 0x518], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov eax, 2
pop ebp
mov dword [ecx + 0x518], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov eax, 3
pop ebp
mov dword [ecx + 0x518], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov eax, 4
pop ebp
mov dword [ecx + 0x518], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov eax, 5
pop ebp
mov dword [ecx + 0x518], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov eax, 6
pop ebp
mov dword [ecx + 0x518], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov eax, 7
pop ebp
mov dword [ecx + 0x518], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov eax, 8
pop ebp
mov dword [ecx + 0x518], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov eax, 9
pop ebp
mov dword [ecx + 0x518], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov eax, 0xa
pop ebp
mov dword [ecx + 0x518], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov eax, 0xb
pop ebp
mov dword [ecx + 0x518], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
pop edi
pop esi
xor eax, eax
pop ebp
mov dword [ecx + 0x518], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x4880], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x520], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x534], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
cmp eax, 0x2711
jg 0x51f8bc
je 0x51f8a0
add eax, 0xffffff2c
cmp eax, 0x35
ja case.0x520b27.30118
movzx edx, byte [eax + 0x520ee4]
jmp dword [edx*4 + 0x520e84]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], ebx
pop edi
setne al
pop esi
pop ebp
pop ebx
mov dword [edx + 0x39c], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], ebx
pop edi
setne al
pop esi
pop ebp
pop ebx
mov dword [edx + 0x1f4], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x20]
mov edx, eax
pop edi
and edx, 0xffff
pop esi
and eax, 0xffff0000
pop ebp
mov dword [ecx + 0x2dc], eax
mov eax, dword [esp + 4]
mov dword [ecx + 0x2d8], edx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
and ecx, 1
pop ebp
mov dword [edx + 0x22c], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x55c], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x1e8], ecx
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], ebx
pop edi
setne al
pop esi
pop ebp
pop ebx
mov dword [edx + 0x2e0], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
cmp eax, 1
jne 0x51f6ae
mov ecx, dword [esp + 0x20]
push str.CURLOPT_SSL_VERIFYHOST_no_longer_supports_1_as_value_
push ecx
call fcn.00526870
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x2b
pop ebx
add esp, 0xc
ret
xor edx, edx
cmp eax, ebx
mov eax, dword [esp + 0x20]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [eax + 0x2e4], edx
mov eax, dword [esp]
add esp, 0xc
ret
call fcn.00401410
test eax, eax
jne 0x51f6e7
pop edi
pop esi
mov dword [esp + 8], 4
mov eax, dword [esp + 8]
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp dword [edx], ebx
pop edi
setne cl
pop esi
pop ebp
pop ebx
mov dword [eax + 0x280], ecx
mov eax, dword [esp]
add esp, 0xc
ret
call fcn.00401410
test eax, eax
je case.0x5208c6.20108
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp dword [edx], ebx
pop edi
setne cl
pop esi
pop ebp
pop ebx
mov dword [eax + 0x2c0], ecx
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x20]
mov edx, eax
pop edi
shr eax, 1
and edx, 1
pop esi
and eax, 1
mov dword [ecx + 0x2a0], edx
pop ebp
mov dword [ecx + 0x2a4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x20]
mov edx, eax
pop edi
shr eax, 1
and edx, 1
pop esi
and eax, 1
mov dword [ecx + 0x308], edx
pop ebp
mov dword [ecx + 0x30c], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], ebx
pop edi
setne al
pop esi
pop ebp
pop ebx
mov dword [edx + 0x514], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], ebx
pop edi
setne al
pop esi
pop ebp
pop ebx
mov dword [edx + 0x538], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x53c], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x540], ecx
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], ebx
pop edi
setne al
pop esi
pop ebp
pop ebx
mov dword [edx + 0x54c], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], ebx
pop edi
setne al
pop esi
pop ebp
pop ebx
mov dword [edx + 0x550], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], ebx
pop edi
setne al
pop esi
pop ebp
pop ebx
mov dword [edx + 0x554], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], ebx
pop edi
setne al
pop esi
pop ebp
pop ebx
mov dword [edx + 0x558], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], ebx
pop edi
setne al
pop esi
pop ebp
pop ebx
mov dword [edx + 0x560], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x140], ecx
pop ebx
add esp, 0xc
ret
cmp eax, 0x27b4
jg 0x520271
je 0x520255
add eax, 0xffffd8ee
cmp eax, 0x93
ja case.0x520b27.30118
movzx eax, byte [eax + 0x520fe0]
jmp dword [eax*4 + 0x520f1c]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [ecx]
add esi, 0x49c
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [edx]
add esi, 0x4a8
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [eax]
add esi, 0x4a4
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [ecx]
add esi, 0x46c
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, ebx
je 0x51f982
cmp byte [eax], bl
jne 0x51f982
mov eax, str.identity
mov esi, dword [esp + 0x20]
add esi, 0x440
mov edi, eax
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
mov ecx, dword [eax]
lea esi, [ebx + 0x4fc]
xor edi, edi
mov dword [ebx + 0x16c], ecx
call fcn.0051bf50
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [ebx + 0x268], 2
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
pop edi
pop esi
mov dword [eax + 0x3b8], ebx
pop ebp
mov dword [eax + 0x228], ecx
mov dword [eax + 0x268], 3
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ebp, dword [esp + 0x20]
cmp dword [ebp + 0x584], ebx
je 0x51fa26
mov edx, dword [ebp + 0x580]
push edx
call dword [0x5b4cd8]
add esp, 4
mov dword [ebp + 0x580], ebx
mov dword [ebp + 0x584], ebx
mov eax, dword [esp + 0x28]
mov edi, dword [eax]
lea esi, [ebp + 0x47c]
call fcn.0051bf50
mov ecx, dword [esi]
pop edi
pop esi
mov dword [ebp + 0x580], ecx
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [edx]
add esi, 0x4ac
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x220], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x354], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [eax]
add esi, 0x42c
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
cmp eax, ebx
je 0x520c2e
mov esi, dword [esp + 0x20]
mov edx, dword [esi + 0x588]
push eax
push edx
call fcn.005274e0
add esp, 8
cmp eax, ebx
jne 0x51fb0d
mov eax, dword [esi + 0x588]
push eax
call fcn.00527520
add esp, 4
pop edi
mov dword [esi + 0x588], ebx
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0xc
ret
pop edi
mov dword [esi + 0x588], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x20]
mov edi, dword [ecx]
lea esi, [ebp + 0x430]
call fcn.0051bf50
mov edx, dword [ebp + 0x230]
push edx
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x590]
push eax
push 0
push ebp
call fcn.00528770
add esp, 0x10
test eax, eax
jne 0x51fb5d
mov dword [esp + 0x10], 0x1b
pop edi
pop esi
mov dword [ebp + 0x590], eax
mov eax, dword [esp + 8]
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edi, dword [ecx]
test edi, edi
je 0x520c2e
push 0x58b234
push edi
call fcn.0052cff0
add esp, 8
test eax, eax
je 0x51fbc0
mov esi, dword [esp + 0x20]
push 2
push 2
push esi
call fcn.0052fcb0
mov edx, dword [esi + 0x590]
push edx
call fcn.00528ae0
push 2
push esi
call fcn.0052fcf0
mov eax, dword [esp + 0x28]
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push str.SESS
push edi
call fcn.0052cff0
add esp, 8
test eax, eax
je 0x51fc03
mov esi, dword [esp + 0x20]
push 2
push 2
push esi
call fcn.0052fcb0
mov eax, dword [esi + 0x590]
push eax
call fcn.005284a0
push 2
push esi
call fcn.0052fcf0
mov eax, dword [esp + 0x28]
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push str.FLUSH
push edi
call fcn.0052cff0
add esp, 8
test eax, eax
je 0x51fc30
mov ecx, dword [esp + 0x20]
push 0
push ecx
call fcn.00528b90
mov eax, dword [esp + 0x18]
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push str.RELOAD
push edi
call fcn.0052cff0
add esp, 8
test eax, eax
je 0x51fc5b
mov edx, dword [esp + 0x20]
push edx
call fcn.00528b10
mov eax, dword [esp + 0x14]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
cmp dword [esi + 0x590], ebx
jne 0x51fc7c
push 1
push 0
push 0
push esi
call fcn.00528770
add esp, 0x10
mov dword [esi + 0x590], eax
push edi
call dword [0x5b4ce0]
mov edi, eax
add esp, 4
test edi, edi
je 0x51fcf6
cmp dword [esi + 0x590], ebx
je 0x51fcf6
push 2
push 2
push esi
call fcn.0052fcb0
push 0xb
push edi
push str.Set_Cookie:
call fcn.0052d140
add esp, 0x18
push 0
push 0
test eax, eax
je 0x51fcc5
mov ecx, dword [esi + 0x590]
lea eax, [edi + 0xb]
push eax
push 1
push ecx
jmp 0x51fccf
mov edx, dword [esi + 0x590]
push edi
push 0
push edx
push esi
call fcn.00527850
add esp, 0x18
push 2
push esi
call fcn.0052fcf0
push edi
call dword [0x5b4cd8]
mov eax, dword [esp + 0x1c]
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push edi
mov dword [esp + 0x14], 0x1b
call dword [0x5b4cd8]
mov eax, dword [esp + 0x14]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [eax]
add esi, 0x434
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [ecx]
add esi, 0x470
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x148], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x138], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x20]
mov edi, dword [edx]
lea esi, [ebp + 0x44c]
call fcn.0051bf50
mov dword [esp + 0x10], eax
xor eax, eax
cmp dword [esi], eax
pop edi
setne al
pop esi
mov dword [ebp + 0x390], eax
mov eax, dword [esp + 8]
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x144], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ebp, dword [esp + 0x20]
cmp dword [ebp + 0x57c], ebx
je 0x51fe04
mov ecx, dword [ebp + 0x578]
push ecx
call dword [0x5b4cd8]
add esp, 4
mov dword [ebp + 0x578], ebx
mov dword [ebp + 0x57c], ebx
mov edx, dword [esp + 0x28]
mov edi, dword [edx]
lea esi, [ebp + 0x480]
call fcn.0051bf50
pop edi
mov dword [esp + 0xc], eax
mov eax, dword [esi]
pop esi
mov dword [ebp + 0x578], eax
mov eax, dword [esp + 8]
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edi, dword [ecx]
lea ebx, [eax + 0x4c4]
add eax, 0x4c0
push eax
call fcn.0051e4d0
add esp, 4
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x23c], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x240], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x238], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x1d8], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov edi, dword [edx]
lea ebx, [eax + 0x4d0]
add eax, 0x4cc
push eax
call fcn.0051e4d0
add esp, 4
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [eax]
add esi, 0x478
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x134], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov esi, dword [esp + 0x20]
mov dword [esi + 0x130], eax
cmp eax, ebx
jne 0x520c2e
call fcn.0050a600
add eax, 0x40
pop edi
mov dword [esi + 0x130], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x1dc], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [edx]
add esi, 0x41c
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [eax]
add esi, 0x424
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [ecx]
add esi, 0x450
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [edx]
add esi, 0x460
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [eax]
add esi, 0x458
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
cmp eax, ebx
je 0x520c2e
cmp byte [eax], bl
je 0x520c2e
mov edx, dword [esp + 0x20]
push eax
push edx
call fcn.0051aa40
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [eax]
add esi, 0x43c
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x20]
mov edi, dword [ecx]
lea esi, [ebp + 0x468]
call fcn.0051bf50
xor edx, edx
cmp dword [esi], edx
pop edi
setne dl
pop esi
mov dword [esp + 8], eax
mov dword [ebp + 0x3c8], edx
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [eax]
add esi, 0x48c
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x250], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edi, dword [ecx]
mov ebp, 3
cmp dword [esi + 0x48], ebx
je 0x52014c
push 2
push 1
push esi
call fcn.0052fcb0
add esp, 0xc
cmp dword [esi + 0x3c], ebp
jne 0x520109
mov dword [esi + 0x38], ebx
mov dword [esi + 0x3c], ebx
mov edx, dword [esi + 0x48]
mov eax, dword [edx + 0x2c]
cmp eax, dword [esi + 0x590]
jne 0x52011d
mov dword [esi + 0x590], ebx
mov ecx, dword [esi + 0x48]
mov edx, dword [ecx + 0x30]
cmp edx, dword [esi + 0x4704]
jne 0x520131
mov dword [esi + 0x4704], ebx
mov eax, dword [esi + 0x48]
mov ecx, dword [eax + 4]
mov edx, dword [esi + 0x48]
dec ecx
push 1
push esi
mov dword [edx + 4], ecx
call fcn.0052fcf0
add esp, 8
mov dword [esi + 0x48], ebx
mov dword [esi + 0x48], edi
cmp edi, ebx
je 0x520c2e
push 2
push 1
push esi
call fcn.0052fcb0
mov eax, dword [esi + 0x48]
mov ecx, dword [eax + 4]
mov edx, dword [esi + 0x48]
inc ecx
mov dword [edx + 4], ecx
mov eax, dword [esi + 0x48]
add esp, 0xc
test byte [eax], 8
je 0x520182
add eax, 0x14
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], ebp
mov eax, dword [esi + 0x48]
cmp dword [eax + 0x2c], ebx
je 0x5201a5
mov ecx, dword [esi + 0x590]
push ecx
call fcn.00528510
mov edx, dword [esi + 0x48]
mov eax, dword [edx + 0x2c]
add esp, 4
mov dword [esi + 0x590], eax
mov ecx, dword [esi + 0x48]
cmp dword [ecx + 0x30], ebx
je 0x5201c4
mov edx, ecx
mov eax, dword [edx + 0x34]
mov dword [esi + 0x340], eax
mov ecx, dword [esi + 0x48]
mov edx, dword [ecx + 0x30]
mov dword [esi + 0x4704], edx
push 1
push esi
call fcn.0052fcf0
mov eax, dword [esp + 0x18]
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x350], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [eax]
add esi, 0x444
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [ecx]
add esi, 0x448
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x1b4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x1bc], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
cmp eax, 0x4e2b
jg 0x52089e
je 0x520858
add eax, 0xffffd84b
cmp eax, 0x62
ja case.0x520b27.30118
movzx edx, byte [eax + 0x521120]
jmp dword [edx*4 + 0x521074]
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [eax]
add esi, 0x4a0
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov ebx, dword [ecx]
mov ebp, dword [esp + 0x20]
test ebx, ebx
je 0x52036a
mov ecx, dword [ebp + 0x178]
mov eax, dword [ebp + 0x17c]
mov edx, ecx
and edx, eax
cmp edx, 0xffffffff
je 0x52036a
test eax, eax
jl 0x52033d
jg 0x5202f4
test ecx, ecx
jb 0x52033d
test eax, eax
jg 0x52033d
jl 0x5202ff
cmp ecx, 0xffffffff
ja 0x52033d
lea esi, [ebp + 0x4fc]
xor edi, edi
call fcn.0051bf50
mov eax, dword [ebp + 0x178]
mov ecx, dword [ebp + 0x17c]
mov edx, eax
or edx, ecx
je 0x520324
mov dword [esp + 0x18], ecx
jmp 0x52032d
mov eax, 1
mov dword [esp + 0x18], edi
push eax
call dword [0x5b4cd4]
mov edi, eax
add esp, 4
test edi, edi
jne 0x520347
mov dword [esp + 0x10], 0x1b
jmp 0x52037b
mov eax, dword [ebp + 0x178]
or eax, dword [ebp + 0x17c]
je 0x520366
mov ecx, dword [ebp + 0x178]
push ecx
push ebx
push edi
call fcn.004ff980
add esp, 0xc
mov dword [esi], edi
jmp 0x52037b
lea esi, [ebp + 0x4fc]
mov edi, ebx
call fcn.0051bf50
mov dword [esp + 0x10], eax
mov edx, dword [ebp + 0x4fc]
mov eax, dword [esp + 0x10]
pop edi
pop esi
mov dword [ebp + 0x16c], edx
mov dword [ebp + 0x268], 2
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x224], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [eax]
add esi, 0x474
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [ecx]
add esi, 0x4e4
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [edx]
add esi, 0x4e8
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [eax]
add esi, 0x4c0
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [ecx]
add esi, 0x4c4
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [edx]
add esi, 0x4c8
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [eax]
add esi, 0x4f4
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x254], eax
mov dword [ecx + 0x58c], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [edx]
add esi, 0x4cc
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [eax]
add esi, 0x4d0
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [ecx]
add esi, 0x4d4
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x1c8], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [edx]
add esi, 0x420
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [eax]
add esi, 0x428
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [ecx]
add esi, 0x454
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [edx]
add esi, 0x464
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [eax]
add esi, 0x45c
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [ecx]
add esi, 0x490
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [edx]
add esi, 0x4b0
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [eax]
add esi, 0x4b4
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [ecx]
add esi, 0x4b8
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x1c4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [edx]
add esi, 0x438
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [eax]
add esi, 0x4ec
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [ecx]
add esi, 0x4f0
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x510], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [edx]
add esi, 0x4d8
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [eax]
add esi, 0x4dc
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [ecx]
add esi, 0x4e0
call fcn.0051bf50
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x14c], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x48dc], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x530], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
push ecx
call fcn.0051aa40
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
push ecx
call fcn.0051aa40
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
push ecx
call fcn.0051aa40
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
push ecx
call fcn.0051aa40
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x258], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x188], eax
cmp eax, ebx
jne 0x520888
mov eax, dword [esp + 0x10]
pop edi
pop esi
mov dword [ecx + 0x19c], ebx
pop ebp
mov dword [ecx + 0x188], fcn.005001a8
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x19c], 1
pop ebx
add esp, 0xc
ret
cmp eax, 0x75a3
jg 0x520b12
je 0x520aed
add eax, 0xffffb1d4
cmp eax, 0xcf
ja case.0x520b27.30118
movzx eax, byte [eax + 0x5211d0]
jmp dword [eax*4 + 0x521184]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp eax, ebx
setne dl
pop edi
pop esi
pop ebp
mov dword [ecx + 0x1a0], eax
mov eax, dword [esp + 4]
pop ebx
mov dword [ecx + 0x5c8], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp eax, ebx
setne dl
pop edi
pop esi
pop ebp
mov dword [ecx + 0x1a4], eax
mov eax, dword [esp + 4]
pop ebx
mov dword [ecx + 0x5c8], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x1a8], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x18c], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x194], eax
cmp eax, ebx
jne 0x520987
mov eax, dword [esp + 0x10]
pop edi
pop esi
mov dword [ecx + 0x198], ebx
pop ebp
mov dword [ecx + 0x194], fcn.00500981
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x198], 1
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x170], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x1cc], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x1d0], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x1d4], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x1ac], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x1b0], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x1b8], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x1c0], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x190], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x524], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x528], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x52c], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov dword [ecx + 0x1f8], edx
mov eax, dword [eax + 4]
pop ebp
mov dword [ecx + 0x1fc], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
add eax, 0xffff8a5c
cmp eax, 0x1e
ja case.0x520b27.30118
movzx ecx, byte [eax + 0x5212b8]
jmp dword [ecx*4 + 0x5212a0]
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 0x20]
mov ebx, dword [eax + 4]
mov edx, dword [ebp + 0x17c]
cmp edx, ebx
mov ecx, dword [eax]
mov dword [esp + 0x14], ecx
jg 0x520b7a
jl 0x520b55
mov eax, dword [ebp + 0x178]
cmp eax, ecx
jae 0x520b7a
mov edx, dword [ebp + 0x16c]
cmp edx, dword [ebp + 0x4fc]
lea esi, [ebp + 0x4fc]
jne 0x520b7a
xor edi, edi
call fcn.0051bf50
mov ecx, dword [esp + 0x14]
mov dword [ebp + 0x16c], edi
mov eax, dword [esp + 0x10]
pop edi
pop esi
mov dword [ebp + 0x17c], ebx
mov dword [ebp + 0x178], ecx
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov dword [ecx + 0x208], edx
mov eax, dword [eax + 4]
pop ebp
mov dword [ecx + 0x20c], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov dword [ecx + 0x210], edx
mov eax, dword [eax + 4]
pop ebp
mov dword [ecx + 0x214], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov dword [ecx + 0x218], edx
mov eax, dword [eax + 4]
pop ebp
mov dword [ecx + 0x21c], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
mov ecx, dword [esp + 0x20]
pop edi
mov dword [ecx + 0x360], edx
mov eax, dword [eax + 4]
pop esi
pop ebp
mov dword [ecx + 0x364], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov dword [esp + 0x10], 0x30
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret