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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x70
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
xor edi, edi
mov byte [ebp - 1], 0
mov byte [ebp - 2], 0
mov dword [ebp - 0xc], edi
test esi, esi
je 0x4301b3
cmp dword [esi], 0xc0dedbad
jne 0x4301b3
mov ecx, dword [ebp + 8]
cmp byte [ecx + 0x118], 0
je 0x42f1b0
mov edi, 0x2a
push esi
mov dword [ebp - 0xc], edi
call fcn.00418730
push 0
push edi
push esi
call fcn.0042eb90
add esp, 0x10
cmp dword [esi + 0x34], 0x10
je 0x42f1ab
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x34], 0x10
dec dword [eax + 0x10]
mov eax, dword [esi + 0x7c]
cmp dword [eax + 0x10], 0
jne 0x42f178
push eax
call fcn.00430bd0
add esp, 4
mov ebx, dword [esi + 0x18]
test ebx, ebx
je 0x42f19b
push esi
push ebx
call fcn.0043f820
push 0
lea eax, [esi + 0x28]
push eax
lea eax, [ebx + 0x2b4]
push eax
call fcn.00448130
add esp, 0x14
push esi
mov dword [esi + 0x18], 0
call fcn.0042d930
add esp, 4
mov ecx, dword [ebp + 8]
nop
mov al, byte [ecx + 0x116]
xor ebx, ebx
mov byte [ebp + 0x13], 0
mov byte [ecx + 0x116], bl
test al, al
je 0x42f1d8
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x42f1d8
push dword [eax]
push ecx
call fcn.0042eb20
add esp, 8
mov ecx, dword [esi + 0x34]
lea edx, [esi + 0x18]
lea eax, [ecx - 4]
cmp eax, 0xb
ja 0x42f1ee
cmp dword [edx], ebx
je case.default.0x42f226
lea eax, [ecx - 3]
cmp eax, 0xc
ja 0x42f21a
push 0
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp + 0x13]
push eax
push dword [ebp + 0xc]
push esi
call fcn.0042ef90
mov edi, dword [ebp - 0xc]
add esp, 0x14
test al, al
jne 0x42ffa3
lea edx, [esi + 0x18]
mov ecx, dword [esi + 0x34]
cmp ecx, 0x11
ja case.default.0x42f226
jmp dword [ecx*4 + 0x4301c0]
push esi
call fcn.0044f080
mov edi, eax
add esp, 4
mov dword [ebp - 0xc], edi
test edi, edi
jne case.0x42f226.1
cmp dword [esi + 0x34], 2
je 0x42f250
mov dword [esi + 0x34], 2
push 1
lea eax, [ebp - 0x40]
push esi
push eax
call fcn.004501c0
add esp, 0xc
push 2
lea eax, [ebp - 0x50]
push esi
push eax
call fcn.004501c0
add esp, 0xc
movups xmm0, xmmword [eax]
mov eax, dword [ebp + 0xc]
movups xmmword [eax], xmm0
mov eax, dword [esi + 0x1d8]
test eax, eax
je 0x42f28f
push 0xa
push 0
push eax
push esi
call fcn.0042d730
add esp, 0x10
mov eax, dword [esi + 0x1dc]
test eax, eax
je 0x42f2a7
push 2
push 0
push eax
push esi
call fcn.0042d730
add esp, 0x10
cmp dword [esi + 0x34], 3
je case.0x42f226.3
push esi
mov dword [esi + 0x34], 3
call fcn.0044efd0
add esp, 4
lea eax, [ebp - 3]
push eax
lea eax, [ebp - 5]
push eax
push esi
call fcn.0043b130
mov edi, eax
add esp, 0xc
mov dword [ebp - 0xc], edi
cmp edi, 0x59
jne 0x42f33b
cmp dword [esi + 0x34], 1
je 0x42f2e5
mov dword [esi + 0x34], 1
mov edi, dword [ebp + 8]
lea eax, [esi + 0x1c]
push eax
push esi
lea eax, [edi + 0x24]
push eax
call fcn.00447f50
mov ecx, dword [esi + 0x14]
add esp, 0xc
mov eax, dword [esi + 0x10]
test ecx, ecx
je 0x42f308
mov dword [ecx + 0x10], eax
jmp 0x42f30b
mov dword [edi + 4], eax
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
test ecx, ecx
je 0x42f328
mov dword [ecx + 0x14], eax
xor edi, edi
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
mov dword [ebp - 0xc], edi
jmp case.0x42f226.1
mov dword [edi + 8], eax
xor edi, edi
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
mov dword [ebp - 0xc], edi
jmp case.0x42f226.1
mov eax, dword [esi + 0x7c]
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x42f350
push dword [ecx]
push eax
call fcn.0042eb20
add esp, 8
test edi, edi
jne case.0x42f226.1
push 3
lea eax, [ebp - 0x60]
push esi
push eax
call fcn.004501c0
add esp, 0xc
movups xmm0, xmmword [eax]
mov eax, dword [ebp + 0xc]
movups xmmword [eax], xmm0
mov eax, dword [esi + 0x34]
cmp byte [ebp - 5], bl
je 0x42f38d
cmp eax, 4
je case.0x42f226.1
mov dword [esi + 0x34], 4
jmp case.0x42f226.1
or ebx, 0xffffffff
cmp byte [ebp - 3], 0
je 0x42f3ab
cmp eax, 7
je case.0x42f226.1
mov dword [esi + 0x34], 7
jmp case.0x42f226.1
cmp eax, 5
je case.0x42f226.1
mov dword [esi + 0x34], 5
jmp case.0x42f226.1
mov eax, dword [edx]
mov dword [ebp - 0x10], ebx
cmp byte [eax + 0x240], bl
je 0x42f3d2
mov ebx, dword [eax + 0x78]
jmp 0x42f3e2
cmp byte [eax + 0x249], bl
je 0x42f3df
mov ebx, dword [eax + 0x48]
jmp 0x42f3e2
mov ebx, dword [eax + 0x30]
push dword [eax + 0xec]
push ebx
push esi
call fcn.00448990
add esp, 0xc
mov dword [ebp - 0x10], eax
test eax, eax
je 0x42f421
push ebx
push 0x4a4de0
xor edi, edi
mov dword [esi + 0x890], eax
push esi
mov byte [esi + 0x8a4], 1
mov dword [ebp - 0xc], edi
call fcn.00440060
mov eax, dword [ebp - 0x10]
add esp, 0xc
test eax, eax
jne 0x42f433
lea eax, [ebp - 0x10]
push eax
push esi
call fcn.00449480
mov edi, eax
add esp, 8
mov dword [ebp - 0xc], edi
mov ebx, dword [ebp + 8]
push esi
push ebx
call fcn.00430d10
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x430139
cmp dword [ebp - 0x10], eax
je 0x42f490
lea eax, [ebp - 3]
push eax
push esi
call fcn.00449050
mov edi, eax
add esp, 8
mov dword [ebp - 0xc], edi
test edi, edi
je 0x42f46a
mov dword [esi + 0x18], ebx
jmp 0x42f490
mov eax, dword [esi + 0x34]
or ebx, 0xffffffff
cmp byte [ebp - 3], 0
je 0x42f484
cmp eax, 7
je 0x42f490
mov dword [esi + 0x34], 7
jmp 0x42f490
cmp eax, 5
je 0x42f490
mov dword [esi + 0x34], 5
test edi, edi
je case.0x42f226.1
mov byte [ebp + 0x13], 1
jmp case.0x42f226.1
lea eax, [ebp - 1]
push eax
push esi
call fcn.0044abc0
mov edi, eax
add esp, 8
mov eax, dword [esi + 0x18]
mov dword [ebp - 0xc], edi
cmp byte [eax + 0x244], bl
je 0x42f4ed
xor edi, edi
or ebx, 0xffffffff
push edi
push edi
push esi
mov dword [ebp - 0xc], edi
call fcn.0042eb90
add esp, 0xc
cmp dword [esi + 0x34], 3
je case.0x42f226.1
push esi
mov dword [esi + 0x34], 3
call fcn.0044efd0
jmp 0x42ff6b
test edi, edi
jne 0x42f498
or ebx, 0xffffffff
cmp dword [esi + 0x34], 7
je case.0x42f226.1
mov dword [esi + 0x34], 7
jmp case.0x42f226.1
lea eax, [ebp - 3]
push eax
push 0
push 0
push esi
call fcn.0043f680
add esp, 0x10
mov edi, eax
mov dword [ebp - 0xc], edi
cmp byte [ebp - 3], bl
je 0x42f542
test edi, edi
jne 0x42f54a
or ebx, 0xffffffff
cmp dword [esi + 0x34], 7
je case.0x42f226.1
mov dword [esi + 0x34], 7
jmp case.0x42f226.1
test edi, edi
je case.0x42f226.1
push esi
call fcn.00418730
push 1
push edi
push esi
call fcn.0042eb90
add esp, 0x10
mov byte [ebp + 0x13], 1
jmp case.0x42f226.1
test edi, edi
jne 0x42f54a
mov eax, dword [edx]
cmp byte [eax + 0x247], bl
je 0x42f582
mov dword [esi + 0x34], 9
or ebx, 0xffffffff
jmp case.0x42f226.1
test edi, edi
jne 0x42f54a
mov ecx, dword [edx]
push edi
push ecx
mov dword [ebp - 0x24], ecx
lea eax, [ecx + 0x24e]
mov byte [ebp - 1], bl
mov dword [ebp - 0x10], eax
call fcn.0043fba0
add esp, 8
test al, al
mov eax, dword [ebp - 0x10]
je 0x42f5c2
cmp byte [eax], bl
je 0x42f5c9
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x25c]
cmp dword [eax + 0x18], ebx
jne 0x42f5be
mov byte [ebp - 1], 1
xor edi, edi
jmp 0x42f5f5
mov dword [ebp - 0x10], eax
cmp byte [eax], bl
jne 0x42f5f5
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x25c]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x42f5eb
lea ecx, [ebp - 1]
push ecx
push esi
call eax
mov edi, eax
add esp, 8
test edi, edi
jne 0x42f5f5
jmp 0x42f5ef
mov byte [ebp - 1], 1
mov eax, dword [ebp - 0x10]
mov byte [eax], 1
mov ecx, dword [esi + 0x34]
mov dword [ebp - 0xc], edi
test edi, edi
jne 0x42f54a
cmp byte [ebp - 1], bl
jne 0x42f666
cmp ecx, 8
je 0x42f614
mov dword [esi + 0x34], 8
or ebx, 0xffffffff
jmp case.0x42f226.1
mov edx, dword [edx]
test edx, edx
je 0x42f654
mov eax, dword [edx + 0x25c]
cmp dword [eax + 0x18], ebx
je 0x42f654
mov byte [ebp - 1], bl
lea ecx, [ebp - 1]
mov eax, dword [edx + 0x25c]
push ecx
push esi
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [esi + 0x34]
mov edi, eax
add esp, 8
mov dword [ebp - 0xc], edi
test edi, edi
je 0x42f65d
jmp 0x42f54a
xor edi, edi
mov byte [ebp - 1], 1
mov dword [ebp - 0xc], edi
cmp byte [ebp - 1], bl
je case.0x42f226.1
cmp ecx, 9
je 0x42f672
mov dword [esi + 0x34], 9
or ebx, 0xffffffff
jmp case.0x42f226.1
cmp dword [esi + 0x1b4], ebx
je 0x42f701
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x42f694
mov byte [eax + 0x117], 1
push dword [esi + 0xcf4]
lea eax, [esi + 0xcc2]
push dword [esi + 0xcf0]
push eax
lea eax, [esi + 0xc94]
push eax
push dword [esi + 0x1b8]
mov eax, dword [esi + 0x1b4]
call eax
mov ecx, dword [esi + 0x7c]
add esp, 0x14
test ecx, ecx
je 0x42f6cc
mov byte [ecx + 0x117], bl
test eax, eax
je 0x42f6fe
push str.operation_aborted_by_pre_request_callback
push esi
call fcn.0043ffa0
mov edi, 0x2a
push esi
mov dword [ebp - 0xc], edi
call fcn.00418730
push 0
push edi
push esi
call fcn.0042eb90
add esp, 0x18
mov byte [ebp + 0x13], 1
jmp case.0x42f226.1
mov ecx, dword [esi + 0x34]
cmp byte [esi + 0x601], 1
mov eax, dword [esi + 0x18]
jne 0x42f732
push 0
push eax
call fcn.00442360
add esp, 8
cmp dword [esi + 0x34], 0xf
je 0x42f725
mov dword [esi + 0x34], 0xf
xor edi, edi
or ebx, 0xffffffff
mov dword [ebp - 0xc], edi
jmp case.0x42f226.1
mov eax, dword [eax + 0x25c]
xor edi, edi
mov eax, dword [eax + 8]
test eax, eax
je 0x42f750
lea ecx, [ebp - 2]
push ecx
push esi
call eax
mov ecx, dword [esi + 0x34]
add esp, 8
mov edi, eax
mov dword [ebp - 0xc], edi
test edi, edi
jne 0x42f7b8
cmp byte [ebp - 2], bl
jne 0x42f770
cmp ecx, 0xa
je 0x42f768
mov dword [esi + 0x34], 0xa
or ebx, 0xffffffff
jmp case.0x42f226.1
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x24d], bl
je 0x42f78f
cmp ecx, 0xb
je 0x42f787
mov dword [esi + 0x34], 0xb
or ebx, 0xffffffff
jmp case.0x42f226.1
cmp ecx, 0xc
je 0x42f7b0
push 7
lea eax, [ebp - 0x70]
mov dword [esi + 0x34], 0xc
push esi
push eax
mov byte [esi + 0x138], bl
call fcn.004501c0
add esp, 0xc
or ebx, 0xffffffff
jmp case.0x42f226.1
cmp edi, 0x37
jne 0x42f866
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x247], bl
je 0x42f866
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], ebx
push eax
push esi
call fcn.0044f7c0
add esp, 8
test eax, eax
je 0x42f7ed
mov edi, eax
mov byte [ebp + 0x13], 1
mov dword [ebp - 0xc], edi
push esi
call fcn.00418730
push 0
push edi
push esi
call fcn.0042eb90
mov ecx, dword [ebp - 0x10]
add esp, 0x10
test ecx, ecx
je 0x42f856
test eax, eax
je 0x42f820
cmp eax, 0x37
je 0x42f820
mov edi, eax
push ecx
mov dword [ebp - 0xc], edi
call dword [0x4c0514]
jmp 0x42ff6b
push 2
push ecx
push esi
call fcn.0044eae0
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x42f844
cmp dword [esi + 0x34], 2
je 0x42f83f
mov dword [esi + 0x34], 2
or ebx, 0xffffffff
xor edi, edi
mov ecx, dword [ebp - 0x10]
push ecx
mov dword [ebp - 0xc], edi
call dword [0x4c0514]
jmp 0x42ff6b
push ecx
mov byte [ebp + 0x13], 1
call dword [0x4c0514]
jmp 0x42ff6b
push esi
call fcn.00418730
add esp, 4
cmp dword [esi + 0x18], ebx
je 0x42f55c
push 0
push edi
push esi
call fcn.0042eb90
add esp, 0xc
mov byte [ebp + 0x13], 1
jmp case.0x42f226.1
mov edi, dword [edx]
test edi, edi
je 0x42f8e1
mov eax, dword [edi + 0x25c]
cmp dword [eax + 0x1c], ebx
je 0x42f8de
mov byte [ebp - 2], bl
lea ecx, [ebp - 2]
mov eax, dword [edi + 0x25c]
push ecx
push esi
mov eax, dword [eax + 0x1c]
call eax
mov ecx, dword [esi + 0x34]
lea edx, [esi + 0x18]
mov edi, eax
add esp, 8
mov dword [ebp - 0xc], edi
test edi, edi
je 0x42f8ea
push esi
call fcn.00418730
push 0
push edi
push esi
call fcn.0042eb90
add esp, 0x10
mov byte [ebp + 0x13], 1
jmp case.0x42f226.1
lea edx, [esi + 0x18]
xor edi, edi
mov byte [ebp - 2], 1
mov dword [ebp - 0xc], edi
cmp byte [ebp - 2], bl
je case.0x42f226.1
mov eax, dword [edx]
mov dl, byte [eax + 0x24d]
xor eax, eax
test dl, dl
sete al
add eax, 0xb
cmp ecx, eax
je 0x42f924
mov dword [esi + 0x34], eax
xor eax, eax
test dl, dl
sete al
mov eax, dword [eax*4 + 0x4a4c54]
test eax, eax
je 0x42f924
push esi
call eax
add esp, 4
or ebx, 0xffffffff
jmp case.0x42f226.1
mov eax, dword [edx]
xor edi, edi
mov dword [ebp - 0x2c], ebx
mov eax, dword [eax + 0x25c]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x42f94f
lea ecx, [ebp - 0x2c]
push ecx
push esi
call eax
mov ecx, dword [esi + 0x34]
add esp, 8
mov edi, eax
mov dword [ebp - 0xc], edi
test edi, edi
jne 0x42f8c3
mov edx, dword [ebp - 0x2c]
test edx, edx
je case.0x42f226.1
xor eax, eax
cmp edx, 1
sete al
lea eax, [eax*2 + 0xa]
cmp ecx, eax
je 0x42f924
mov dword [esi + 0x34], eax
mov eax, dword [eax*4 + 0x4a4c28]
jmp 0x42f91a
mov eax, dword [edx]
cmp byte [eax + 0x252], bl
je 0x42f9a9
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x42f9a9
push dword [eax]
push ebx
call fcn.0042eb20
mov ecx, dword [esi + 0x34]
lea edx, [esi + 0x18]
add esp, 8
mov eax, dword [edx]
cmp dword [eax + 0x278], 0xffffffff
jne 0x42f9d1
cmp dword [eax + 0x27c], 0xffffffff
jne 0x42f9d1
cmp ecx, 0xf
je 0x42f9dd
mov dword [esi + 0x34], 0xf
or ebx, 0xffffffff
jmp case.0x42f226.1
cmp ecx, 0xd
je 0x42f9dd
mov dword [esi + 0x34], 0xd
or ebx, 0xffffffff
jmp case.0x42f226.1
push esi
call fcn.004504e0
add esp, 4
test eax, eax
je 0x42fa01
mov ecx, 0x2a
mov edi, ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0xc], edi
jmp 0x42fa26
mov ecx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
movups xmm0, xmmword [ecx]
push esi
movups xmmword [eax], xmm0
call fcn.00451810
mov edi, eax
add esp, 0x14
mov dword [ebp - 0xc], edi
mov ecx, edi
mov dword [ebp - 0x24], ecx
test edi, edi
je 0x42fa5e
mov edx, dword [esi + 0x18]
mov eax, dword [edx + 0x25c]
test byte [eax + 0x50], 2
jne 0x42fa45
cmp ecx, 0x5c
je 0x42fa45
push 2
push edx
call fcn.00442360
add esp, 8
push esi
call fcn.00418730
push 1
push dword [ebp - 0x24]
push esi
call fcn.0042eb90
add esp, 0x10
jmp case.0x42f226.1
mov eax, dword [esi + 0x200]
xorps xmm0, xmm0
mov ecx, dword [esi + 0x204]
or eax, ecx
movlpd qword [ebp - 0x28], xmm0
je 0x42fac0
mov edx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [edx]
mov edx, dword [esi + 0x200]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [esi + 0x708]
push ecx
push edx
push dword [esi + 0x71c]
movups xmmword [eax], xmm0
push dword [esi + 0x718]
push dword [esi + 0x664]
push dword [esi + 0x660]
call fcn.0044fe30
add esp, 0x38
mov dword [ebp - 0x14], edx
jmp 0x42fac9
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [esi + 0x20c]
xorps xmm0, xmm0
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x208]
or eax, ecx
movlpd qword [ebp - 0x20], xmm0
je 0x42fb2d
mov edx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [edx]
mov edx, dword [esi + 0x208]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [esi + 0x720]
push ecx
push edx
push dword [esi + 0x734]
movups xmmword [eax], xmm0
push dword [esi + 0x730]
push dword [esi + 0x65c]
push dword [esi + 0x658]
call fcn.0044fe30
add esp, 0x38
mov ecx, eax
jmp 0x42fb33
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
or eax, dword [ebp - 0x14]
jne 0x42fb6a
mov eax, ecx
or eax, edx
jne 0x42fb6a
cmp dword [esi + 0x34], 0xd
je 0x42fb4e
mov dword [esi + 0x34], 0xd
mov ecx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
movups xmm0, xmmword [ecx]
push esi
movups xmmword [eax], xmm0
call fcn.00450850
add esp, 0x14
jmp case.0x42f226.1
cmp dword [ebp - 0x14], edx
jl 0x42fb8c
mov eax, dword [ebp - 0x10]
jg 0x42fb78
cmp eax, ecx
jb 0x42fb8c
push 0xb
push dword [ebp - 0x14]
push eax
push esi
call fcn.0042d730
add esp, 0x10
jmp case.0x42f226.1
push 0xb
push edx
push ecx
push esi
call fcn.0042d730
add esp, 0x10
jmp case.0x42f226.1
mov ecx, dword [esi + 0x204]
xor al, al
mov byte [ebp - 4], al
xorps xmm0, xmm0
mov eax, dword [esi + 0x200]
or eax, ecx
mov dword [ebp - 0x10], ebx
movlpd qword [ebp - 0x28], xmm0
je 0x42fc08
mov edx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [edx]
mov edx, dword [esi + 0x200]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [esi + 0x708]
push ecx
push edx
push dword [esi + 0x71c]
movups xmmword [eax], xmm0
push dword [esi + 0x718]
push dword [esi + 0x664]
push dword [esi + 0x660]
call fcn.0044fe30
add esp, 0x38
mov dword [ebp - 0x18], edx
jmp 0x42fc11
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [esi + 0x20c]
xorps xmm0, xmm0
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x208]
or eax, ecx
movlpd qword [ebp - 0x20], xmm0
je 0x42fc78
mov edx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [edx]
mov edx, dword [esi + 0x208]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [esi + 0x720]
push ecx
push edx
push dword [esi + 0x734]
movups xmmword [eax], xmm0
push dword [esi + 0x730]
push dword [esi + 0x65c]
push dword [esi + 0x658]
call fcn.0044fe30
add esp, 0x38
mov dword [ebp - 0x1c], eax
mov ecx, eax
jmp 0x42fc81
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x14]
or eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], edx
jne 0x42fe72
mov eax, ecx
or eax, edx
jne 0x42fe72
push esi
call fcn.0044f3b0
mov edi, eax
add esp, 4
lea eax, [esi + 0x12e]
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x24], eax
cmp byte [eax], bl
jne 0x42fd0a
cmp edi, 0x38
je 0x42fd0a
mov edx, edi
cmp edi, 0x5c
je 0x42fccb
mov cl, byte [ebp - 4]
mov byte [ebp - 4], cl
test edx, edx
je 0x42fd45
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + 0x25c]
test byte [eax + 0x50], 2
jne 0x42fcea
cmp edi, 0x5c
je 0x42fcea
push 2
push ecx
call fcn.00442360
add esp, 8
push esi
call fcn.00418730
push 1
push edi
push esi
call fcn.0042eb90
add esp, 0x10
push dword [ebp - 0x10]
call dword [0x4c0514]
jmp 0x42ff6b
lea eax, [ebp - 0x10]
push eax
push esi
call fcn.0044f7c0
add esp, 8
mov edx, edi
test eax, eax
jne 0x42fd28
cmp dword [ebp - 0x10], ebx
setne cl
mov byte [ebp - 4], cl
jmp 0x42fd36
test edi, edi
jne 0x42fd33
mov edi, eax
mov dword [ebp - 0xc], edi
jmp 0x42fccb
mov cl, byte [ebp - 4]
mov eax, dword [ebp - 0x24]
test cl, cl
je 0x42fcc4
xor edi, edi
mov byte [eax], 1
mov dword [ebp - 0xc], edi
cmp byte [eax], bl
je 0x42fe4d
push esi
call fcn.004417f0
add esp, 4
test al, al
jne 0x42fe4d
push esi
call fcn.00418730
add esp, 4
cmp byte [ebp - 4], bl
jne 0x42fe0a
cmp dword [esi + 0x120], ebx
jne 0x42fde8
cmp dword [esi + 0x11c], ebx
je 0x42fdc2
push dword [ebp - 0x10]
call dword [0x4c0514]
mov eax, dword [esi + 0x11c]
push 1
push eax
push esi
mov dword [ebp - 0x10], eax
mov dword [esi + 0x11c], ebx
call fcn.0044eae0
mov edi, eax
add esp, 0x10
mov dword [ebp - 0xc], edi
test edi, edi
je 0x42fdca
push 1
push edi
push esi
mov byte [ebp + 0x13], 1
call fcn.0042eb90
mov edi, eax
add esp, 0xc
mov dword [ebp - 0xc], edi
test edi, edi
jne 0x42fe64
cmp dword [esi + 0x34], 0xf
je 0x42fdd7
mov dword [esi + 0x34], 0xf
push dword [ebp - 0x10]
or ebx, 0xffffffff
call dword [0x4c0514]
jmp 0x42ff6b
push dword [ebp - 0x10]
call dword [0x4c0514]
mov eax, dword [esi + 0x120]
add esp, 4
mov dword [ebp - 0x10], eax
mov edi, 3
mov dword [esi + 0x120], ebx
jmp 0x42fe0f
mov edi, 2
push 0
push 0
push esi
call fcn.0042eb90
push edi
push dword [ebp - 0x10]
push esi
call fcn.0044eae0
mov edi, eax
add esp, 0x18
mov dword [ebp - 0xc], edi
test edi, edi
jne 0x42fe64
cmp dword [esi + 0x34], 2
je 0x42fe3c
mov dword [esi + 0x34], 2
push dword [ebp - 0x10]
or ebx, 0xffffffff
call dword [0x4c0514]
jmp 0x42ff6b
cmp byte [esi + 0xc3b], bl
je 0x42fe64
push 8
push 0
push 0
push esi
call fcn.0042d730
add esp, 0x10
push dword [ebp - 0x10]
call dword [0x4c0514]
jmp 0x42ff6b
mov ecx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
movups xmm0, xmmword [ecx]
push esi
movups xmmword [eax], xmm0
call fcn.00450850
add esp, 0x14
cmp dword [esi + 0x34], 0xe
je 0x42fe96
mov dword [esi + 0x34], 0xe
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [ebp - 0x24]
jl 0x42febc
mov eax, dword [ebp - 0x14]
jg 0x42fec4
mov edx, dword [ebp - 0x1c]
cmp eax, edx
jb 0x42febf
push 0xb
push ecx
push eax
push esi
call fcn.0042d730
add esp, 0x10
jmp case.0x42f226.1
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
mov eax, edx
push 0xb
push ecx
push eax
push esi
call fcn.0042d730
add esp, 0x10
jmp case.0x42f226.1
mov eax, dword [edx]
or ebx, 0xffffffff
test eax, eax
je 0x42ff11
cmp byte [eax + 0x252], 0
je 0x42fefd
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x42fefd
push dword [ecx]
push eax
call fcn.0042eb20
add esp, 8
push 0
push edi
push esi
call fcn.0042eb90
add esp, 0xc
test edi, edi
cmove edi, eax
mov dword [ebp - 0xc], edi
cmp dword [esi + 0x34], 0x10
je case.0x42f226.1
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x34], 0x10
dec dword [eax + 0x10]
mov eax, dword [esi + 0x7c]
cmp dword [eax + 0x10], 0
jne 0x42ff36
push eax
call fcn.00430bd0
add esp, 4
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x24], eax
test eax, eax
je 0x42ff5e
push esi
push eax
call fcn.0043f820
push 0
lea eax, [esi + 0x28]
push eax
mov eax, dword [ebp - 0x24]
add eax, 0x2b4
push eax
call fcn.00448130
add esp, 0x14
push esi
mov dword [esi + 0x18], 0
call fcn.0042d930
add esp, 4
mov eax, dword [esi + 0x34]
sub eax, 3
cmp eax, 5
ja 0x42ffa3
mov edx, dword [ebp + 8]
cmp ebx, 0xffffffff
je 0x42ffa6
cmp byte [edx + 0x116], 0
jne 0x42ffa6
push 0
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp + 0x13]
push eax
push dword [ebp + 0xc]
push esi
call fcn.0042ef90
mov edi, dword [ebp - 0xc]
add esp, 0x14
mov edx, dword [ebp + 8]
mov ecx, dword [esi + 0x34]
cmp ecx, 0x10
jge 0x430117
test edi, edi
je 0x4300a1
mov eax, dword [edx + 0x24]
test eax, eax
je 0x42ffcf
push dword [eax]
push edx
call fcn.0042eb20
mov ecx, dword [esi + 0x34]
add esp, 8
mov eax, dword [esi + 0x18]
lea ebx, [esi + 0x18]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x14], ebx
test eax, eax
je 0x43002f
cmp byte [ebp + 0x13], 0
je 0x430040
cmp edi, 0x1c
push esi
push eax
sete byte [ebp - 0x30]
call fcn.0043f820
push 0
lea eax, [esi + 0x28]
push eax
mov eax, dword [ebp - 0x24]
add eax, 0x2b4
push eax
call fcn.00448130
push 1
push dword [ebp - 0x24]
mov dword [ebx], 0
push esi
call fcn.00437b80
push dword [ebp - 0x30]
push dword [ebp - 0x24]
push esi
call fcn.0043b250
lea eax, [esi + 0x18]
add esp, 0x2c
mov dword [ebp - 0x14], eax
jmp 0x430040
cmp ecx, 3
jne 0x430040
push esi
call fcn.00418730
add esp, 4
mov dword [ebp - 0x14], ebx
cmp dword [esi + 0x34], 0x10
je 0x430114
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x34], 0x10
dec dword [eax + 0x10]
mov eax, dword [esi + 0x7c]
cmp dword [eax + 0x10], 0
jne 0x43006c
push eax
call fcn.00430bd0
mov ebx, dword [ebp - 0x14]
add esp, 4
mov eax, dword [ebx]
mov dword [ebp + 0x10], eax
test eax, eax
je 0x430093
push esi
push eax
call fcn.0043f820
push 0
lea eax, [esi + 0x28]
push eax
mov eax, dword [ebp + 0x10]
add eax, 0x2b4
push eax
call fcn.00448130
add esp, 0x14
push esi
mov dword [ebx], 0
call fcn.0042d930
jmp 0x430111
cmp dword [esi + 0x18], 0
je 0x430117
push esi
call fcn.004504e0
add esp, 4
test eax, eax
je 0x430117
push 2
push dword [esi + 0x18]
mov edi, 0x2a
mov dword [ebp - 0xc], edi
call fcn.00442360
mov ebx, dword [esi + 0x34]
xor eax, eax
add esp, 8
cmp ebx, 0xf
setge al
add eax, 0xf
cmp ebx, eax
je 0x430114
mov dword [esi + 0x34], eax
cmp ebx, 0xf
jl 0x4300fb
mov eax, dword [esi + 0x7c]
dec dword [eax + 0x10]
mov eax, dword [esi + 0x7c]
cmp dword [eax + 0x10], 0
jne 0x4300fb
push eax
call fcn.00430bd0
add esp, 4
xor eax, eax
cmp ebx, 0xf
setge al
mov eax, dword [eax*4 + 0x4a4c64]
test eax, eax
je 0x430114
push esi
call eax
add esp, 4
or ebx, 0xffffffff
cmp dword [esi + 0x34], 0x10
je 0x430142
mov ecx, dword [ebp + 8]
cmp ebx, 0xffffffff
je 0x42f1b0
cmp byte [ecx + 0x116], 0
jne 0x42f1b0
mov dword [esi + 0x38], edi
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x5e4]
test eax, eax
je 0x430158
push edi
push esi
call eax
mov ebx, dword [ebp + 8]
add esp, 8
jmp 0x430179
mov ebx, dword [ebp + 8]
lea eax, [esi + 0x3c]
push eax
push eax
mov dword [eax + 0xc], 1
mov dword [eax + 0x10], esi
mov dword [eax + 0x14], edi
lea eax, [ebx + 0x14]
push eax
call fcn.00447f50
add esp, 0xc
cmp dword [esi + 0x34], 0x11
je 0x430186
mov dword [esi + 0x34], 0x11
lea eax, [esi + 0x1c]
push eax
lea eax, [ebx + 0x34]
push esi
push eax
call fcn.00447f50
push esi
push ebx
call fcn.004310f0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 2
pop ebx
mov esp, ebp
pop ebp
ret