Function at 0x10454f60
Capabilities:
Check http status code
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x3dc
mov eax, dword [0x10a78b80]
xor eax, esp
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3e8]
movups xmm0, xmmword [esp + 0x400]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3ec]
push ebx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x400]
mov edx, dword [esp + 0x3f8]
push ebp
mov ecx, dword [esp + 0x3f8]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x430]
push esi
mov esi, dword [esp + 0x404]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x438]
push edi
mov edi, dword [esp + 0x3f0]
mov dword [esp + 0x20], eax
lea ebx, [edi + 0x3abf0]
mov eax, dword [esp + 0x440]
mov ebp, dword [esp + 0x3f4]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x448]
movups xmmword [esp + 0x278], xmm0
mov dword [esp + 0x5c], eax
movups xmm0, xmmword [esp + 0x420]
mov eax, dword [ebx + 0x3bb8]
push esi
movups xmmword [esp + 0x28c], xmm0
push edx
movq xmm0, qword [esp + 0x438]
movq qword [esp + 0x2a0], xmm0
cmp byte [eax + 0x4d], 0
mov eax, 0
push ecx
sete al
mov dword [esp + 0x30], edi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], ebx
lea eax, [eax*2 + 1]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x13c]
push eax
push edi
push ebp
call fcn.1045a340
movups xmm2, xmmword [esp + 0x14c]
mov eax, dword [esp + 0x38]
add esp, 0x18
mov ecx, dword [esp + 0x164]
movups xmm3, xmmword [esp + 0x144]
movups xmm1, xmmword [esp + 0x154]
movups xmmword [esp + 0xc8], xmm2
movups xmmword [esp + 0xd8], xmm3
movups xmmword [esp + 0xe8], xmm1
test eax, eax
je 0x104550a5
mov byte [eax + 4], 0
cmp dword [esp + 0x28c], 0
jg 0x104550ff
jl 0x104550bb
cmp dword [esp + 0x288], 0
jae 0x104550ff
mov eax, dword [esp + 0x60]
mov dword [eax], closesocket
mov dword [eax + 8], 0xffffffff
mov dword [eax + 0xc], closesocket
mov dword [eax + 0x10], 0xffffffff
mov dword [eax + 0x14], closesocket
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x1c], closesocket
mov byte [eax + 0x20], 0
mov dword [eax + 4], 0
jmp 0x10456233
mov eax, dword [ebx + 0x3bb8]
cmp esi, dword [eax + 0x1c]
jne 0x10455114
mov dword [ebp + 0x17bbc], 0
mov eax, dword [esp + 0x64]
test eax, eax
je 0x10455129
mov dword [eax], 0
mov dword [eax + 4], 0
movd eax, xmm1
mov edx, 1
test eax, eax
je 0x1045514a
movaps xmm0, xmm1
psrldq xmm0, 4
movd eax, xmm0
test eax, eax
jne 0x104552f3
mov eax, dword [esp + 0x270]
mov edi, 0xe
add eax, 0x26b
mov dword [esp + 0xb4], ecx
imul ebx, eax, 0x16
mov eax, dword [esp + 0x2c]
movups xmmword [esp + 0xa4], xmm1
psrldq xmm1, 4
add ebx, dword [eax + 0x3bbc]
bsr eax, edx
movups xmmword [esp + 0x84], xmm2
sub edi, eax
mov eax, edx
mov ecx, edi
shl eax, cl
mov ecx, 0x100
mul ecx
movups xmmword [esp + 0x94], xmm3
mov esi, eax
mov eax, 0xff
add esi, 0x4000
adc edx, 0
shrd esi, edx, 0xf
sub eax, esi
sar eax, 0x17
or eax, esi
movzx ecx, al
xor eax, eax
test esi, esi
sete al
shl edi, 9
or ecx, eax
movzx eax, word [ecx*2 + 0x106a7c28]
add eax, edi
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x1e4], eax
movd eax, xmm1
test eax, eax
je 0x1045525c
mov ax, word [ebx + 0xe]
mov ecx, 0x8000
sub ax, word [ebx + 0xa]
sub ax, word [ebx + 2]
add ax, word [ebx + 8]
add ax, cx
cmp dword [esp + 0xac], 0xf
movzx edx, ax
mov word [esp + 0x10], dx
je 0x10455230
mov ax, word [ebx + 0x12]
sub ax, word [ebx + 0x10]
add ax, dx
mov word [esp + 0x10], ax
sub ecx, dword [esp + 0x10]
xor eax, eax
mov word [esp + 0x12], ax
lea eax, [esp + 0x10]
push 0x109cc128
push eax
lea eax, [esp + 0x1e0]
mov word [esp + 0x18], cx
push eax
call fcn.100c8b20
add esp, 0xc
jmp 0x104552d6
cmp dword [esp + 0xa4], 0
je 0x104552cb
mov ax, word [ebx + 0xc]
mov ecx, 0x8000
sub ax, word [ebx + 4]
add ax, word [ebx + 2]
sub ax, word [ebx]
add ax, cx
cmp dword [esp + 0xac], 0xf
movzx edx, ax
mov word [esp + 0x10], dx
je 0x1045529f
mov ax, word [ebx + 0x10]
sub ax, word [ebx + 0xe]
add ax, dx
mov word [esp + 0x10], ax
sub ecx, dword [esp + 0x10]
xor eax, eax
mov word [esp + 0x12], ax
lea eax, [esp + 0x10]
push 0x109cc130
push eax
lea eax, [esp + 0x1e0]
mov word [esp + 0x18], cx
push eax
call fcn.100c8b20
add esp, 0xc
jmp 0x104552d6
mov dword [esp + 0x1e4], 0
mov edi, dword [esp + 0x24]
lea eax, [esp + 0x1d8]
mov esi, dword [esp + 0x408]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x1e8], eax
cmp esi, dword [edi + 0x5cd54]
jle 0x10455321
xor eax, eax
cmp dword [esp + 0xe8], eax
sete al
and dword [esp + 0x250], eax
xor eax, eax
cmp dword [esp + 0xec], eax
sete al
and dword [esp + 0x254], eax
push esi
push dword [esp + 0x34]
push dword [esp + 0x3c]
push ebp
push dword [esp + 0x24]
push edi
call fcn.10457520
add esp, 0x18
cmp byte [edi + 0x3eeb8], 2
jne 0x104553c6
mov eax, dword [ebx + 0x3bb8]
cmp esi, dword [eax + 0x1c]
jne 0x104553c6
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x7c]
push eax
push esi
push ebp
push edi
call fcn.1045a6d0
movsd xmm0, qword [0x1059ba78]
add esp, 0x14
movsd xmm1, qword [esp + 0x78]
comisd xmm0, xmm1
mov dword [ebp + 0x31d0], 0x80
jbe 0x104553c6
movsd xmm0, qword [esp + 0x70]
comisd xmm0, xmmword [0x105c1490]
jbe 0x104553c6
subsd xmm0, xmm1
comisd xmm0, xmmword [0x1059ba88]
jbe 0x104553ad
mov dword [ebp + 0x31d0], 0x50
jmp 0x104553c6
mulsd xmm0, qword [0x109cc730]
mov ecx, 0x80
cvttsd2si eax, xmm0
sub ecx, eax
mov dword [ebp + 0x31d0], ecx
mov eax, dword [ebp + 0x31cc]
push 0
push 0
push esi
push dword [esp + 0x3c]
mov dword [esp + 0x90], eax
push dword [esp + 0x44]
push ebp
push edi
call fcn.1045c9e0
lea eax, [esp + 0x294]
push eax
push dword [ebp + 0x31cc]
call fcn.10454ed0
add esp, 0x24
cmp esi, 6
jne 0x1045541c
cmp dword [edi + 0x756c0], 0
je 0x1045541c
push esi
push ebp
push edi
call fcn.1013c0e0
add esp, 0xc
mov dword [ebp + 0x31e0], eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x30]
push dword [esp + 0x38]
mov ecx, dword [eax + 0x10]
mov eax, dword [ebx + 0x3e24]
push esi
push edx
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x40]
add eax, edx
mov dword [ebp + 0x117c], eax
mov eax, ecx
and eax, 0x1f
add eax, 0x1184
add eax, ebp
mov dword [ebp + 0x1180], eax
lea eax, [esp + 0x2ac]
push ecx
push eax
push ebp
call fcn.1009f980
lea eax, [esp + 0x148]
push eax
push dword [esp + 0x3c]
push ebp
push edi
call fcn.10450f70
lea ecx, [esp + 0x158]
lea eax, [ebp + 0x141f8]
push ecx
push eax
call fcn.104513f0
add esp, 0x30
nop dword [eax]
cmp dword [ebp + 0x17bbc], 0
je 0x10455615
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x14c]
mov ecx, dword [esp + 0x148]
test edx, edx
je 0x104554cb
cmp byte [edi + 0x3ee4c], 0
je 0x104554cb
mov dword [esp + 0x18], 1
cmp ecx, eax
jg 0x104554d3
mov dword [esp + 0x18], 0
test edx, edx
je 0x104554e6
mov dword [esp + 0x25c], 1
cmp ecx, eax
jg 0x104554f1
mov dword [esp + 0x25c], 0
cmp dword [esp + 0x154], 0
mov edx, dword [esp + 0x158]
je 0x10455515
test edx, edx
je 0x10455515
mov dword [esp + 0x24c], 1
cmp ecx, eax
jge 0x10455520
mov dword [esp + 0x24c], 0
mov esi, dword [esp + 0x26c]
mov edi, dword [esp + 0x268]
mov ebx, dword [esp + 0x15c]
test edx, edx
je 0x10455565
cmp dword [esp + 0x18], 0
je 0x10455565
push 1
push ebx
call fcn.1045a260
add esp, 8
lea eax, [edi + eax*2]
lea eax, [esi + eax*2]
cmp dword [eax*4 + 0x106341d0], 0xff
je 0x10455565
mov eax, 1
jmp 0x10455567
xor eax, eax
cmp dword [esp + 0x154], 0
mov dword [esp + 0x250], eax
je 0x104555a4
cmp dword [esp + 0x18], 0
je 0x104555a4
push 2
push ebx
call fcn.1045a260
add esp, 8
lea eax, [edi + eax*2]
lea eax, [esi + eax*2]
cmp dword [eax*4 + 0x106341d0], 0xff
je 0x104555a4
mov eax, 1
jmp 0x104555a6
xor eax, eax
mov dword [esp + 0x254], eax
lea eax, [esp + 0x130]
push eax
lea eax, [ebp + 0x141f8]
mov dword [esp + 0x24c], 0
push eax
call fcn.104513f0
mov edx, dword [esp + 0x34]
add esp, 8
mov al, byte [edx]
test al, al
je 0x104555dd
cmp al, 2
jne 0x1045560a
mov esi, dword [esp + 0x408]
mov edi, dword [esp + 0x24]
cmp esi, 0xc
jne 0x10455615
mov eax, dword [esp + 0x130]
mov dword [eax], 0
mov eax, dword [esp + 0x130]
mov dword [eax + 4], 0
jmp 0x10455615
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x408]
or eax, 0xffffffff
cmp byte [edi + 0x3eeb8], 2
mov dword [esp + 0x18], eax
jne 0x104556e5
cmp byte [edi + 0x5cdb8], 0
je 0x1045563f
cmp dword [ebp + 0x17bbc], 0
jne 0x1045563f
mov bl, 1
jmp 0x10455641
xor bl, bl
cmp esi, 6
jge 0x1045564e
test bl, bl
je 0x104556e5
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0xc4]
push eax
push esi
push ebp
push edi
call fcn.1045a6d0
movsd xmm1, qword [esp + 0xcc]
add esp, 0x14
movsd xmm2, qword [esp + 0xc0]
movsd xmm3, qword [0x1059ba80]
cmp esi, 6
jl 0x104556c6
movsd xmm0, qword [0x109cc728]
comisd xmm0, xmm2
jbe 0x104556c6
movaps xmm0, xmm1
subsd xmm0, xmm2
comisd xmm0, xmm3
jbe 0x104556c6
mov dword [esp + 0x24c], 0
mov dword [esp + 0x248], 0
mov dword [esp + 0x25c], 1
jmp 0x104556e5
test bl, bl
je 0x104556e5
mov eax, dword [esp + 0x258]
subsd xmm1, xmm2
xor ecx, ecx
comisd xmm3, xmm1
cmova eax, ecx
mov dword [esp + 0x258], eax
cmp dword [esp + 0x248], 0
movups xmm2, xmmword [esp + 0x134]
mov dword [esp + 0x40], 0xffffffff
movups xmm0, xmmword [esp + 0x144]
mov dword [esp + 0x3c], closesocket
movups xmm1, xmmword [esp + 0x154]
movups xmmword [esp + 0x10c], xmm0
movaps xmm0, xmm2
movups xmmword [esp + 0x11c], xmm1
psrldq xmm0, 4
psrldq xmm1, 8
movd ebx, xmm0
movd esi, xmm1
movups xmmword [esp + 0xfc], xmm2
mov dword [esp + 0x58], ebx
psrldq xmm2, 8
movd dword [esp + 0x54], xmm2
mov dword [esp + 0x50], esi
jne 0x10455be7
cmp dword [esp + 0x24c], 0
je 0x10455be7
lea eax, [esp + 0x4c]
mov dword [esp + 0x4c], 0
push eax
lea eax, [esp + 0x27c]
mov dword [esp + 0x88], htons
push eax
lea eax, [esp + 0x8c]
mov dword [esp + 0x94], 0xffffffff
push eax
lea eax, [esp + 0x13c]
mov dword [esp + 0x9c], htons
push eax
push dword [esp + 0x2c]
mov dword [esp + 0xa8], 0xffffffff
push ebp
push ebp
push edi
mov dword [esp + 0xb8], htons
mov dword [esp + 0xbc], 0xffffffff
mov dword [esp + 0xc0], htons
mov byte [esp + 0xc4], 0
mov dword [esp + 0xa8], 0
call fcn.1045c580
movups xmm0, xmmword [esp + 0xa4]
sub esp, 8
mov eax, esp
movups xmmword [eax], xmm0
movups xmm0, xmmword [esp + 0xbc]
movups xmmword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0xcc]
movq qword [eax + 0x20], xmm0
mov eax, dword [esp + 0x44]
push dword [eax + 8]
lea eax, [esp + 0x1b4]
push esi
mov esi, dword [esp + 0x84]
push 0
push eax
push esi
push ebx
push ebp
push dword [esp + 0x58]
push edi
call fcn.1045a8e0
lea eax, [esp + 0x1d4]
push eax
push dword [ebp + 0x31cc]
call fcn.10454ed0
mov eax, dword [ebp + 0x243a4]
add esp, 0x54
mov edx, dword [esp + 0x198]
mov ebx, dword [esp + 0x19c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x10], edx
test eax, eax
je 0x10455889
mov dword [eax], edx
mov dword [eax + 4], ebx
mov eax, dword [esp + 0x188]
mov dword [esp + 0x1f0], edx
mov dword [esp + 0x1f4], ebx
cmp eax, 0x7fffffff
je 0x10455bb4
cmp dword [edi + 0x5ce8c], 0
je 0x104558fd
mov eax, dword [edi + 0x3e7a8]
push esi
push dword [esp + 0x5c]
push dword [eax + 0x20]
mov eax, dword [esp + 0x28]
push dword [esp + 0x5c]
mov eax, dword [eax + 8]
add eax, 0x14
push eax
call fcn.104574c0
add esp, 4
movsx eax, al
push eax
push ebp
call fcn.100a0b70
mov edx, dword [esp + 0x1b0]
add esp, 0x18
mov ebx, dword [esp + 0x19c]
mov eax, dword [esp + 0x188]
mov dword [esp + 0x10], edx
mov esi, dword [esp + 0x118]
test esi, esi
je 0x1045595c
add eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x194]
mov dword [esp + 0x188], eax
imul dword [ebp + 0x31cc]
mov ebx, edx
mov dword [esp + 0x10], eax
mov edx, eax
mov eax, dword [esp + 0x190]
add edx, 0x100
adc ebx, 0
shld ecx, eax, 7
shrd edx, ebx, 9
shl eax, 7
sar ebx, 9
add edx, eax
mov dword [esp + 0x10], edx
adc ebx, ecx
mov dword [esp + 0x198], edx
mov dword [esp + 0x19c], ebx
mov ecx, ebx
mov eax, edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp ecx, dword [esp + 0x28c]
jg 0x10455bb4
jl 0x10455984
cmp eax, dword [esp + 0x288]
jae 0x10455bb4
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x274], 1
movups xmm0, xmmword [esp + 0x188]
movups xmmword [esp + 0x278], xmm0
movups xmm0, xmmword [esp + 0x198]
movups xmmword [esp + 0x288], xmm0
movq xmm0, qword [esp + 0x1a8]
movq qword [esp + 0x298], xmm0
test esi, esi
je 0x104559c9
mov byte [eax], 0
movups xmm0, xmmword [esp + 0x134]
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x164]
movups xmmword [esp + 0x84], xmm0
mov dword [esp + 0xb4], eax
movups xmm0, xmmword [esp + 0x144]
mov al, byte [edi + 0x3abf0]
movups xmmword [esp + 0x94], xmm0
movups xmm0, xmmword [esp + 0x154]
movups xmmword [esp + 0xa4], xmm0
psrldq xmm0, 8
movd esi, xmm0
test al, al
je 0x10455b2d
cmp al, 2
je 0x10455b2d
cmp dword [esp + 0x25c], 0
jne 0x10455a41
cmp dword [esp + 0x258], 0
je 0x10455b2d
mov eax, dword [ebp + 0x10b0]
mov eax, dword [eax]
movzx eax, byte [eax + 0x9f]
and eax, 7
cmp dword [ebp + eax*4 + 0x1b7c], 0
jne 0x10455b2d
cmp dword [ecx + 0x148], 0
je 0x10455b2d
cmp esi, dword [edi + 0x5cd54]
jg 0x10455aba
test esi, esi
jle 0x10455aba
cmp dword [edi + 0x5cdc0], 1
jl 0x10455aba
lea eax, [esp + 0x130]
push eax
push dword [ebp + 0x1b58]
mov eax, dword [esp + 0x20]
push eax
lea eax, [esp + 0x194]
push eax
push ebp
push edi
call fcn.1044f0e0
mov eax, dword [esp + 0x1b0]
add esp, 0x18
mov ebx, dword [esp + 0x19c]
mov dword [esp + 0x10], eax
movzx eax, byte [esi + 0x109bf47c]
mov ecx, 0xa
mov edx, dword [edi + 0x5cd6c]
sub ecx, eax
movzx eax, byte [esi + 0x109bf464]
sub ecx, eax
mov eax, dword [edi + 0x5cd68]
call fcn.10511c50
cmp dword [esp + 0x284], edx
jg 0x10455b29
jl 0x10455af6
cmp dword [esp + 0x280], eax
jae 0x10455b29
movzx eax, byte [esi + 0x109bf50c]
imul eax, dword [edi + 0x5cd70]
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x278], eax
jge 0x10455b2d
mov dword [esp + 0x25c], 0
mov dword [esp + 0x258], 0
jmp 0x10455b2d
mov edx, dword [esp + 0x10]
cmp dword [edi + 0x5cd94], 0
mov ecx, dword [esp + 0x2c]
je 0x10455bb4
cmp dword [ecx + 0x1ac], 0
je 0x10455bb4
mov al, byte [ecx]
test al, al
je 0x10455bb4
cmp al, 2
je 0x10455bb4
cmp esi, 6
jl 0x10455bb4
cmp dword [esp + 0xa4], 0
je 0x10455bb4
cmp dword [esp + 0xa8], 0
je 0x10455bb4
cmp ebx, 0x7fffffff
ja 0x10455bb4
jb 0x10455b75
cmp edx, 0xfffffffe
ja 0x10455bb4
cmp dword [esp + 0x188], 0x7ffffffe
ja 0x10455bb4
cmp dword [esp + 0x25c], 0
jne 0x10455b96
cmp dword [esp + 0x258], 0
je 0x10455bb4
lea eax, [esp + 0x130]
push eax
lea eax, [esp + 0x18c]
push eax
push dword [esp + 0x28]
push ebp
push edi
call fcn.104518c0
add esp, 0x14
mov eax, dword [edi + 0x3e7a8]
xor ecx, ecx
cmp byte [eax + 0x4d], cl
lea eax, [esp + 0x2a0]
sete cl
lea ecx, [ecx*2 + 1]
push ecx
push dword [esp + 0x54]
push dword [esp + 0x5c]
push dword [esp + 0x64]
push eax
push ebp
call fcn.1009f610
add esp, 0x18
mov ebx, dword [esp + 0x1c]
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x448]
lea eax, [esp + 0x280]
mov dword [esp + 0x4c], 0xffffffff
push eax
lea eax, [esp + 0x13c]
mov dword [esp + 0x54], closesocket
push eax
lea eax, [esp + 0x2b0]
push eax
push dword [esp + 0x34]
push ebx
push ebp
push dword [esp + 0x48]
push dword [esp + 0x38]
push ebp
push edi
call fcn.1045cb40
add esp, 0x30
cmp dword [edi + 0x5cdbc], 0
je 0x10455c93
cmp dword [esp + 0x40], 0xffffffff
jne 0x10455c93
cmp dword [esp + 0x3c], 0x7fffffff
jne 0x10455c93
cmp dword [esp + 0x44], 0xffffffff
jne 0x10455c93
cmp dword [esp + 0x48], 0x7fffffff
jne 0x10455c93
cmp dword [ebp + 0x17bbc], 0
jne 0x10455c93
mov eax, dword [edi + 0x3e7a8]
mov esi, dword [esp + 0x408]
mov edx, dword [esp + 0x248]
cmp esi, dword [eax + 0x1c]
mov eax, 1
cmovne edx, eax
mov dword [esp + 0x248], edx
jmp 0x10455ca1
mov edx, dword [esp + 0x248]
mov esi, dword [esp + 0x408]
cmp dword [edi + 0x5cdd8], 2
jl 0x10455d13
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x10455d13
cmp dword [ebp + 0x31bc], 0xc8
jg 0x10455d13
mov cl, byte [ecx + 5]
mov al, cl
sub al, 0xd
cmp al, 0xb
ja 0x10455d13
cmp cl, 0x10
je 0x10455d13
cmp cl, 0x18
je 0x10455d13
cmp cl, 0x13
je 0x10455d13
cmp cl, 0x14
je 0x10455d13
cmp cl, 0x15
je 0x10455d13
cmp cl, 0x16
je 0x10455d13
mov eax, dword [ebx + 8]
cmp dword [eax + 0x148], 0
je 0x10455d13
cmp dword [ebp + 0x17bbc], 0
jne 0x10455d13
mov eax, dword [esp + 0x258]
xor ecx, ecx
cmp esi, 6
cmovge eax, ecx
mov dword [esp + 0x258], eax
jmp 0x10455d1a
mov eax, dword [esp + 0x258]
cmp dword [edi + 0x5cd4c], 0
mov ecx, dword [esp + 0x15c]
mov esi, dword [esp + 0x138]
mov ebx, dword [esp + 0x13c]
mov dword [esp + 0x10], ecx
je 0x10455dc1
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x24]
mov cl, byte [ecx]
test cl, cl
je 0x10455db0
cmp cl, 2
je 0x10455db0
test edx, edx
jne 0x10455db0
test eax, eax
je 0x10455db0
cmp dword [esp + 0x250], edx
jne 0x10455d6d
cmp dword [esp + 0x254], edx
je 0x10455db0
lea eax, [esp + 0x130]
push eax
lea eax, [esp + 0x1fc]
push eax
push dword [esp + 0x50]
push dword [esp + 0x50]
push dword [esp + 0x4c]
push dword [esp + 0x54]
push dword [esp + 0x2a4]
push dword [esp + 0x2a4]
push dword [esp + 0x40]
push ebp
push edi
call fcn.1044eb70
mov edx, dword [esp + 0x274]
add esp, 0x2c
cmp dword [edi + 0x5cd4c], 0
mov ecx, dword [esp + 0x10]
jne 0x10455e6f
cmp dword [edi + 0x5cd48], 0
je 0x10455e6f
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x24]
mov al, byte [eax]
test al, al
je 0x10455e6f
cmp al, 2
je 0x10455e6f
cmp dword [esp + 0x250], 0
jne 0x10455dfc
cmp dword [esp + 0x254], 0
je 0x10455e6f
cmp dword [esp + 0x260], 0
jne 0x10455e6f
cmp dword [esp + 0x264], 0
jne 0x10455e6f
test edx, edx
jne 0x10455e6f
mov eax, dword [edi + 0x3e7a8]
push ecx
xor ecx, ecx
cmp byte [eax + 0x4d], cl
sete cl
lea ecx, [ecx*2 + 1]
push ecx
push ebx
push esi
push dword [edi + 0x3eee0]
push ebp
call fcn.1010fb10
lea eax, [esp + 0x148]
push eax
lea eax, [esp + 0x214]
push eax
push dword [esp + 0x214]
push dword [esp + 0x214]
push dword [esp + 0x2b4]
push dword [esp + 0x2b4]
push ebp
push edi
call fcn.104500f0
add esp, 0x38
mov ebx, dword [esp + 0x1c]
lea eax, [esp + 0x278]
push 1
push 0
push dword [esp + 0x64]
push eax
lea eax, [esp + 0x140]
push eax
lea eax, [esp + 0x2b4]
push eax
push ebx
push ebp
push dword [esp + 0x48]
push dword [esp + 0x38]
push ebp
push edi
call fcn.1045c020
mov edx, dword [esp + 0x48]
add esp, 0x30
mov esi, dword [esp + 0x408]
cmp edx, 0xffffffff
jne 0x10455eed
push esi
push dword [esp + 0x3c]
push dword [esp + 0x38]
push dword [esp + 0x40]
push dword [edi + 0x3eee0]
push ebp
call fcn.1010fb10
push 0
push esi
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp + 0xe0]
push eax
push edi
call fcn.1010f6b0
mov edx, eax
add esp, 0x2c
mov dword [esp + 0x18], edx
cmp dword [edi + 0x5cdd8], 1
jl 0x10455f1b
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x10455f1b
cmp dword [ecx + 0x148], 0
je 0x10455f1b
cmp dword [ebp + 0x17bbc], 0
jne 0x10455f1b
cmp esi, 6
jl 0x10455f1b
mov esi, 1
jmp 0x10455f1d
xor esi, esi
cmp dword [esp + 0x288], 0xffffffff
mov cl, byte [ebx]
jne 0x10455f3d
cmp dword [esp + 0x28c], 0x7fffffff
jne 0x10455f3d
mov eax, 1
jmp 0x10455f97
cmp dword [edi + 0x5cda8], 0
mov eax, dword [edi + 0x5cda4]
je 0x10455f65
cmp dword [ebp + 0x17bbc], 0
jne 0x10455f65
cmp cl, 1
je 0x10455f65
cmp cl, 2
mov ecx, 0xf
cmovne eax, ecx
cmp dword [esp + 0x258], 0
je 0x10455f95
cmp dword [esp + 0x15c], eax
jle 0x10455f95
cmp dword [esp + 0x154], 0
je 0x10455f95
cmp dword [esp + 0x158], 0
je 0x10455f95
test esi, esi
jne 0x10455f95
lea eax, [esi + 1]
jmp 0x10455f97
xor eax, eax
push 3
push 0
push eax
push edx
push dword [esp + 0x6c]
lea eax, [esp + 0x28c]
push eax
lea eax, [esp + 0x148]
push eax
push ebx
lea eax, [esp + 0x2c0]
push eax
push ebp
push dword [esp + 0x50]
push dword [esp + 0x40]
push ebp
push edi
call fcn.10454090
lea eax, [esp + 0xa0]
mov dword [esp + 0xa0], 1
push eax
mov eax, dword [esp + 0x54]
push esi
push eax
lea eax, [esp + 0x2bc]
mov dword [esp + 0xb0], 1
push eax
lea eax, [esp + 0x178]
push eax
push ebx
push ebp
push edi
call fcn.1045b250
add esp, 0x58
cmp dword [esp + 0x248], 0
jne 0x104560e2
cmp dword [esp + 0x68], 0
mov esi, dword [esp + 0x14]
je 0x1045607d
mov eax, dword [esp + 0xf0]
push 8
mov dword [esp + 0x78], 0
movzx eax, byte [eax + 0x109bf4ac]
shr eax, 2
mov dword [esp + 0x74], eax
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x280]
push eax
lea eax, [esp + 0x13c]
push eax
lea eax, [ebx + 0x4c]
push eax
push ebx
lea eax, [esp + 0x2b8]
push eax
push ebp
push dword [esp + 0x48]
push esi
push ebp
push edi
call fcn.1045b520
add esp, 0x30
cmp dword [esp + 0x248], 0
jne 0x104560e2
cmp dword [esp + 0x6c], 0
je 0x104560e2
cmp dword [esp + 0xec], 0
je 0x104560e2
mov eax, dword [esp + 0xf0]
push 9
mov dword [esp + 0x7c], 0
movzx eax, byte [eax + 0x109bf494]
shr eax, 2
mov dword [esp + 0x80], eax
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x280]
push eax
lea eax, [esp + 0x13c]
push eax
lea eax, [ebx + 0x5c]
push eax
push ebx
lea eax, [esp + 0x2b8]
push eax
push ebp
push dword [esp + 0x48]
push esi
push ebp
push edi
call fcn.1045b520
add esp, 0x30
mov eax, dword [edi + 0x3e7a8]
lea edx, [edi + 0x3abf0]
mov esi, dword [esp + 0x408]
mov cl, byte [esp + 0x274]
cmp esi, dword [eax + 0x1c]
jne 0x10456114
test cl, cl
jne 0x10456114
mov dword [ebp + 0x17bbc], 1
jmp 0x10455490
cmp dword [esp + 0x20], 0
mov eax, dword [esp + 0x60]
movups xmm0, xmmword [esp + 0x278]
movups xmmword [eax], xmm0
movups xmm0, xmmword [esp + 0x288]
movups xmmword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x298]
movq qword [eax + 0x20], xmm0
je 0x10456151
mov edi, dword [esp + 0x20]
mov al, byte [ebx]
mov byte [edi + 4], al
mov edi, dword [esp + 0x24]
test cl, cl
je 0x1045620d
mov eax, dword [edx + 0x3bb8]
mov eax, dword [eax + 0x1c]
cmp esi, eax
jne 0x104561bc
xor eax, eax
cmp byte [esp + 0x444], 1
push eax
push ebx
push esi
mov dword [ebp + 0x3184], eax
sete al
movzx eax, al
push eax
push dword [esp + 0x40]
push dword [esp + 0x48]
push dword [esp + 0x40]
push dword [esp + 0x30]
push ebp
push edi
call fcn.10458a90
movzx eax, byte [edi + 0x5cd38]
push eax
push 0
push 0
push dword [esp + 0x6c]
push ebx
call fcn.10080fd0
add esp, 0x3c
mov dword [ebp + 0x25ad8], 0
jmp 0x10456226
mov esi, dword [ebp + 0x141fc]
mov ecx, dword [esp + 0x408]
cmp ecx, esi
jg 0x1045620d
cmp dword [ebx + 0x7c], 3
jne 0x104561ed
cmp ecx, esi
jne 0x1045620d
push 3
push eax
call fcn.1045a260
add esp, 8
cmp eax, esi
je 0x1045620d
mov ecx, dword [esp + 0x408]
push 0
push ebx
push ecx
push 1
push dword [esp + 0x40]
push dword [esp + 0x48]
push dword [esp + 0x40]
push dword [esp + 0x30]
push ebp
push edi
call fcn.10458a90
add esp, 0x28
movzx eax, byte [edi + 0x5cd38]
push eax
push 1
push 1
push dword [esp + 0x44]
push ebx
call fcn.10080fd0
add esp, 0x14
mov eax, dword [esp + 0x80]
mov dword [ebp + 0x31cc], eax
mov ecx, dword [esp + 0x3e8]
mov al, byte [esp + 0x274]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.105116c0
add esp, 0x3dc
ret