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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x328
mov edi, edx
mov dword [esp + 0x5c], ecx
call 0x467515
pop eax
mov cl, byte [edx + 0xe0]
mov ebx, dword [edx + 0xe4]
mov edx, dword [edx + 0xe8]
mov dword [esp + 0x8c], eax
mov eax, dword [edi + 0xec]
lea ebp, [edi + 0xe0]
mov byte [edi + 0xe0], 0x13
cmp cl, 0x17
jne 0x468bb5
mov dword [esp + 0x18], ebx
lea eax, [edi + 0xf0]
mov ebx, dword [esp + 0x5c]
lea esi, [esp + 0xb0]
mov dword [esp + 0x1c], edx
mov dword [esp + 4], edi
mov dword [esp + 0x54], ebp
mov dword [esp + 0x90], eax
lea eax, [edi + 0xc4]
mov dword [esp + 0xa4], eax
lea eax, [edi + 0xd0]
mov dword [esp + 0xa8], eax
lea eax, [edi + 0xb0]
mov dword [esp + 0xac], eax
mov dword [esp + 0x64], eax
cmp byte [edi + 0x108], 0
jne 0x468ca0
mov edx, dword [esp + 0x90]
mov dword [esp + 0x38], ecx
mov ecx, esi
call fcn.0045da34
cmp word [esp + 0xb0], 0xa
jne 0x46781c
mov ecx, esi
call fcn.00463437
xor ebx, ebx
mov eax, dword [edi + 0x100]
mov edi, dword [edi + 0x104]
mov ecx, ebx
mov edx, edi
push 0x4e590c
push 0x4805
mov dword [esp + 0x34], eax
push eax
call fcn.00428725
add esp, 0xc
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edx
and dword [esp + 0x44], 0
lea esi, [esp + 0x3c]
mov ecx, esi
call fcn.0045e579
test al, 1
je 0x467855
movzx ecx, dl
call fcn.0046347b
cmp al, 6
mov byte [esp + 0x34], dl
mov byte [esp + 0x14], al
je 0x467855
mov ecx, esi
mov dword [esp + 0x10], ebx
call fcn.0046136c
mov ebp, edx
movzx eax, ax
shl ebp, 0x10
or ebp, eax
cmp ax, 0xa
push 0xa
pop ecx
cmove ebp, ecx
mov eax, ebp
mov ebx, ebp
and eax, 0xff000000
cmp bp, 0xa
cmove eax, ecx
and ebx, 0xff0000
or ebx, eax
shr ebx, 0x10
cmp bp, 0xa
je 0x46785f
mov ecx, esi
call fcn.0045e83e
test ax, ax
je 0x46787e
mov esi, edx
sub esp, 4
movzx ecx, byte [esp + 0x18]
movzx edx, byte [esp + 0x38]
push 3
call fcn.0046344c
pop ecx
pop edx
test al, al
je 0x4676ad
test si, si
je 0x468c1d
cmp si, 0x47ff
ja 0x468c1d
cmp byte [esp + 0x14], 5
je 0x468c27
cmp bp, 9
jne 0x4676da
mov eax, ebx
and eax, 0xff00
cmp ax, 0x300
jne 0x468c31
movzx eax, si
lea ecx, [esp + 0x25c]
lea edx, [esp + 0x3c]
push eax
call fcn.0045e70a
pop eax
mov eax, dword [esp + 0x25c]
test eax, eax
je 0x467888
lea esi, [esp + 0x261]
mov cl, byte [esp + 0x260]
lea edi, [esp + 0x2d1]
mov edx, dword [esi]
mov esi, dword [esi + 3]
mov dword [edi + 3], esi
mov dword [edi], edx
mov dword [esp + 0x2cc], eax
mov byte [esp + 0x2d0], cl
lea ecx, [esp + 0xb4]
lea edx, [esp + 0x2cc]
call fcn.0045e5d8
mov al, byte [esp + 0x14]
mov word [esp + 0xb0], bp
mov word [esp + 0xb2], bx
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x10]
mov byte [esp + 0xc0], al
mov al, byte [esp + 0x34]
mov ecx, dword [edi + 0xf4]
add ebx, dword [esp + 0x44]
mov byte [esp + 0xc1], al
mov eax, dword [esp + 0xc0]
movsd xmm0, qword [esp + 0xb8]
movsd xmm1, qword [esp + 0xb0]
mov dword [esp + 0x1ec], eax
mov eax, dword [edi + 0xfc]
movsd qword [esp + 0x1e4], xmm0
movsd qword [esp + 0x1dc], xmm1
cmp eax, ecx
jne 0x4677ca
mov ecx, dword [esp + 0x90]
call fcn.0045d8f7
mov ecx, dword [edi + 0xf4]
mov eax, dword [edi + 0xfc]
mov edx, dword [edi + 0xf8]
mov esi, 0
mov ebp, dword [edi + 0xf0]
add edx, eax
cmp edx, ecx
cmovb ecx, esi
mov esi, dword [esp + 0x1ec]
inc eax
sub edx, ecx
imul edx, edx, 0x14
mov dword [ebp + edx + 0x10], esi
movsd xmm0, qword [esp + 0x1dc]
movsd xmm1, qword [esp + 0x1e4]
movsd qword [ebp + edx + 8], xmm1
movsd qword [ebp + edx], xmm0
mov dword [edi + 0xfc], eax
jmp 0x4675d5
mov eax, dword [esp + 0xc0]
movsd xmm0, qword [esp + 0xb0]
movsd xmm1, qword [esp + 0xb8]
mov ebp, ebx
mov dword [esp + 0x168], eax
movsd qword [esp + 0x160], xmm1
movsd qword [esp + 0x158], xmm0
jmp 0x4678ee
mov byte [esp + 0xb2], 0
jmp 0x467894
mov byte [esp + 0xb2], bl
cmp bl, 2
mov ebx, dword [esp + 0x10]
mov word [esp + 0xb0], 0xa
jb 0x46789e
jmp 0x468c43
mov byte [esp + 0xb2], 0
jmp 0x467890
mov byte [esp + 0xb2], 1
mov ebx, dword [esp + 0x10]
mov word [esp + 0xb0], 0xa
mov ebp, dword [esp + 0x5c]
mov esi, edi
sub esi, ebx
jbe 0x4678cb
cmp edi, 0x4806
jae 0x468d6a
mov eax, dword [esp + 0x2c]
add ebx, eax
push esi
push ebx
push eax
call fcn.004ba8e0
add esp, 0xc
mov edi, dword [esp + 4]
jmp 0x4678d5
xor esi, esi
cmp edi, ebx
mov edi, dword [esp + 4]
jne 0x4678db
mov dword [edi + 0x104], esi
mov edx, dword [esp + 0x90]
lea ecx, [esp + 0x158]
call fcn.0045da34
movzx ebx, word [esp + 0x158]
cmp bx, 0xb
je 0x468c5a
lea ecx, [esp + 0x15a]
cmp bx, 0xa
movzx eax, word [ecx + 0x10]
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
lea ecx, [esp + 0x146]
mov word [esp + 0x1d8], ax
movsd qword [esp + 0x1d0], xmm1
movsd qword [esp + 0x1c8], xmm0
mov word [ecx + 0x10], ax
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov word [esp + 0x144], bx
je 0x468cac
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x34], ebx
movzx ebp, word [esp + 0x156]
movzx edx, word [esp + 0x146]
mov esi, dword [esp + 0x148]
mov ebx, dword [esp + 0x150]
mov cl, byte [esp + 0x155]
mov dword [esp + 0x14], eax
mov al, byte [esp + 0x154]
mov word [esp + 2], bp
test al, al
jne 0x4679f7
cmp byte [edi + 0xa3], 0
jne 0x4679f7
cmp word [edi + 0x80], 5
jne 0x4679f7
mov ecx, esi
mov edx, ebx
push 1
push 0x4ecafc
call fcn.00427614
pop ecx
pop edx
test al, al
je 0x467b3f
mov al, byte [edi + 0xa8]
cmp al, 3
jae 0x467b3f
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
inc al
mov bl, 0x17
mov byte [edi + 0xa8], al
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], ecx
mov byte [esp + 0x3c], 0x17
jmp 0x467b90
cmp byte [edi + 0x29], 2
jne 0x467bb0
mov dword [esp + 0xc], esi
mov esi, dword [edi + 0x20]
mov ebp, dword [edi + 0x24]
mov byte [esp + 0x2c], cl
mov byte [esp + 0x10], al
mov dword [esp + 0x4c], ebx
mov eax, ebp
mov ecx, esi
not eax
xor ecx, 0xffff0000
or ecx, eax
jne 0x467a38
mov ecx, edi
mov esi, edx
call fcn.00466f8b
mov edx, esi
mov esi, dword [edi + 0x20]
mov ebp, dword [edi + 0x24]
mov eax, dword [esp + 0x34]
mov word [esp + 0xb0], ax
mov eax, dword [esp + 0xc]
mov word [esp + 0xb2], dx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xbc], eax
mov al, byte [esp + 0x10]
mov byte [esp + 0xc0], al
mov al, byte [esp + 0x2c]
mov byte [esp + 0xc1], al
movzx eax, word [esp + 2]
mov word [esp + 0xc2], ax
mov eax, dword [edi + 0x14]
push ebp
push esi
lea ecx, [esp + 0xb8]
push ecx
push dword [edi + 0x10]
lea ecx, [esp + 0x1ec]
push ecx
call dword [eax + 0x10]
add esp, 0x14
movzx ebx, word [esp + 0x1dc]
cmp bx, 0xa
jne 0x467bb9
lea eax, [esp + 0x1de]
movsd xmm0, qword [eax + 2]
movsd xmm1, qword [eax + 0xa]
lea eax, [esp + 0x261]
movsd qword [eax + 5], xmm1
movsd qword [eax - 3], xmm0
movsd xmm0, qword [eax - 3]
movsd xmm1, qword [eax + 5]
lea eax, [esp + 0x15c]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov word [esp + 0x158], 0xa
movzx eax, byte [esp + 0x15c]
cmp eax, 6
je 0x467c66
mov edi, dword [esp + 4]
cmp eax, 0x14
jne 0x467c87
mov ecx, edi
push 4
pop edx
call fcn.00468fe8
mov eax, dword [esp + 0x68]
and eax, 0xffffff00
or eax, 0x14
jmp 0x467ce9
xor edx, edx
mov ecx, edi
inc edx
call fcn.00468fe8
push 0x1e
pop ebx
mov ecx, ebx
xor edx, edx
call fcn.004528c8
mov ebp, esi
mov esi, eax
mov edi, edx
push ebx
push 0x4e5d72
push eax
call fcn.004ba8e0
add esp, 0xc
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov byte [esp + 0x3c], 9
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
mov edi, dword [esp + 4]
mov esi, ebp
mov dword [esp + 0x48], ebx
call fcn.004674e2
mov bl, 9
mov edx, dword [esp + 0x14]
mov ecx, esi
call fcn.004a8f7f
mov ebp, dword [esp + 0x54]
mov al, byte [esp + 0x30]
mov cl, byte [esp + 0x28]
mov dl, byte [esp + 0x24]
jmp 0x4683e2
mov ebp, dword [esp + 0x34]
jmp 0x467d8e
lea ecx, [esp + 0x1de]
add esi, 1
movzx eax, word [ecx + 0x10]
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
lea ecx, [esp + 0x15a]
mov dword [edi + 0x20], esi
adc ebp, 0
mov dword [edi + 0x24], ebp
mov word [ecx + 0x10], ax
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov word [esp + 0x26c], ax
movsd qword [esp + 0x264], xmm1
movsd qword [esp + 0x25c], xmm0
mov esi, dword [esp + 0x15c]
mov cl, byte [esp + 0x168]
movzx eax, word [esp + 0x15a]
mov ebp, dword [esp + 0x160]
mov dl, byte [esp + 0x169]
mov dword [esp + 0x68], esi
mov esi, dword [esp + 0x164]
mov byte [esp + 0x23], cl
movzx ecx, word [esp + 0x16a]
mov word [esp + 0xa2], ax
mov dword [esp + 0x88], ebp
mov byte [esp + 0x22], dl
mov dword [esp + 0x84], esi
mov word [esp + 0x76], cx
jmp 0x467cff
mov edi, dword [esp + 4]
cmp dword [edi], 0
je 0x467cd3
mov eax, dword [edi + 4]
sub eax, dword [esp + 0x4c]
jb 0x467cd3
mov bx, 0xa
mov dword [edi], 1
mov dword [edi + 4], eax
jmp 0x467cf1
mov cl, byte [esp + 0x168]
mov eax, dword [esp + 0x15c]
mov ebx, dword [esp + 0x160]
mov esi, dword [esp + 0x164]
mov dl, byte [esp + 0x169]
mov byte [esp + 0x23], cl
movzx ecx, word [esp + 0x16a]
mov dword [esp + 0x68], eax
mov dword [esp + 0x88], ebx
mov dword [esp + 0x84], esi
mov byte [esp + 0x22], dl
mov word [esp + 0x76], cx
jmp 0x467d39
mov ecx, edi
push 2
pop edx
call fcn.00468fe8
mov eax, dword [esp + 0x68]
and eax, 0xffffff00
or eax, 6
mov dword [esp + 0x68], eax
mov bx, 0xb
lea eax, [esp + 0x15c]
push eax
call fcn.0043a980
pop eax
cmp bx, 0xa
je 0x467e3e
movzx eax, bx
mov ebp, ebx
mov ebx, dword [esp + 0x84]
mov esi, dword [esp + 0x68]
movzx edx, word [esp + 0xa2]
mov cl, byte [esp + 0x22]
cmp eax, 0xb
mov eax, dword [esp + 0x88]
mov dword [esp + 0x14], eax
mov al, byte [esp + 0x23]
jne 0x467d8e
mov ebx, dword [esp + 0x68]
mov eax, dword [esp + 0x88]
mov ebp, dword [esp + 0x84]
mov dl, byte [esp + 0x23]
mov cl, byte [esp + 0x22]
movzx esi, word [esp + 0x76]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ebp
mov byte [esp + 0x48], dl
mov byte [esp + 0x49], cl
mov dl, byte [esp + 0x30]
mov cl, byte [esp + 0x28]
mov word [esp + 0x4a], si
mov esi, dword [esp + 0x38]
mov ebp, dword [esp + 0x58]
mov byte [esp + 0x2c], dl
mov byte [esp + 0x10], cl
jmp 0x4683af
mov word [esp + 2], dx
mov dword [esp + 0xc], esi
sub esp, 4
movzx esi, al
mov byte [esp + 0x14], al
mov byte [esp + 0x30], cl
movzx edx, cl
mov ecx, esi
push 2
call fcn.0046344c
pop ecx
pop edx
test al, al
je 0x467e1a
movzx eax, word [esp + 2]
mov ecx, dword [esp + 0x1c]
cmp bp, 0xa
mov edx, eax
je 0x4682a8
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x54]
movzx eax, bp
cmp eax, 0xb
jne 0x4682d2
mov al, byte [esp + 0x2c]
mov ebp, ebx
mov byte [esp + 0x30], al
mov al, byte [esp + 0x10]
mov byte [esp + 0x28], al
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x50], eax
movzx eax, word [esp + 2]
mov al, ah
mov byte [esp + 0x24], ah
jmp 0x468018
mov eax, dword [edi + 0xcc]
test eax, eax
mov dword [esp + 0x34], eax
je 0x467e62
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0xa4]
add ebx, edx
push ebx
call fcn.0045245d
pop eax
jmp 0x467e8d
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x5c]
lea esi, [esp + 0xb0]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x38]
jmp 0x46759e
mov ecx, dword [edi + 0xc4]
mov edx, dword [edi + 0xc8]
call fcn.004a8f7f
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov dword [edi + 0xc4], eax
mov dword [edi + 0xc8], ecx
mov dword [edi + 0xcc], ebx
movzx eax, word [esp + 2]
cmp bp, 5
jne 0x467ea8
mov word [edi + 0xc0], 5
mov word [edi + 0xc2], ax
mov edx, dword [edi + 0xdc]
xor eax, eax
test edx, edx
je 0x467ee0
mov eax, dword [edi + 0xd4]
mov ecx, dword [edi + 0xd8]
mov edi, 0
cmp ecx, eax
mov esi, eax
mov ebx, eax
cmovb esi, edi
mov edi, edx
sub ecx, esi
sub ebx, ecx
sub edi, ebx
ja 0x467ee4
add edx, ecx
xor edi, edi
mov eax, edx
jmp 0x467ee4
xor edi, edi
xor ecx, ecx
mov edx, dword [esp + 0xa8]
mov esi, dword [edx]
lea ecx, [esi + ecx*4]
lea edx, [esi + eax*4]
lea edi, [esi + edi*4]
push 0
call fcn.0045bce0
pop ecx
mov ecx, esi
mov edx, edi
push eax
call fcn.0045bce0
pop ecx
mov ebx, dword [esp + 4]
mov esi, eax
mov edx, dword [ebx + 0xcc]
mov ecx, dword [ebx + 0xc4]
push 0x4e5bb4
push esi
call fcn.00466604
pop ecx
pop ecx
cmp edx, 4
jb 0x467feb
mov edi, edx
mov edx, eax
lea ecx, [esp + 0x1dc]
push 0x4e5bd4
push 4
push edi
call fcn.0044fd4f
add esp, 0xc
mov edx, dword [esp + 0x1dc]
mov ebx, dword [esp + 0x1e8]
xor ecx, ecx
inc ecx
push 0x4e5be4
push dword [esp + 0x1e4]
call fcn.0043396b
pop ecx
pop ecx
mov ecx, eax
call fcn.0045e729
cmp eax, 1
jne 0x467feb
mov edi, edx
cmp edx, 0xffff
ja 0x468361
cmp edi, ebx
ja 0x467feb
mov ebx, dword [esp + 4]
add edi, 4
mov ecx, dword [ebx + 0xd4]
mov eax, dword [ebx + 0xdc]
cmp eax, ecx
jne 0x467fbd
mov ecx, dword [esp + 0xa8]
call fcn.0045d803
mov ecx, dword [ebx + 0xd4]
mov eax, dword [ebx + 0xdc]
mov edx, dword [ebx + 0xd8]
mov ebp, 0
add edx, eax
cmp edx, ecx
cmovb ecx, ebp
mov ebp, dword [ebx + 0xd0]
inc eax
add esi, edi
sub edx, ecx
mov dword [ebp + edx*4], edi
mov dword [ebx + 0xdc], eax
mov ebp, edi
jmp 0x467f0f
mov edi, dword [esp + 4]
cmp esi, dword [edi + 0xcc]
sete dl
cmp dword [esp + 0x34], 0
je 0x468010
mov ebx, edx
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
call fcn.004a8f7f
mov edx, ebx
mov ebp, dword [esp + 0x54]
mov ecx, dword [esp + 0x1c]
mov byte [edi + 0xa1], dl
and dword [edi], 0
mov byte [esp + 0xb], dl
mov eax, dword [edi + 0xdc]
test eax, eax
je 0x4681fb
mov dword [esp + 0x1c], ecx
mov ecx, dword [edi + 0xd8]
mov esi, dword [edi + 0xd4]
lea edx, [ecx + 1]
cmp edx, esi
mov edx, 0
cmovb esi, edx
dec eax
neg esi
lea edx, [ecx + esi + 1]
mov dword [edi + 0xd8], edx
mov dword [edi + 0xdc], eax
mov eax, dword [edi + 0xd0]
mov edx, dword [edi + 0xcc]
mov eax, dword [eax + ecx*4]
mov ecx, dword [edi + 0xc4]
push 0x4e5bc4
mov dword [esp + 0x38], eax
push eax
call fcn.0045b896
pop ecx
pop ecx
mov dword [esp + 0x2cc], eax
mov ebx, eax
mov eax, edi
mov edi, dword [edi + 0xc0]
mov dword [esp + 0x2d0], edx
and dword [esp + 0x2d4], 0
mov ebp, edx
lea esi, [esp + 0x25c]
lea edx, [esp + 0x2cc]
movzx eax, word [eax + 0xc2]
mov ecx, esi
mov dword [esp + 0x2c], edi
mov word [esp + 0x10], ax
push edi
call fcn.00463ab8
pop eax
cmp word [esp + 0x25c], 0x1f
je 0x46821d
push 0x1c
pop ecx
lea edi, [esp + 0x158]
xor edx, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
mov edi, dword [esp + 4]
call fcn.004528c8
mov dword [esp + 0xc], edx
mov dword [esp + 0x14], ebp
push ebp
mov ebp, eax
push ebx
push eax
call fcn.004ba8e0
add esp, 0xc
mov esi, dword [edi + 0xcc]
mov ecx, dword [esp + 0x34]
cmp esi, ecx
jb 0x468d5b
mov edx, dword [esp + 0x14]
and dword [edi + 0xcc], 0
sub esi, ecx
lea ebx, [esp + 0x1dc]
je 0x46815b
test ecx, ecx
je 0x468155
mov eax, dword [esp + 0xa4]
mov eax, dword [eax]
add ecx, eax
push esi
push ecx
push eax
call fcn.004ba8e0
mov edx, dword [esp + 0x20]
add esp, 0xc
mov dword [edi + 0xcc], esi
mov eax, dword [esp + 0x2c]
mov word [esp + 0xb0], ax
movzx eax, word [esp + 0x10]
mov word [esp + 0xb2], ax
push 0x1c
pop ecx
lea eax, [esp + 0x158]
lea edi, [esp + 0xb4]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x124], ebp
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], edx
push 0x20
pop ecx
mov edi, ebx
lea esi, [esp + 0xb0]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov edi, dword [esp + 4]
mov edx, edi
push dword [esp + 0xac]
push dword [esp + 0x20]
push dword [esp + 0x20]
push ebx
call fcn.00469053
add esp, 0x10
mov bl, byte [esp + 0x158]
cmp bl, 0x17
jne 0x468266
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x160]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x18], eax
jmp 0x468025
mov eax, dword [esp + 0x18]
mov word [esp + 0xb0], 0xa
mov bl, 0x17
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
mov byte [esp + 0x3c], 0x17
jmp 0x467b9f
mov edi, dword [esp + 4]
mov word [esp + 0xb4], 0xa
mov word [esp + 0xb0], 0xb
mov ecx, edi
push 0x10
pop edx
call fcn.00468fe8
lea ecx, [esp + 0xb0]
mov word [esp + 0x3c], 0x203
call fcn.00469029
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
call fcn.004674e2
mov bl, 3
jmp 0x467b9b
lea ecx, [esp + 0x15a]
lea edx, [esp + 0x3d]
mov esi, dword [esp + 0x15c]
mov al, byte [ecx + 1]
movzx ebp, word [ecx - 1]
mov ecx, dword [esp + 0x160]
mov byte [edx + 2], al
mov word [edx], bp
mov edx, dword [esp + 0x164]
mov byte [esp + 0x3c], bl
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], edx
jmp 0x467b9b
mov al, byte [esp + 0x2c]
mov ebp, dword [esp + 0x14]
mov byte [esp + 0xb], dl
mov esi, ebx
mov byte [esp + 0x30], al
mov al, byte [esp + 0x10]
mov byte [esp + 0x28], al
movzx eax, word [esp + 2]
mov al, ah
mov byte [esp + 0x24], ah
jmp 0x468384
mov eax, dword [esp + 0xc]
mov cl, byte [esp + 0x10]
mov dword [esp + 0x34], ebp
mov ebp, dword [esp + 0x64]
mov bx, 0x23
mov byte [esp + 0xb], dl
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x7c], eax
and dword [esp + 0x80], 0
mov al, 1
cmp cl, 3
mov dword [esp + 0x30], eax
ja 0x468351
mov eax, dword [esi*4 + 0x468d78]
add eax, dword [esp + 0x8c]
push 3
pop ebp
jmp eax
mov eax, dword [esp + 0x70]
lea esi, [esp + 0x25c]
jmp 0x4687e2
cmp dword [esp + 0x34], 0
je 0x468375
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
call fcn.004a8f7f
mov edi, dword [esp + 4]
mov esi, dword [esp + 0x38]
xor eax, eax
inc eax
mov dword [esp + 0xc], eax
mov ecx, edi
push 0x10
pop edx
call fcn.00468fe8
mov al, byte [esp + 0x30]
mov dl, byte [esp + 0x28]
mov ecx, dword [esp + 0xc]
mov bl, 3
mov word [esp + 0x3c], 0x203
mov byte [esp + 0x2c], al
mov byte [esp + 0x10], dl
mov dword [esp + 0x50], ecx
mov al, byte [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov ah, al
mov word [esp + 2], ax
mov edx, dword [esp + 0x1c]
call fcn.004674e2
movzx edx, word [esp + 2]
mov dword [esp + 0x58], ebp
mov al, byte [esp + 0x2c]
mov cl, byte [esp + 0x10]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x38], esi
mov dl, dh
cmp bl, 0x17
jne 0x468d06
mov byte [esp + 0x28], cl
mov ecx, dword [esp + 0x44]
mov byte [esp + 0x24], dl
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x5c]
mov byte [esp + 0x30], al
lea esi, [esp + 0xb0]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x18], edx
jmp 0x46759e
mov byte [esp + 0x1dd], cl
mov cl, byte [esp + 0x2c]
cmp bx, 0x23
mov dword [esp + 0x70], eax
mov dword [esp + 0x38], ebx
mov byte [esp + 0x1de], cl
mov byte [esp + 0x1dc], 3
jne 0x46886f
movzx eax, word [esp + 0x1de]
movzx edx, word [esp + 0x1e8]
movzx ecx, word [esp + 0x1ea]
movzx ebx, word [esp + 0x1dc]
mov dword [esp + 0x28], eax
movzx eax, word [esp + 0x1e0]
mov word [esp + 0x6e], dx
mov word [esp + 0x6c], cx
mov word [esp + 0x62], ax
movzx eax, word [esp + 0x1e2]
mov dword [esp + 0x24], eax
movzx eax, word [esp + 0x1e4]
mov word [esp + 0x50], ax
movzx eax, word [esp + 0x1e6]
mov dword [esp + 0x58], eax
jmp 0x468916
mov ebx, edx
shr ebx, 0x10
push 0x5c
push esi
lea eax, [esp + 0x2d4]
push eax
mov ebp, edx
call fcn.004ba8e0
add esp, 0xc
lea eax, [esp + 0x1dc]
push eax
call fcn.0043a980
pop eax
movzx ecx, word [esp + 0x96]
movzx eax, word [esp + 0xa0]
mov dword [esp + 0x28], eax
movzx eax, word [esp + 0x9e]
movzx esi, word [esp + 0x94]
mov edx, dword [esp + 0x134]
mov word [esp + 0x6e], cx
mov ecx, dword [esp + 0x70]
mov word [esp + 0x62], ax
movzx eax, word [esp + 0x9c]
mov dword [esp + 0x24], eax
movzx eax, word [esp + 0x9a]
mov word [esp + 0x6c], si
mov dword [esp + 0x13c], edx
mov dword [esp + 0x140], ecx
mov ecx, dword [esp + 0x130]
mov word [esp + 0x50], ax
movzx eax, word [esp + 0x98]
mov dword [esp + 0x58], eax
mov dword [esp + 0x138], ecx
mov dl, byte [esp + 0xb]
mov ecx, dword [esp + 0x18]
cmp byte [esp + 0x30], 0
je 0x46893c
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov esi, ebp
call fcn.004a8f7f
mov ecx, dword [esp + 0x18]
mov dl, byte [esp + 0xb]
cmp word [esp + 0x38], 0x23
mov dword [esp + 0x64], ebp
jne 0x4689a1
mov eax, dword [esp + 0x28]
mov word [esp + 0x3c], bx
movzx edx, word [esp + 0x6e]
mov ebp, dword [esp + 0x14]
movzx esi, word [esp + 0x6c]
mov word [esp + 0x3e], ax
movzx eax, word [esp + 0x62]
mov word [esp + 0x40], ax
mov eax, dword [esp + 0x24]
mov word [esp + 0x42], ax
movzx eax, word [esp + 0x50]
mov word [esp + 0x44], ax
mov eax, dword [esp + 0x58]
mov word [esp + 0x46], ax
mov word [esp + 0x48], dx
mov edx, dword [esp + 0xc]
mov word [esp + 0x4a], si
mov dword [esp + 0x50], edx
jmp 0x468b52
mov ebp, dword [esp + 0x14]
movzx eax, word [esp + 2]
movzx ecx, dl
movzx eax, ah
shl eax, 8
or eax, ecx
push 0x17
pop ecx
lea esi, [esp + 0x2cc]
lea edi, [esp + 0xc8]
rep movsd dword es:[edi], dword [esi]
movzx ecx, word [esp + 0x6e]
mov esi, dword [esp + 0x38]
mov word [esp + 0xc4], cx
movzx ecx, word [esp + 0x6c]
cmp si, 0x1f
mov word [esp + 0xc6], cx
mov ecx, dword [esp + 0x140]
mov dword [esp + 0x124], ecx
mov ecx, dword [esp + 0x13c]
mov dword [esp + 0x128], ecx
mov ecx, dword [esp + 0x138]
mov dword [esp + 0x12c], ecx
mov word [esp + 0xb2], ax
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x28]
mov word [esp + 0xb4], si
mov word [esp + 0xb6], ax
mov word [esp + 0xb8], bx
mov word [esp + 0xba], cx
movzx ecx, word [esp + 0x62]
mov word [esp + 0xbc], cx
mov ecx, dword [esp + 0x24]
mov word [esp + 0xbe], cx
movzx ecx, word [esp + 0x50]
mov word [esp + 0xc0], cx
mov ecx, dword [esp + 0x58]
mov word [esp + 0xc2], cx
mov ecx, dword [esp + 0x34]
mov word [esp + 0xb0], cx
jne 0x468aa7
mov edi, dword [esp + 4]
cmp al, 2
jne 0x468b0a
mov ecx, edi
push 0xd
pop edx
call fcn.00468fe8
mov esi, dword [esp + 0xc]
test bl, bl
jne 0x468b2f
jmp 0x468b5b
push 0x20
pop ecx
lea eax, [esp + 0x1dc]
lea esi, [esp + 0xb0]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x3c]
mov edi, dword [esp + 4]
mov edx, edi
push dword [esp + 0xac]
push dword [esp + 0x20]
push dword [esp + 0x20]
push eax
call fcn.00469053
mov edx, ebp
mov ebp, dword [esp + 0x64]
add esp, 0x10
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x4c]
mov bl, byte [esp + 0x3c]
mov al, byte [esp + 0x2c]
mov cl, byte [esp + 0x10]
mov dword [esp + 0x50], edx
movzx edx, word [esp + 2]
jmp 0x4683dc
mov esi, dword [esp + 0xc]
test bl, bl
je 0x468b5b
test al, al
jne 0x468b2f
cmp word [edi + 0x80], 5
jne 0x468b62
cmp bl, 0x17
je 0x468b62
mov ecx, edi
push 0x10
pop edx
call fcn.00468fe8
lea ecx, [esp + 0xb4]
mov byte [esp + 0x3d], bl
mov byte [esp + 0x3e], bh
mov byte [esp + 0x3c], 0xa
call fcn.004668ac
mov ecx, dword [esp + 0x18]
mov bl, 0xa
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x4c]
jmp 0x4683be
mov byte [edi + 0xa6], 1
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0xb4]
call fcn.004668ac
mov al, byte [esp + 0x2c]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x50], esi
mov dword [esp + 0x58], ebp
lea esi, [esp + 0xb0]
mov byte [esp + 0x30], al
mov al, byte [esp + 0x10]
mov byte [esp + 0x28], al
movzx eax, word [esp + 2]
mov al, ah
mov byte [esp + 0x24], ah
jmp 0x46759e
lea esi, [esp + 0xb0]
mov byte [esi], cl
movzx ecx, word [edi + 0xe1]
mov word [esi + 1], cx
mov cl, byte [edi + 0xe3]
lea edi, [esp + 0x1dc]
mov byte [esi + 3], cl
mov dword [esi + 4], ebx
mov dword [esi + 8], edx
mov ecx, edi
mov edx, esi
mov dword [esi + 0xc], eax
call fcn.00468e80
mov ecx, ebp
call fcn.004674c7
movsd xmm0, qword [edi]
movsd xmm1, qword [edi + 8]
movsd qword [ebp + 8], xmm1
movsd qword [ebp], xmm0
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
mov eax, dword [esp + 0x5c]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
jmp 0x468c95
mov byte [esp + 0xb2], 2
jmp 0x468c39
mov byte [esp + 0xb2], 3
jmp 0x468c39
mov byte [esp + 0xb2], 4
mov word [esp + 0xb0], 0xa
mov eax, dword [esp + 4]
mov ebp, dword [esp + 0x5c]
mov byte [esp + 0x15c], 2
mov byte [eax + 0x108], 1
movsd xmm0, qword [esp + 0x15c]
movsd xmm1, qword [esp + 0x164]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
movsd qword [esp + 0x1d2], xmm1
movsd qword [esp + 0x1ca], xmm0
movsd qword [ebp + 8], xmm1
movsd qword [ebp], xmm0
call fcn.004674e2
add esp, 0x328
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebp, ebx
mov byte [esp + 0x15c], 2
jmp 0x468c5a
lea ecx, [esp + 0x144]
call fcn.00463437
mov ecx, dword [esp + 0x54]
call fcn.004674c7
mov eax, dword [esp + 0x18]
mov bl, 0x17
lea ecx, [edi + 0x60]
mov byte [edi + 0xe0], bl
mov dword [edi + 0xe4], eax
mov eax, dword [esp + 0x1c]
mov dword [edi + 0xe8], eax
call fcn.00466c5b
lea ecx, [edi + 0x30]
mov esi, eax
call fcn.00466c5b
mov edx, dword [esp + 0x5c]
mov cl, byte [edi + 0xa6]
mov dword [edx + 4], esi
mov dword [edx + 8], eax
mov byte [edx + 0xc], cl
mov byte [edx], bl
jmp 0x468c95
movsd xmm0, qword [esp + 0x3c]
movsd xmm1, qword [esp + 0x44]
lea esi, [esp + 0x1dc]
lea edx, [esp + 0xb0]
mov ecx, esi
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
call fcn.00468e80
mov ecx, ebp
call fcn.004674c7
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
movsd qword [ebp + 8], xmm1
movsd qword [ebp], xmm0
movsd xmm0, qword [esp + 0x3c]
movsd xmm1, qword [esp + 0x44]
jmp 0x468c0e
mov edx, esi
push 0x4ed31c
call fcn.004c8850
pop eax
ud2
mov ecx, edi
mov edx, 0x4805
push 0x4e591c
jmp 0x468d62