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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffe0
sub esp, 0xc0
mov esi, esp
mov dword [esi + 0x90], ebp
mov dword [esi + 0x94], esp
mov dword [esi + 0xa8], 0xffffffff
mov dword [esi + 0xa4], 0x5fda8c
lea eax, [esi + 0x9c]
mov dword [esi + 0xa0], 0x5d16f0
mov ecx, dword fs:[0]
mov dword [esi + 0x9c], ecx
mov dword fs:[0], eax
mov eax, dword [0x606ddc]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x606de0], 0xa
setl cl
test cl, al
jne 0x45130f
xor cl, al
je 0x451913
push eax
mov ecx, esp
push eax
mov dword [esi + 0x38], esp
push eax
mov dword [esi + 0x74], esp
push eax
mov dword [esi + 0x70], esp
push eax
mov dword [esi + 0x6c], esp
push eax
mov dword [esi + 0x68], esp
push eax
mov dword [esi + 0x54], esp
push eax
mov dword [esi + 0x50], esp
push eax
mov dword [esi + 0x4c], esp
push eax
mov dword [esi + 0x48], esp
push eax
mov ebx, esp
sub esp, 0x30
mov edx, esp
sub esp, 0x10
mov edi, esp
push eax
mov dword [esi + 0x58], esp
sub esp, 0x44
mov dword [esi + 0x30], esp
sub esp, 0x60
mov eax, esp
and eax, 0xffffffe0
mov dword [esi + 0x7c], eax
mov esp, eax
push eax
mov dword [esi + 0x5c], esp
push eax
mov dword [esi + 0x40], esp
push eax
mov dword [esi + 0x78], esp
mov dword [esi + 0x44], esp
mov eax, dword [ebp + 0x2c]
mov dword [esi + 0x64], ecx
mov dword [ecx], eax
mov eax, dword [ebp + 0x28]
mov ecx, dword [esi + 0x38]
mov dword [ecx], eax
mov eax, dword [ebp + 0x24]
mov ecx, dword [esi + 0x74]
mov dword [ecx], eax
mov eax, dword [ebp + 0x20]
mov ecx, dword [esi + 0x70]
mov dword [ecx], eax
mov eax, dword [ebp + 0x1c]
mov ecx, dword [esi + 0x6c]
mov dword [ecx], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [esi + 0x68]
mov dword [ecx], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [esi + 0x54]
mov dword [ecx], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [esi + 0x50]
mov dword [ecx], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi + 0x4c]
mov dword [ecx], eax
vxorps xmm0, xmm0, xmm0
vmovups ymmword [edx + 0x10], ymm0
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 0x48]
mov dword [ecx], eax
mov dword [esi + 0x3c], edx
vmovups ymmword [edx], ymm0
vxorps xmm0, xmm0, xmm0
mov dword [esi + 0x34], edi
vmovups xmmword [edi], xmm0
mov eax, dword [0x606db4]
mov ecx, dword [0x606db8]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x22]
cmp ecx, 0xa
setl byte [esi + 0x23]
mov dword [esi + 0x60], ebx
mov byte [ebx], 0
mov edi, 0x55501630
jmp 0x451460
mov ecx, dword [0x606db4]
mov edx, dword [0x606db8]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete cl
cmp edx, 0xa
setl ch
xor ch, cl
mov ecx, 0xdd32eb74
mov eax, 0xb44e4b96
cmovne ecx, eax
cmp edi, 0xffffffff
mov edi, ecx
cmove edi, eax
cmp edx, 0xa
mov edx, dword [esi + 0x28]
mov edx, dword [edx]
mov dword [esi + 0x2c], edx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0xa8], 0xffffffff
cmovge edi, ecx
nop word [eax + eax]
cmp edi, 0xe78c609
jle 0x4514c0
cmp edi, 0x467878ba
jle 0x451500
cmp edi, 0x467878bb
je 0x451627
cmp edi, 0x65c40751
je 0x451405
cmp edi, 0x55501630
jne 0x451460
movzx ecx, byte [esi + 0x22]
movzx edx, byte [esi + 0x23]
mov ch, dl
xor ch, cl
test dl, dl
mov edi, 0x800c852e
mov edx, 0x2af6351e
cmovne edi, edx
test cl, cl
mov eax, 0x800c852e
cmove edi, eax
test ch, ch
cmovne edi, edx
jmp 0x451460
cmp edi, 0xf720062a
jg 0x451590
cmp edi, 0x800c852e
je 0x451631
cmp edi, 0xdd32eb74
jne 0x45163b
mov ecx, dword [esi + 0x28]
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0xa8], 0xffffffff
mov edi, 0x65c40751
jmp 0x451460
cmp edi, 0xe78c60a
je 0x4515bc
cmp edi, 0x2af6351e
jne 0x451460
push eax
mov ecx, esp
mov dword [esi + 0x24], ecx
push eax
mov ecx, esp
mov dword [esi + 0x28], ecx
push eax
mov ecx, esp
mov dword [esi + 0x1c], ecx
mov ecx, dword [esi + 0x24]
mov dword [ecx], 0x30
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x3c]
mov dword [ecx], edx
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0xa8], 0xffffffff
mov ecx, dword [esi + 0x28]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x1c]
mov dword [edx], ecx
mov ecx, dword [0x606db4]
mov edx, dword [0x606db8]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x800c852e
mov eax, 0x467878bb
jmp 0x4515ea
cmp edi, 0xf720062b
je 0x4515ff
cmp edi, 0xfba1ab35
jne 0x451460
mov ecx, dword [esi + 0x24]
cmp dword [ecx], 0
mov edi, 0xf720062b
mov ecx, 0xe78c60a
cmove edi, ecx
jmp 0x451460
mov ecx, dword [0x606db4]
mov edx, dword [0x606db8]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xdd32eb74
mov eax, 0x65c40751
cmovne ebx, eax
test ecx, edi
mov edi, ebx
cmove edi, eax
cmp edx, 0xa
cmovge edi, ebx
jmp 0x451460
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
mov byte [ecx], 0
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
inc ecx
mov edx, dword [esi + 0x1c]
mov dword [edx], ecx
mov ecx, dword [esi + 0x24]
mov ecx, dword [ecx]
dec ecx
mov edx, dword [esi + 0x24]
mov dword [edx], ecx
mov edi, 0xfba1ab35
jmp 0x451460
mov edi, 0xfba1ab35
jmp 0x451460
mov edi, 0x2af6351e
jmp 0x451460
cmp edi, 0xb44e4b96
jne 0x451460
mov eax, dword [esi + 0x2c]
mov dword [esi + 0xa8], 0xffffffff
mov esp, dword [esi + 0x44]
mov eax, dword [0x606db4]
mov ecx, dword [0x606db8]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x22]
cmp ecx, 0xa
setl byte [esi + 0x23]
mov ebx, 0x55501630
mov edx, 0x2af6351e
jmp 0x4516c0
mov eax, dword [0x606db4]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ebx, 0xdd32eb74
mov edi, 0x65c40751
cmove ebx, edi
cmp dword [0x606db8], 0xa
mov ecx, 0xdd32eb74
cmovge ebx, ecx
setl cl
xor cl, al
cmovne ebx, edi
cmp ebx, 0xe78c609
jle 0x451720
cmp ebx, 0x467878ba
jle 0x451760
cmp ebx, 0x467878bb
je 0x4518ad
cmp ebx, 0x65c40751
je 0x45182c
cmp ebx, 0x55501630
jne 0x4516c0
movzx ecx, byte [esi + 0x22]
movzx ebx, byte [esi + 0x23]
mov ch, bl
xor ch, cl
test bl, bl
mov ebx, 0x800c852e
cmovne ebx, edx
test cl, cl
mov eax, 0x800c852e
cmove ebx, eax
test ch, ch
cmovne ebx, edx
jmp 0x4516c0
cmp ebx, 0xf720062a
jg 0x451800
cmp ebx, 0x800c852e
je 0x4518b7
cmp ebx, 0xdd32eb74
jne 0x4518c1
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x1c]
mov dword [esi + 0xa8], 0xffffffff
mov ebx, 0x65c40751
jmp 0x4516c0
cmp ebx, 0xe78c60a
je 0x451687
cmp ebx, 0x2af6351e
jne 0x4516c0
push eax
mov ecx, esp
mov dword [esi + 0x24], ecx
push eax
mov ecx, esp
mov dword [esi + 0x28], ecx
push eax
mov ecx, esp
mov dword [esi + 0x1c], ecx
mov ecx, dword [esi + 0x24]
mov dword [ecx], 0x10
mov ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x34]
mov dword [ecx], eax
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0xa8], 0xffffffff
mov ecx, dword [esi + 0x28]
mov ecx, dword [ecx]
mov edi, dword [esi + 0x1c]
mov dword [edi], ecx
mov edi, dword [0x606db4]
mov ecx, dword [0x606db8]
lea ebx, [edi - 1]
imul ebx, edi
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x800c852e
mov edi, 0x467878bb
cmovne eax, edi
cmp ebx, 0xffffffff
mov ebx, eax
cmove ebx, edi
cmp ecx, 0xa
cmovge ebx, eax
jmp 0x4516c0
cmp ebx, 0xf720062b
je 0x451885
cmp ebx, 0xfba1ab35
jne 0x4516c0
mov eax, dword [esi + 0x24]
cmp dword [eax], 0
mov ebx, 0xf720062b
mov eax, 0xe78c60a
cmove ebx, eax
jmp 0x4516c0
mov eax, dword [0x606db4]
mov ecx, dword [0x606db8]
lea ebx, [eax + 1]
imul ebx, eax
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov edi, 0xdd32eb74
mov eax, 0xb44e4b96
cmovne edi, eax
cmp ebx, 0xffffffff
mov ebx, edi
cmove ebx, eax
cmp ecx, 0xa
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x1c]
mov dword [esi + 0xa8], 0xffffffff
cmovge ebx, edi
jmp 0x4516c0
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
inc eax
mov ecx, dword [esi + 0x1c]
mov dword [ecx], eax
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
dec eax
mov ecx, dword [esi + 0x24]
mov dword [ecx], eax
mov ebx, 0xfba1ab35
jmp 0x4516c0
mov ebx, 0xfba1ab35
jmp 0x4516c0
mov ebx, 0x2af6351e
jmp 0x4516c0
cmp ebx, 0xb44e4b96
jne 0x4516c0
mov eax, dword [esi + 0x2c]
mov dword [esi + 0xa8], 0xffffffff
mov esp, dword [esi + 0x44]
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
mov ecx, dword [0x606ddc]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x606de0], 0xa
setl dl
test dl, cl
jne 0x451e4d
xor dl, cl
jne 0x451e4d
push eax
sub esp, 0x2c
mov ecx, esp
sub esp, 0x10
mov eax, esp
push eax
vxorps xmm0, xmm0, xmm0
vmovups ymmword [ecx + 0x10], ymm0
mov dword [esi + 0x38], esp
mov dword [esi + 0x34], ecx
vmovups ymmword [ecx], ymm0
vxorps xmm0, xmm0, xmm0
mov dword [esi + 0x3c], eax
vmovups xmmword [eax], xmm0
mov eax, dword [0x606db4]
mov ecx, dword [0x606db8]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x22]
cmp ecx, 0xa
setl byte [esi + 0x23]
mov ebx, 0x55501630
mov ecx, 0x800c852e
mov edi, 0xb44e4b96
jmp 0x4519c0
mov edx, dword [esi + 0x28]
mov edx, dword [edx]
mov dword [esi + 0x2c], edx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0xa8], 0xffffffff
mov edx, dword [0x606db4]
lea ebx, [edx + 1]
imul ebx, edx
mov edx, ebx
xor edx, 0xfffffffe
test edx, ebx
sete dl
mov ebx, 0xdd32eb74
cmove ebx, edi
cmp dword [0x606db8], 0xa
mov eax, 0xdd32eb74
cmovge ebx, eax
setl dh
xor dh, dl
cmovne ebx, edi
nop dword [eax]
cmp ebx, 0xe78c609
jle 0x451a20
cmp ebx, 0x467878ba
jle 0x451a60
cmp ebx, 0x467878bb
je 0x451b89
cmp ebx, 0x65c40751
je 0x451972
cmp ebx, 0x55501630
jne 0x4519c0
movzx edx, byte [esi + 0x22]
movzx ebx, byte [esi + 0x23]
mov dh, bl
xor dh, dl
test bl, bl
mov ebx, 0x800c852e
mov eax, 0x2af6351e
cmovne ebx, eax
test dl, dl
cmove ebx, ecx
test dh, dh
cmovne ebx, eax
jmp 0x4519c0
cmp ebx, 0xf720062a
jg 0x451af0
cmp ebx, 0x800c852e
je 0x451b93
cmp ebx, 0xdd32eb74
jne 0x451b9d
mov edx, dword [esi + 0x28]
mov edx, dword [esi + 0x1c]
mov dword [esi + 0xa8], 0xffffffff
mov ebx, 0x65c40751
jmp 0x4519c0
cmp ebx, 0xe78c60a
je 0x451b1c
cmp ebx, 0x2af6351e
jne 0x4519c0
push eax
mov edx, esp
mov dword [esi + 0x24], edx
push eax
mov edx, esp
mov dword [esi + 0x28], edx
push eax
mov edx, esp
mov dword [esi + 0x1c], edx
mov edx, dword [esi + 0x24]
mov dword [edx], 0x30
mov edx, dword [esi + 0x28]
mov ebx, dword [esi + 0x34]
mov dword [edx], ebx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0xa8], 0xffffffff
mov edx, dword [esi + 0x28]
mov edx, dword [edx]
mov ebx, dword [esi + 0x1c]
mov dword [ebx], edx
mov edx, dword [0x606db4]
lea ebx, [edx + 1]
imul ebx, edx
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete dl
mov ebx, 0x800c852e
mov eax, 0x467878bb
cmove ebx, eax
cmp dword [0x606db8], 0xa
cmovge ebx, ecx
jmp 0x451b54
cmp ebx, 0xf720062b
je 0x451b61
cmp ebx, 0xfba1ab35
jne 0x4519c0
mov edx, dword [esi + 0x24]
cmp dword [edx], 0
mov ebx, 0xf720062b
mov edx, 0xe78c60a
cmove ebx, edx
jmp 0x4519c0
mov edx, dword [0x606db4]
lea ebx, [edx - 1]
imul ebx, edx
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete dl
mov ebx, 0xdd32eb74
mov eax, 0x65c40751
cmove ebx, eax
cmp dword [0x606db8], 0xa
mov ecx, 0xdd32eb74
cmovge ebx, ecx
mov ecx, 0x800c852e
setl dh
xor dh, dl
cmovne ebx, eax
jmp 0x4519c0
mov edx, dword [esi + 0x1c]
mov edx, dword [edx]
mov byte [edx], 0
mov edx, dword [esi + 0x1c]
mov edx, dword [edx]
inc edx
mov ebx, dword [esi + 0x1c]
mov dword [ebx], edx
mov edx, dword [esi + 0x24]
mov edx, dword [edx]
dec edx
mov ebx, dword [esi + 0x24]
mov dword [ebx], edx
mov ebx, 0xfba1ab35
jmp 0x4519c0
mov ebx, 0xfba1ab35
jmp 0x4519c0
mov ebx, 0x2af6351e
jmp 0x4519c0
cmp ebx, 0xb44e4b96
jne 0x4519c0
mov eax, dword [esi + 0x2c]
mov dword [esi + 0xa8], 0xffffffff
mov esp, dword [esi + 0x38]
mov dword [esi + 0x34], esp
mov eax, dword [0x606db4]
mov ecx, dword [0x606db8]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x22]
cmp ecx, 0xa
setl byte [esi + 0x23]
mov edx, 0x55501630
mov ebx, 0x65c40751
jmp 0x451c30
mov ecx, dword [0x606db4]
mov edi, dword [0x606db8]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete al
cmp edi, 0xa
setl ah
xor ah, al
mov eax, 0xdd32eb74
cmovne eax, ebx
test ecx, edx
mov edx, eax
cmove edx, ebx
cmp edi, 0xa
cmovge edx, eax
nop word cs:[eax + eax]
cmp edx, 0xe78c609
jle 0x451c90
cmp edx, 0x467878ba
jle 0x451cd0
cmp edx, 0x467878bb
je 0x451e18
cmp edx, 0x65c40751
je 0x451d9c
cmp edx, 0x55501630
jne 0x451c30
movzx ecx, byte [esi + 0x22]
movzx edx, byte [esi + 0x23]
mov ch, dl
xor ch, cl
test dl, dl
mov edx, 0x800c852e
mov edi, 0x2af6351e
cmovne edx, edi
test cl, cl
mov eax, 0x800c852e
cmove edx, eax
test ch, ch
cmovne edx, edi
jmp 0x451c30
cmp edx, 0xf720062a
jg 0x451d70
cmp edx, 0x800c852e
je 0x451e22
cmp edx, 0xdd32eb74
jne 0x451e2c
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x1c]
mov dword [esi + 0xa8], 0xffffffff
mov edx, 0x65c40751
jmp 0x451c30
cmp edx, 0xe78c60a
je 0x451beb
cmp edx, 0x2af6351e
jne 0x451c30
push eax
mov ecx, esp
mov dword [esi + 0x24], ecx
push eax
mov ecx, esp
mov dword [esi + 0x28], ecx
push eax
mov ecx, esp
mov dword [esi + 0x1c], ecx
mov ecx, dword [esi + 0x24]
mov dword [ecx], 0x10
mov ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x3c]
mov dword [ecx], eax
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0xa8], 0xffffffff
mov ecx, dword [esi + 0x28]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x1c]
mov dword [edx], ecx
mov ecx, dword [0x606db4]
mov edi, dword [0x606db8]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp edi, 0xa
setl ch
xor ch, cl
mov ecx, 0x800c852e
mov eax, 0x467878bb
cmovne ecx, eax
cmp edx, 0xffffffff
mov edx, ecx
cmove edx, eax
cmp edi, 0xa
cmovge edx, ecx
jmp 0x451c30
cmp edx, 0xf720062b
je 0x451df0
cmp edx, 0xfba1ab35
jne 0x451c30
mov ecx, dword [esi + 0x24]
cmp dword [ecx], 0
mov edx, 0xf720062b
mov eax, 0xe78c60a
cmove edx, eax
jmp 0x451c30
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x1c]
mov dword [esi + 0xa8], 0xffffffff
mov eax, dword [0x606db4]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edx, 0xdd32eb74
mov edi, 0xb44e4b96
cmove edx, edi
cmp dword [0x606db8], 0xa
mov ecx, 0xdd32eb74
cmovge edx, ecx
setl cl
xor cl, al
cmovne edx, edi
jmp 0x451c30
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
mov byte [ecx], 0
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
inc ecx
mov edx, dword [esi + 0x1c]
mov dword [edx], ecx
mov ecx, dword [esi + 0x24]
mov ecx, dword [ecx]
dec ecx
mov edx, dword [esi + 0x24]
mov dword [edx], ecx
mov edx, 0xfba1ab35
jmp 0x451c30
mov edx, 0xfba1ab35
jmp 0x451c30
mov edx, 0x2af6351e
jmp 0x451c30
cmp edx, 0xb44e4b96
jne 0x451c30
mov eax, dword [esi + 0x2c]
mov dword [esi + 0xa8], 0xffffffff
mov esp, dword [esi + 0x34]
jmp 0x45130f
test eax, eax
je 0x451e59
vxorps xmm0, xmm0, xmm0
vmovups xmmword [eax], xmm0
mov dword [esi + 0x44], esp
mov ecx, dword [esi + 0x3c]
mov dword [ecx + 0x20], 1
mov eax, dword [esi + 0x38]
movzx eax, word [eax]
mov word [ecx + 0x24], ax
vxorps xmm0, xmm0, xmm0
mov eax, dword [esi + 0x30]
vmovups ymmword [eax + 0x20], ymm0
vmovups ymmword [eax], ymm0
mov ecx, dword [esi + 0x58]
mov dword [ecx], 0
mov dword [eax + 0x40], 0
mov eax, dword [0x606db4]
mov ecx, dword [0x606db8]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x22]
cmp ecx, 0xa
setl byte [esi + 0x23]
mov ecx, 0x55501630
mov edx, 0x2af6351e
jmp 0x451f00
mov ecx, dword [0x606db4]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete bl
mov ecx, 0xdd32eb74
mov edi, 0x65c40751
cmove ecx, edi
cmp dword [0x606db8], 0xa
mov eax, 0xdd32eb74
cmovge ecx, eax
setl bh
xor bh, bl
cmovne ecx, edi
nop word [eax + eax]
cmp ecx, 0xe78c609
jle 0x451f60
cmp ecx, 0x467878ba
jle 0x451fa0
cmp ecx, 0x467878bb
je 0x4520cf
cmp ecx, 0x65c40751
je 0x45206c
cmp ecx, 0x55501630
jne 0x451f00
movzx ebx, byte [esi + 0x22]
movzx ecx, byte [esi + 0x23]
mov bh, bl
xor bh, cl
test cl, cl
mov ecx, 0x800c852e
cmovne ecx, edx
test bl, bl
mov eax, 0x800c852e
cmove ecx, eax
test bh, bh
cmovne ecx, edx
jmp 0x451f00
cmp ecx, 0xf720062a
jg 0x452040
cmp ecx, 0x800c852e
je 0x4520d9
cmp ecx, 0xdd32eb74
jne 0x4520e3
mov ecx, dword [esi + 0x28]
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0xa8], 0xffffffff
mov ecx, 0x65c40751
jmp 0x451f00
cmp ecx, 0xe78c60a
je 0x451ec0
cmp ecx, 0x2af6351e
jne 0x451f00
push eax
mov ecx, esp
mov dword [esi + 0x24], ecx
push eax
mov ecx, esp
mov dword [esi + 0x28], ecx
push eax
mov ecx, esp
mov dword [esi + 0x1c], ecx
mov ecx, dword [esi + 0x24]
mov dword [ecx], 0x44
mov ecx, dword [esi + 0x28]
mov edi, dword [esi + 0x30]
mov dword [ecx], edi
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0xa8], 0xffffffff
mov ecx, dword [esi + 0x28]
mov ecx, dword [ecx]
mov edi, dword [esi + 0x1c]
mov dword [edi], ecx
mov ebx, dword [0x606db4]
mov edi, dword [0x606db8]
lea ecx, [ebx + 1]
imul ecx, ebx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edi, 0xa
setl bh
xor bh, bl
mov ebx, 0x800c852e
mov eax, 0x467878bb
cmovne ebx, eax
cmp ecx, 0xffffffff
mov ecx, ebx
cmove ecx, eax
cmp edi, 0xa
cmovge ecx, ebx
jmp 0x451f00
cmp ecx, 0xf720062b
je 0x4520a7
cmp ecx, 0xfba1ab35
jne 0x451f00
mov ecx, dword [esi + 0x24]
cmp dword [ecx], 0
mov ecx, 0xf720062b
mov edi, 0xe78c60a
cmove ecx, edi
jmp 0x451f00
mov ecx, dword [esi + 0x28]
mov ecx, dword [ecx]
mov dword [esi + 0x2c], ecx
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0xa8], 0xffffffff
mov ecx, dword [0x606db4]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete bl
mov ecx, 0xdd32eb74
mov edi, 0xb44e4b96
jmp 0x451ee0
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
mov byte [ecx], 0
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
inc ecx
mov edi, dword [esi + 0x1c]
mov dword [edi], ecx
mov ecx, dword [esi + 0x24]
mov ecx, dword [ecx]
dec ecx
mov edi, dword [esi + 0x24]
mov dword [edi], ecx
mov ecx, 0xfba1ab35
jmp 0x451f00
mov ecx, 0xfba1ab35
jmp 0x451f00
mov ecx, 0x2af6351e
jmp 0x451f00
cmp ecx, 0xb44e4b96
jne 0x451f00
mov eax, dword [esi + 0x2c]
mov dword [esi + 0xa8], 0xffffffff
mov esp, dword [esi + 0x44]
mov eax, 0x8c106d5f
mov ecx, 0x2140a306
mov edx, dword [esi + 0x7c]
mov dword [edx + 4], ecx
mov dword [edx], eax
mov eax, 0x8e08d220
mov ecx, 0x7116f12b
mov dword [edx + 0xc], ecx
mov dword [edx + 8], eax
mov eax, 0x6db71e72
mov ecx, 0xdaa61c7b
mov dword [edx + 0x14], ecx
mov dword [edx + 0x10], eax
mov eax, 0x96d42258
mov ecx, 0xf96e5dd4
mov dword [edx + 0x1c], ecx
mov dword [edx + 0x18], eax
mov eax, 0x334b2075
mov ecx, 0x5a8abade
mov dword [edx + 0x24], ecx
mov dword [edx + 0x20], eax
mov eax, 0x9ae75d39
mov ecx, 0xbbefd77
mov dword [edx + 0x2c], ecx
mov dword [edx + 0x28], eax
mov eax, 0x3b009522
mov ecx, 0x37ae9cb
mov dword [edx + 0x34], ecx
mov dword [edx + 0x30], eax
mov eax, 0x8e1142f4
mov ecx, 0x3db3c06a
mov dword [edx + 0x3c], ecx
mov dword [edx + 0x38], eax
mov eax, 0xe19add27
mov ecx, 0xced07ade
mov dword [edx + 0x44], ecx
mov dword [edx + 0x40], eax
mov eax, 0xd917b8e
mov ecx, 0x47eeb68a
mov dword [edx + 0x4c], ecx
mov dword [edx + 0x48], eax
mov ecx, edx
vzeroupper
call fcn.00452440
push dword [esi + 0x58]
push eax
call fcn.004503f0
add esp, 8
test eax, eax
jne 0x4521ca
push dword [esi + 0x30]
call fcn.00450f70
add esp, 4
test eax, eax
je 0x452220
mov ecx, dword [0x606ddc]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x606de0], 0xa
setge cl
setl ch
xor ch, dl
jne 0x452202
or cl, al
test cl, 1
je 0x452202
nop word cs:[eax + eax]
jmp 0x452200
mov eax, dword [esi + 0x60]
cmp byte [eax], 0
setne al
mov ecx, dword [esi + 0x9c]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [0x606ddc]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x606de0], 0xa
setge cl
setl ah
xor ah, dl
jne 0x45226e
or cl, al
je 0x45226e
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x5c]
nop word cs:[eax + eax]
mov dword [ecx], 0
mov dword [eax], 0
jmp 0x452260
mov ecx, dword [esi + 0x5c]
mov dword [ecx], 0
mov eax, dword [esi + 0x40]
mov dword [eax], 0
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0x50]
mov eax, dword [eax]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x54]
mov eax, dword [eax]
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x68]
mov ebx, dword [eax]
mov eax, dword [esi + 0x6c]
mov edi, dword [eax]
mov eax, dword [esi + 0x70]
mov edx, dword [eax]
mov eax, dword [esi + 0x74]
mov eax, dword [eax]
mov dword [esi + 0xa8], 0
push ecx
push dword [esi + 0x34]
push eax
push edx
push dword [esi + 0x3c]
push edi
push ebx
push dword [esi + 0x54]
push dword [esi + 0x50]
push dword [esi + 0x4c]
push dword [esi + 0x48]
push dword [esi + 0x38]
push dword [esi + 0x30]
call fcn.00450390
add esp, 0x34
mov eax, dword [0x606ddc]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x606de0], 0xa
setl cl
test cl, al
jne 0x452322
xor cl, al
jne 0x452322
nop word cs:[eax + eax]
jmp 0x452320
push 0xffffffffffffffff
mov eax, dword [esi + 0x30]
push dword [eax + 0x24]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
jne 0x45233f
push 0xffffffffffffffff
call fcn.00431e40
add esp, 4
push dword [esi + 0x40]
push dword [esi + 0x30]
call fcn.004310b0
add esp, 8
test eax, eax
jne 0x4523c6
mov eax, dword [esi + 0x40]
cmp dword [eax], 0
jne 0x4523c6
mov eax, dword [0x606ddc]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne cl
cmp dword [0x606de0], 0xa
setge al
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
nop word cs:[eax + eax]
test al, al
je 0x452390
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
test eax, eax
je 0x4523b6
mov edx, dword [esi + 0x34]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [edx + 0xc]
mov dword [eax + 0xc], ecx
mov eax, dword [esi + 0x60]
mov byte [eax], 1
mov dword [esi + 0xa8], 0
push dword [esi + 0x30]
call fcn.00451220
add esp, 4
mov ecx, dword [0x606ddc]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x606de0], 0xa
mov dword [esi + 0xa8], 0xffffffff
setge cl
setl ch
xor ch, dl
jne 0x4521ca
or cl, al
test cl, 1
je 0x4521ca
nop dword [eax]
jmp 0x452410