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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x320
mov ebx, dword [ebp + 8]
cmp byte [edx + 1], 0
mov dword [esp + 0x58], ecx
mov dword [esp + 0xbc], edx
je 0x44f561
lea eax, [ebx + 0x26]
lea ecx, [esp + 0x210]
push 0x100
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x44f657
movdqa xmm0, xmmword [0x519b30]
movaps xmm1, xmmword [0x519b40]
movaps xmm2, xmmword [0x519b50]
movdqa xmmword [esp + 0x210], xmm0
movaps xmmword [esp + 0x220], xmm1
movaps xmm1, xmmword [0x519b60]
movaps xmmword [esp + 0x230], xmm2
movaps xmm2, xmmword [0x519b70]
movaps xmmword [esp + 0x240], xmm1
movaps xmm1, xmmword [0x519b80]
movaps xmmword [esp + 0x250], xmm2
movaps xmm2, xmmword [0x519b90]
movaps xmmword [esp + 0x260], xmm1
movaps xmm1, xmmword [0x519ba0]
movaps xmmword [esp + 0x270], xmm2
movaps xmm2, xmmword [0x519bb0]
movaps xmmword [esp + 0x280], xmm1
movaps xmm1, xmmword [0x519bc0]
movaps xmmword [esp + 0x290], xmm2
movaps xmm2, xmmword [0x519bd0]
movaps xmmword [esp + 0x2a0], xmm1
movaps xmm1, xmmword [0x519be0]
movaps xmmword [esp + 0x2b0], xmm2
movaps xmm2, xmmword [0x519bf0]
movaps xmmword [esp + 0x2c0], xmm1
movaps xmm1, xmmword [0x519c00]
movaps xmmword [esp + 0x2d0], xmm2
movdqa xmm2, xmmword [0x519c10]
movaps xmmword [esp + 0x2e0], xmm1
movdqa xmm1, xmmword [0x519c20]
movdqa xmmword [esp + 0x2f0], xmm2
movdqa xmmword [esp + 0x300], xmm1
movzx edi, byte [esp + 0x30f]
mov esi, dword [ebx + 0x20]
inc edi
imul edi, esi
test edi, edi
je 0x44f6d7
xor ecx, ecx
cmp edi, 0x20000000
setb al
jae 0x450f0d
mov cl, al
lea esi, [edi*4]
shl ecx, 2
test esi, esi
js 0x450f14
je 0x450345
mov eax, dword [0x56bbf8]
mov eax, dword [eax]
mov dword [esp + 4], ecx
test eax, eax
jne 0x44f6bd
call sub.kernel32.dll_GetProcessHeap
mov ecx, dword [esp + 4]
test eax, eax
je 0x45034f
mov ecx, dword [0x56bbf8]
mov dword [ecx], eax
push esi
push 8
push eax
call sub.kernel32.dll_HeapAlloc
mov ecx, dword [esp + 4]
test eax, eax
je 0x45034f
mov esi, dword [ebx + 0x20]
jmp 0x44f6dc
mov eax, 4
test esi, esi
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], edi
mov dword [esp + 0xd0], edi
je 0x44f79f
xor ebx, ebx
cmp esi, 0xaaaaaab
setb al
jae 0x450f1b
lea ecx, [esi*4]
mov bl, al
lea edi, [ecx + ecx*2]
shl ebx, 2
test edi, edi
js 0x450f1b
je 0x45035b
mov eax, dword [0x56bbf8]
mov eax, dword [eax]
test eax, eax
jne 0x44f747
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x450365
mov ecx, dword [0x56bbf8]
mov dword [ecx], eax
push edi
push 0
push eax
call sub.kernel32.dll_HeapAlloc
test eax, eax
je 0x450365
cmp esi, 2
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], esi
jb 0x44f781
lea ecx, [esi - 1]
pxor xmm0, xmm0
nop
mov dword [eax], 4
movq qword [eax + 4], xmm0
add eax, 0xc
dec ecx
jne 0x44f770
pxor xmm0, xmm0
mov dword [eax], 4
movq qword [eax + 4], xmm0
mov dword [esp + 0x84], esi
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0x20]
jmp 0x44f7b6
xor ecx, ecx
pxor xmm0, xmm0
mov dword [esp + 0x7c], 4
movq qword [esp + 0x80], xmm0
movzx eax, byte [ebx + 0x24]
movq xmm0, qword [ebx]
mov edi, dword [ebx + 8]
mov dword [esp + 4], ecx
mov byte [esp + 8], al
movzx eax, byte [ebx + 0x25]
movdqa xmmword [esp + 0x40], xmm0
mov byte [esp + 0xc], al
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x44f7f5
mov ecx, dword [ebx + 0x14]
mov ecx, dword [ecx + 0x24]
push eax
call ecx
add esp, 4
mov dword [esp + 0x18], edx
mov ebx, dword [ebp + 8]
mov esi, eax
jmp 0x44f7f7
xor esi, esi
lea eax, [esp + 0x10f]
lea ecx, [esp + 0x210]
push 0x100
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xd0]
movsd xmm0, qword [esp + 0xc8]
mov edx, dword [esp + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x84]
movsd qword [esp + 0xf4], xmm0
movsd xmm0, qword [esp + 0x7c]
mov dword [esp + 0x108], eax
movzx eax, byte [esp + 8]
movsd qword [esp + 0x100], xmm0
movdqa xmm0, xmmword [esp + 0x40]
mov byte [esp + 0x10c], al
movzx eax, byte [esp + 0xc]
mov byte [esp + 0x10d], al
mov eax, dword [esp + 0x18]
mov byte [esp + 0x10e], 0
movq qword [esp + 0xd4], xmm0
pxor xmm0, xmm0
mov dword [esp + 0xdc], edi
mov dword [esp + 0xe0], edx
movq qword [esp + 0xe4], xmm0
mov dword [esp + 0xec], esi
mov dword [esp + 0xf0], eax
mov eax, dword [ebx + 0x20]
test eax, eax
mov dword [esp + 0x50], eax
je 0x450397
movzx eax, byte [esp + 0x210]
movzx ecx, byte [esp + 0x30f]
xor ebx, ebx
mov byte [esp + 0x30], al
mov byte [esp + 0x38], cl
jmp 0x44f8ef
mov ebx, dword [esp + 0x54]
inc ebx
cmp ebx, dword [esp + 0x50]
je 0x450382
mov edi, dword [esp + 0x108]
mov dword [esp + 0x24], ebx
cmp ebx, edi
jae 0x450e4c
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x20]
cmp ebx, edi
jae 0x450e53
mov eax, dword [eax + 0x18]
lea esi, [ebx + ebx*8]
mov ecx, dword [esp + 0x100]
lea edx, [ebx + ebx*2]
mov dword [esp + 0x54], ebx
mov edi, dword [eax + esi*4 + 0x14]
lea ebx, [ecx + edx*4]
mov esi, dword [eax + esi*4 + 0x1c]
mov eax, dword [ebx + 4]
mov dword [esp + 4], edi
mov edi, dword [ecx + edx*4 + 8]
sub eax, edi
cmp eax, esi
jae 0x44f950
mov edx, edi
mov ecx, ebx
push esi
call fcn.0045a160
add esp, 4
mov edi, dword [ebx + 8]
lea ecx, [edi*8]
lea eax, [esi*8]
add ecx, dword [ebx]
push eax
push dword [esp + 8]
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add edi, esi
mov dword [ebx + 8], edi
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x24]
mov edi, dword [ecx + 0x20]
cmp eax, edi
jae 0x450e5a
mov esi, dword [ecx + 0x18]
lea edx, [eax + eax*8]
mov esi, dword [esi + edx*4 + 0x10]
mov dword [esp + 0x34], esi
mov edi, dword [ecx + 0x20]
cmp eax, edi
jae 0x450e63
mov ecx, dword [ecx + 0x18]
lea esi, [ebp + 8]
lea edi, [esp + 0xd4]
lea ebx, [esp + 0x24]
cmp byte [esp + 0x38], 0xff
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], edi
lea edi, [esp + 0x34]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], edi
lea eax, [ecx + edx*4]
mov ecx, dword [ecx + edx*4]
je 0x44fbc0
test ecx, ecx
je 0x44fd20
mov ecx, dword [eax + 4]
mov edi, dword [eax + 0xc]
movzx eax, byte [esp + 0x20e]
mov esi, dword [esp + 0xfc]
xor ebx, ebx
xor edx, edx
inc eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], esi
mov dword [esp + 4], edi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x20], eax
test dl, 1
jne 0x44fa30
cmp ebx, 0xff
ja 0x44f8e0
movzx eax, byte [esp + ebx + 0x210]
mov edx, ebx
inc ebx
jmp 0x44fa64
cmp ebx, 0x101
mov edx, 0x100
cmovae edx, ebx
nop
cmp edx, ebx
je 0x44f8e0
movzx eax, byte [esp + ebx + 0x210]
inc ebx
cmp cl, al
je 0x44fa40
lea edx, [ebx - 1]
cmp edx, 0xff
ja 0x44f8e0
cmp edi, edx
jbe 0x450e36
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx + edx*4]
test esi, esi
je 0x44fa80
mov ecx, dword [esp + 0x24]
jmp 0x44fb7e
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
cmp ecx, esi
mov dword [esp + 0xc], esi
jae 0x44fad0
movzx esi, byte [esp + 0x20e]
inc esi
imul esi, ecx
movzx ecx, byte [esp + edx + 0x10f]
add ecx, esi
mov esi, dword [esp + 0xfc]
cmp ecx, esi
jae 0x450ead
mov esi, dword [esp + 0xf4]
mov esi, dword [esi + ecx*4]
jmp 0x44fb7a
mov esi, dword [ebp + 8]
mov edi, dword [esi + 0x18]
mov esi, dword [esi + 0x20]
mov dword [esp + 0x40], edi
mov dword [esp + 0x18], esi
jmp 0x44fb10
mov esi, dword [edi]
test esi, esi
jne 0x44fb76
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 8]
mov edi, dword [esp + 4]
mov ecx, dword [ecx + esi*4 + 0x10]
cmp ecx, dword [esp + 0xc]
jb 0x44fa90
cmp ecx, dword [esp + 0x18]
jae 0x450e13
lea edi, [ecx + ecx*8]
mov ecx, dword [esp + 0x40]
mov dword [esp + 8], edi
cmp dword [ecx + edi*4], 0
lea esi, [ecx + edi*4]
je 0x44fb50
mov ecx, dword [esi + 0xc]
cmp ecx, edx
jbe 0x450e20
lea edi, [edx*4]
add edi, dword [esi + 4]
jmp 0x44faf0
mov ecx, dword [esi + 4]
mov esi, dword [esi + 0xc]
add ecx, 0xfffffffc
shl esi, 3
nop dword [eax]
test esi, esi
je 0x44fafa
add esi, 0xfffffff8
cmp byte [ecx + 4], dl
lea edi, [ecx + 8]
mov ecx, edi
jne 0x44fb60
jmp 0x44faf0
mov edi, dword [esp + 4]
mov ecx, dword [esp + 0xc]
imul ecx, dword [esp + 0x1c]
mov dword [esp + 0xc], ecx
movzx ecx, byte [esp + edx + 0x10f]
add ecx, dword [esp + 0xc]
cmp ecx, dword [esp + 0x10]
jae 0x450e3f
mov edx, dword [esp + 0x20]
mov dword [edx + ecx*4], esi
mov dl, 1
mov ecx, eax
test dl, 1
je 0x44fa16
jmp 0x44fa30
test ecx, ecx
je 0x44ff42
movzx esi, byte [esp + 0x20e]
mov ecx, dword [eax + 4]
mov edi, dword [eax + 0xc]
mov eax, dword [esp + 0xf4]
mov edx, dword [esp + 0xfc]
xor ebx, ebx
inc esi
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], edx
mov dword [esp + 4], edi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], esi
nop dword [eax + eax]
cmp edi, ebx
jbe 0x450dff
mov edx, dword [ecx + ebx*4]
test edx, edx
je 0x44fc20
mov ecx, dword [esp + 0x24]
mov eax, esi
jmp 0x44fc6b
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
cmp ecx, eax
mov dword [esp + 0x40], eax
jae 0x44fca1
movzx edx, byte [esp + 0x20e]
movzx eax, byte [esp + ebx + 0x10f]
inc edx
imul edx, ecx
mov ecx, dword [esp + 0xfc]
add eax, edx
cmp eax, ecx
jae 0x450e2b
mov ecx, dword [esp + 0xf4]
mov edx, dword [ecx + eax*4]
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x40]
mov esi, eax
imul ecx, eax
movzx eax, byte [esp + ebx + 0x10f]
add eax, ecx
cmp eax, dword [esp + 0xc]
jae 0x450e06
mov ecx, dword [esp + 0x14]
inc ebx
cmp ebx, 0x100
mov dword [ecx + eax*4], edx
mov ecx, dword [esp + 0x18]
jne 0x44fc00
jmp 0x44f8e0
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x18]
mov eax, dword [eax + 0x20]
mov dword [esp + 8], eax
jmp 0x44fcd9
mov eax, dword [edx + 0xc]
cmp eax, ebx
jbe 0x450dea
lea esi, [ebx*4]
add esi, dword [edx + 4]
mov edx, dword [esi]
test edx, edx
jne 0x44fc5f
mov ecx, dword [edi + ecx*4 + 0x10]
cmp ecx, dword [esp + 0x40]
jb 0x44fc30
cmp ecx, dword [esp + 8]
jae 0x450daa
lea ecx, [ecx + ecx*8]
cmp dword [edi + ecx*4], 0
lea edx, [edi + ecx*4]
jne 0x44fcb0
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
add eax, 0xfffffffc
shl edx, 3
nop dword [eax + eax]
test edx, edx
je 0x44fccb
add edx, 0xfffffff8
cmp byte [eax + 4], bl
lea esi, [eax + 8]
mov eax, esi
jne 0x44fd00
jmp 0x44fcc5
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x450142
mov esi, dword [eax + 4]
xor edx, edx
lea eax, [esi + ecx*8]
mov dword [esp + 0x3c], eax
xor eax, eax
jmp 0x44fd6d
mov byte [esp + 4], dl
lea ecx, [esp + 0x6c]
mov edx, edi
push dword [esp + 0x28]
call fcn.00450fa0
add esp, 4
movzx ecx, byte [esp + 4]
add esi, 8
lea edx, [ebx + 1]
mov al, 1
cmp esi, dword [esp + 0x3c]
je 0x4502cf
movzx edi, byte [esi]
mov ebx, dword [esi + 4]
cmp dx, di
mov dword [esp + 0x28], ebx
jae 0x44ff00
movzx ebx, byte [esp + 0x20e]
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0xf4]
inc dword [esp + 0x1c]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0xfc]
mov dword [esp + 0x20], ebx
jmp 0x44fdf3
mov eax, dword [esp + 8]
mov edi, dword [esp + 0x20]
movzx esi, byte [esp + eax + 0x10f]
mov eax, dword [esp + 0x1c]
imul eax, dword [esp + 0x40]
add eax, esi
cmp eax, edi
jae 0x450dba
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov dword [ecx + eax*4], ebx
movzx ecx, byte [esp + 0xc]
inc edx
mov al, 1
cmp dx, di
je 0x44ff20
movzx ebx, dl
cmp al, 1
mov ch, byte [esp + ebx + 0x210]
mov dword [esp + 8], ebx
jne 0x44fe09
cmp cl, ch
je 0x44fde7
mov byte [esp + 0xc], ch
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
cmp ecx, eax
mov dword [esp + 0x40], eax
jae 0x44fe70
mov esi, dword [esp + 8]
movzx eax, byte [esp + 0x20e]
mov edi, dword [esp + 0xfc]
movzx esi, byte [esp + esi + 0x10f]
inc eax
imul ecx, eax
add ecx, esi
cmp ecx, edi
jae 0x450dc6
mov dword [esp + 4], edi
mov edi, dword [esp + 0xf4]
mov ebx, dword [edi + ecx*4]
mov edi, dword [esp + 4]
imul eax, dword [esp + 0x40]
add eax, esi
cmp eax, edi
jb 0x44fdd3
jmp 0x450dba
mov esi, dword [ebp + 8]
mov edi, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
mov dword [esp + 4], edi
jmp 0x44feb5
mov esi, dword [ebx + 0xc]
mov edi, dword [esp + 8]
cmp esi, edi
jbe 0x450374
lea edi, [edi*4]
add edi, dword [ebx + 4]
mov ebx, dword [edi]
test ebx, ebx
jne 0x44fdb0
mov ecx, dword [eax + ecx*4 + 0x10]
mov edi, dword [esp + 4]
cmp ecx, dword [esp + 0x40]
jb 0x44fe1d
cmp ecx, edi
jae 0x450339
lea ecx, [ecx + ecx*8]
cmp dword [eax + ecx*4], 0
lea ebx, [eax + ecx*4]
jne 0x44fe80
mov esi, dword [ebx + 4]
mov ebx, dword [ebx + 0xc]
add esi, 0xfffffffc
shl ebx, 3
nop word cs:[eax + eax]
nop
test ebx, ebx
je 0x44fea3
add ebx, 0xfffffff8
cmp byte [esi + 4], dl
lea edi, [esi + 8]
mov esi, edi
jne 0x44fee0
jmp 0x44fe99
mov ebx, edx
movzx edx, di
cmp al, 1
movzx edx, byte [esp + edx + 0x210]
je 0x44ff35
jmp 0x44fd40
mov ebx, edi
movzx edx, di
cmp al, 1
movzx edx, byte [esp + edx + 0x210]
jne 0x44fd40
cmp cl, dl
je 0x44fd5b
jmp 0x44fd40
mov esi, dword [eax + 4]
mov eax, dword [eax + 0xc]
lea ecx, [ebp + 8]
lea edx, [esp + 0xd4]
lea edi, [esp + 0x24]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], edx
lea edx, [esp + 0x34]
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], edx
test eax, eax
je 0x450169
lea edi, [esi + eax*8]
xor ebx, ebx
mov dword [esp + 0x28], edi
nop word [eax + eax]
movzx edx, byte [esi]
mov eax, dword [esi + 4]
cmp bx, dx
jae 0x450116
mov dword [esp + 0x20], eax
movzx eax, byte [esp + 0x20e]
mov dword [esp + 0x1c], esi
mov ecx, dword [esp + 0xf4]
mov esi, dword [esp + 0xfc]
mov dword [esp + 0xc], edx
inc eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
nop
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
cmp ecx, eax
mov dword [esp + 0x40], eax
jae 0x44fff0
movzx edx, bl
jmp 0x450094
mov edx, dword [ebp + 8]
mov edi, dword [edx + 0x20]
mov eax, dword [edx + 0x18]
movzx edx, bl
mov dword [esp + 8], edx
mov dword [esp + 4], edi
jmp 0x450028
mov esi, dword [edx]
test esi, esi
jne 0x4500d0
mov ecx, dword [eax + ecx*4 + 0x10]
mov edi, dword [esp + 4]
cmp ecx, dword [esp + 0x40]
jb 0x450090
cmp ecx, edi
jae 0x450339
lea ecx, [ecx + ecx*8]
cmp dword [eax + ecx*4], 0
lea esi, [eax + ecx*4]
je 0x450060
mov edx, dword [esi + 0xc]
mov edi, dword [esp + 8]
cmp edx, edi
jbe 0x450868
lea edx, [edi*4]
add edx, dword [esi + 4]
jmp 0x450010
mov edi, dword [esi + 4]
mov esi, dword [esi + 0xc]
add edi, 0xfffffffc
shl esi, 3
nop dword [eax]
test esi, esi
je 0x45001a
add esi, 0xfffffff8
cmp byte [edi + 4], bl
lea edx, [edi + 8]
mov edi, edx
jne 0x450070
jmp 0x450010
mov edx, dword [esp + 8]
movzx eax, byte [esp + 0x20e]
movzx edx, byte [esp + edx + 0x10f]
mov edi, dword [esp + 0xfc]
inc eax
imul ecx, eax
add ecx, edx
cmp ecx, edi
jae 0x450dc6
mov edx, dword [esp + 0xf4]
mov esi, dword [edx + ecx*4]
movzx ecx, bl
jmp 0x4500dc
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x10f]
imul eax, dword [esp + 0x40]
add eax, ecx
cmp eax, edi
jae 0x450dba
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
inc ebx
cmp bx, dx
mov dword [ecx + eax*4], esi
jne 0x44ffd0
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov ebx, edx
lea ecx, [esp + 0x88]
push eax
call fcn.00450fa0
add esp, 4
add esi, 8
inc ebx
cmp esi, edi
jne 0x44ff90
movzx eax, bx
cmp eax, 0xff
ja 0x44f8e0
jmp 0x45016b
movzx eax, byte [esp + 0x30]
mov bx, 1
xor edx, edx
mov byte [esp + 4], al
lea ecx, [esp + 0x6c]
push 0
call fcn.00450fa0
add esp, 4
movzx ecx, byte [esp + 4]
jmp 0x450301
xor ebx, ebx
movzx eax, byte [esp + 0x20e]
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0xfc]
inc eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
nop
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
cmp ecx, eax
mov dword [esp + 0x40], eax
jae 0x4501b0
movzx edx, bl
jmp 0x450254
mov edx, dword [ebp + 8]
mov edi, dword [edx + 0x20]
mov eax, dword [edx + 0x18]
movzx edx, bl
mov dword [esp + 8], edx
mov dword [esp + 4], edi
jmp 0x4501e8
mov edx, dword [edi]
test edx, edx
jne 0x450290
mov ecx, dword [eax + ecx*4 + 0x10]
mov edi, dword [esp + 4]
cmp ecx, dword [esp + 0x40]
jb 0x450250
cmp ecx, edi
jae 0x450339
lea ecx, [ecx + ecx*8]
cmp dword [eax + ecx*4], 0
lea edx, [eax + ecx*4]
je 0x450220
mov esi, dword [edx + 0xc]
mov edi, dword [esp + 8]
cmp esi, edi
jbe 0x450374
lea edi, [edi*4]
add edi, dword [edx + 4]
jmp 0x4501d0
mov esi, dword [edx + 4]
mov edx, dword [edx + 0xc]
add esi, 0xfffffffc
shl edx, 3
nop dword [eax]
test edx, edx
je 0x4501da
add edx, 0xfffffff8
cmp byte [esi + 4], bl
lea edi, [esi + 8]
mov esi, edi
jne 0x450230
jmp 0x4501d0
mov edx, dword [esp + 8]
movzx eax, byte [esp + 0x20e]
movzx edx, byte [esp + edx + 0x10f]
mov edi, dword [esp + 0xfc]
inc eax
imul ecx, eax
add ecx, edx
cmp ecx, edi
jae 0x450dc6
mov edx, dword [esp + 0xf4]
mov edx, dword [edx + ecx*4]
movzx ecx, bl
jmp 0x45029c
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x10f]
imul eax, dword [esp + 0x40]
add eax, ecx
cmp eax, edi
jae 0x450dba
mov ecx, dword [esp + 0xc]
inc ebx
mov dword [ecx + eax*4], edx
movzx ecx, bx
cmp ecx, 0x100
jne 0x450190
jmp 0x44f8e0
movzx eax, dx
cmp eax, 0xff
ja 0x44f8e0
movzx eax, byte [esp + eax + 0x210]
add ebx, 2
cmp cl, al
je 0x450301
jmp 0x45014d
inc ebx
movzx eax, bx
cmp eax, 0x100
je 0x44f8e0
movzx eax, bl
movzx eax, byte [esp + eax + 0x210]
cmp cl, al
je 0x450300
lea ecx, [esp + 0x6c]
mov edx, ebx
push 0
mov byte [esp + 8], al
call fcn.00450fa0
add esp, 4
movzx ecx, byte [esp + 4]
jmp 0x450300
mov eax, 0x51a3c4
mov ebx, ecx
jmp 0x450e7b
mov eax, ecx
test eax, eax
jne 0x44f6d2
push ecx
push esi
call fcn.004085f0
add esp, 8
ud2
mov eax, ebx
test eax, eax
jne 0x44f758
push ebx
push edi
call fcn.004085f0
add esp, 8
jmp 0x450f40
mov eax, 0x51a4f0
mov ebx, edi
mov edi, esi
jmp 0x450e7b
cmp byte [esp + 0x10e], 0
jne 0x450f29
mov edx, dword [esp + 0xe0]
cmp edx, 2
jb 0x450933
mov esi, dword [esp + 0xd4]
cmp esi, edx
mov ecx, esi
jae 0x4503e7
mov edi, dword [esp + 0x108]
mov eax, dword [esp + 0x100]
lea ecx, [esi + esi*2]
mov ebx, esi
cmp edi, esi
lea eax, [eax + ecx*4 + 8]
mov ecx, esi
cmova ebx, edi
nop dword [eax + eax]
cmp ebx, ecx
je 0x450e76
cmp dword [eax], 0
je 0x4503e7
inc ecx
add eax, 0xc
cmp edx, ecx
jne 0x4503d0
mov ecx, edx
xor ebx, ebx
cmp edx, 0x20000000
mov dword [esp + 0x98], esi
setb al
jae 0x450f22
mov bl, al
lea esi, [edx*4]
shl ebx, 2
test esi, esi
js 0x450f22
mov dword [esp + 4], edx
mov dword [esp + 0x1c], ecx
je 0x45084f
mov edi, dword [0x56bbf8]
mov eax, dword [edi]
test eax, eax
jne 0x45043c
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x450859
mov dword [edi], eax
push esi
push 8
push eax
call sub.kernel32.dll_HeapAlloc
mov ecx, dword [esp + 0x1c]
test eax, eax
je 0x450859
mov edx, dword [esp + 4]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x40], eax
lea edi, [edx - 1]
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], edx
cmp edi, ecx
jbe 0x450839
movzx ecx, byte [esp + 0x20e]
mov ebx, edi
mov esi, dword [esp + 0x108]
lea eax, [ecx + 1]
mov dword [esp + 0x30], ecx
not ecx
mov dword [esp + 0x5c], esi
imul ebx, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0xc0], ecx
mov eax, ebx
lea edx, [ebx*4]
mov dword [esp + 0x68], ebx
neg eax
mov dword [esp + 0xa8], edx
lea edx, [ecx*4]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x64], edx
lea edx, [ebx*4 + 4]
mov dword [esp + 0x9c], edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x30]
lea edx, [eax*4 + 4]
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa4], edx
lea edx, [eax + 4]
mov dword [esp + 0xa0], edx
lea edx, [eax + ebx*4]
mov eax, dword [esp + 0x3c]
add eax, 0x14
mov dword [esp + 0xb8], eax
xor eax, eax
jmp 0x450561
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0xc0]
mov ebx, dword [esp + 0x54]
dec edi
add dword [esp + 0x60], edx
mov edx, dword [esp + 0x50]
inc eax
add ebx, ecx
add edx, dword [esp + 0x64]
cmp edi, dword [esp + 0x1c]
jbe 0x450876
mov dword [esp + 0x50], edx
mov edx, eax
mov eax, dword [esp + 8]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x28], edx
cmp eax, ebx
cmova ebx, eax
imul edx, ecx
add edx, dword [esp + 0x68]
cmp eax, edx
mov ecx, edx
cmova ecx, eax
cmova edx, eax
cmp edi, esi
mov dword [esp + 0x20], ecx
jae 0x450e6c
mov ecx, dword [esp + 0x3c]
lea esi, [edi + edi*2]
mov dword [esp + 0xc4], esi
cmp dword [ecx + esi*4 + 8], 0
je 0x450530
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
mov ecx, eax
imul esi, eax
mov eax, dword [esp + 8]
imul ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
sub ecx, dword [esp + 0x68]
mov dword [esp + 0x2c], ecx
add dword [esp + 0x20], ecx
xor ecx, ecx
sub dword [esp + 0x10], esi
mov ebx, dword [esp + 0x10]
cmovb ebx, ecx
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x20]
cmp ebx, dword [esp + 0x10]
cmovae ebx, dword [esp + 0x10]
cmp ebx, dword [esp + 0x30]
cmovae ebx, dword [esp + 0x30]
cmp ebx, 0xf
mov dword [esp + 0x20], ebx
jbe 0x450711
mov ebx, dword [esp + 0x64]
mov ecx, dword [esp + 0xa8]
add edx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x28]
add ecx, ebx
mov dword [esp + 0xb0], ebx
mov ebx, eax
add ecx, dword [esp + 0xc]
mov dword [esp + 0xb4], ecx
xor ecx, ecx
sub ebx, esi
cmovb ebx, ecx
cmp edx, ebx
cmovb ebx, edx
mov edx, dword [esp + 0x30]
cmp ebx, edx
cmovae ebx, edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0xac], ebx
imul edx, dword [esp + 0x1c]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x2c]
lea edx, [edx + ebx*4]
mov ebx, dword [esp + 0x2c]
add edx, dword [esp + 0xa0]
cmp dword [esp + 0xb4], edx
mov edx, dword [esp + 0xc]
lea edx, [edx + ebx]
jae 0x4506a8
mov ebx, dword [esp + 0xb0]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0xac]
add ebx, dword [esp + 0x9c]
add ebx, dword [esp + 0xc]
lea ebx, [ebx + edx*4]
mov edx, dword [esp + 0x2c]
cmp edx, ebx
jb 0x450711
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x14]
mov ecx, 4
inc ebx
add esi, dword [esp + 0x60]
mov dword [esp + 0x20], ebx
and ebx, 3
cmove ebx, ecx
mov ecx, dword [esp + 0x20]
sub ecx, ebx
cmp esi, dword [esp + 0x10]
cmovae esi, dword [esp + 0x10]
cmp esi, dword [esp + 0x30]
cmovae esi, dword [esp + 0x30]
sub esi, ebx
xor ebx, ebx
inc esi
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x50]
nop dword [eax]
movdqu xmm0, xmmword [esi + ebx*4]
movdqu xmm1, xmmword [edx + ebx*4]
movdqu xmmword [esi + ebx*4], xmm1
movdqu xmmword [edx + ebx*4], xmm0
add ebx, 4
cmp dword [esp + 0x14], ebx
jne 0x4506f0
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0xc4]
add esi, ecx
mov dword [esp + 0x18], edi
lea edx, [edx + ebx*4]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
sub ebx, ecx
add ecx, dword [esp + 0x54]
nop word cs:[eax + eax]
nop dword [eax]
mov edx, 0x51a23c
cmp ecx, eax
jae 0x450dd2
cmp esi, eax
jae 0x450dd6
mov edi, dword [esp + 0xc]
mov edx, dword [edi + ecx*4]
mov eax, dword [edi + esi*4]
mov dword [edi + ecx*4], eax
mov dword [edi + esi*4], edx
mov eax, dword [esp + 8]
mov edi, dword [esp + 0x18]
inc esi
inc ecx
dec ebx
jne 0x450740
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x5c]
cmp esi, ecx
jbe 0x450e8b
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x3c]
lea edx, [ecx + ecx*2]
mov eax, dword [ebx + 8]
mov dword [esp + 0x90], eax
movsd xmm0, qword [ebx]
movsd qword [esp + 0x88], xmm0
mov eax, dword [esi + edx*4 + 8]
movsd xmm0, qword [esi + edx*4]
mov dword [ebx + 8], eax
movsd qword [ebx], xmm0
mov eax, dword [esp + 0x90]
mov dword [esi + edx*4 + 8], eax
mov eax, dword [esp + 4]
movq xmm0, qword [esp + 0x88]
cmp edi, eax
movq qword [esi + edx*4], xmm0
jae 0x450e97
mov esi, dword [esp + 0x40]
cmp ecx, eax
mov dword [esi + edi*4], ecx
jae 0x450ea1
mov dword [esi + ecx*4], edi
mov esi, dword [esp + 0xb8]
inc ecx
cmp edi, ecx
mov eax, ecx
cmova eax, edi
lea edx, [esi + edx*4]
mov esi, dword [esp + 0x5c]
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp ecx, edi
jae 0x450830
cmp esi, ecx
je 0x450df6
inc ecx
cmp dword [edx], 0
lea edx, [edx + 0xc]
jne 0x450810
dec ecx
mov dword [esp + 0x1c], ecx
jmp 0x450534
mov dword [esp + 0x1c], eax
jmp 0x450534
movzx edx, byte [esp + 0x20e]
mov eax, dword [esp + 0xfc]
inc edx
mov dword [esp + 8], eax
jmp 0x45087a
mov eax, ebx
test eax, eax
jne 0x450451
push ebx
push esi
call fcn.004085f0
add esp, 8
jmp 0x450f40
mov ebx, edi
mov eax, 0x51a4f0
mov edi, edx
jmp 0x450e7b
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0xf4]
lea ecx, [edx*4]
xor esi, esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0xc], eax
jmp 0x4508a6
cmp esi, dword [esp + 4]
je 0x4508f3
mov eax, esi
imul eax, edx
mov edi, eax
add edi, edx
jb 0x450ec3
cmp edi, dword [esp + 8]
ja 0x450ed4
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x18]
inc esi
lea eax, [ecx + eax*4]
jmp 0x4508d8
add eax, 4
add ebx, 0xfffffffc
je 0x4508a0
mov edi, dword [eax]
cmp edi, dword [esp + 4]
jae 0x450af3
mov ecx, dword [esp + 0x40]
mov edi, dword [ecx + edi*4]
test edi, edi
je 0x4508d0
mov dword [eax], edi
jmp 0x4508d0
mov eax, dword [esp + 4]
mov edi, dword [esp + 0x98]
mov ecx, dword [esp + 0x1c]
cmp edi, eax
jae 0x450eb9
mov edx, dword [esp + 0x40]
mov eax, dword [edx + edi*4]
test eax, eax
je 0x45091c
mov dword [esp + 0xd4], eax
mov eax, dword [0x56bbf8]
dec ecx
mov dword [esp + 0xe4], ecx
push edx
push 0
push dword [eax]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x108]
lea ecx, [eax*4]
test eax, eax
lea esi, [ecx + ecx*2]
mov ecx, dword [esp + 0xfc]
lea edi, [esi + ecx*4]
je 0x450a2d
mov ecx, dword [esp + 0x100]
lea eax, [eax + eax*2]
lea eax, [eax*4 - 0xc]
cmp eax, 0x60
jae 0x450973
mov eax, ecx
jmp 0x450a13
mov edx, 0xaaaaaaab
mov ebx, 8
movd xmm1, edi
lea edi, [ecx + 0x5c]
pxor xmm0, xmm0
mul edx
shr edx, 3
inc edx
mov eax, edx
and eax, 7
cmovne ebx, eax
sub edx, ebx
lea eax, [edx + edx*2]
lea eax, [ecx + eax*4]
nop
movd xmm4, dword [edi - 0x48]
movd xmm7, dword [edi - 0x54]
movd xmm5, dword [edi]
movd xmm2, dword [edi - 0x30]
movd xmm3, dword [edi - 0x3c]
movd xmm6, dword [edi - 0x18]
punpckldq xmm7, xmm4
movd xmm4, dword [edi - 0xc]
punpckldq xmm3, xmm2
punpcklqdq xmm7, xmm3
pslld xmm7, 3
paddd xmm1, xmm7
punpckldq xmm4, xmm5
movd xmm5, dword [edi - 0x24]
add edi, 0x60
add edx, 0xfffffff8
punpckldq xmm5, xmm6
punpcklqdq xmm5, xmm4
pslld xmm5, 3
paddd xmm0, xmm5
jne 0x4509a0
paddd xmm0, xmm1
pshufd xmm1, xmm0, 0xee
paddd xmm1, xmm0
pshufd xmm0, xmm1, 0x55
paddd xmm0, xmm1
movd edi, xmm0
add ecx, esi
nop word cs:[eax + eax]
nop
mov edx, dword [eax + 8]
add eax, 0xc
cmp eax, ecx
lea edi, [edi + edx*8]
jne 0x450a20
mov eax, dword [esp + 0xec]
test eax, eax
je 0x450a4a
mov ecx, dword [esp + 0xf0]
mov ecx, dword [ecx + 0x28]
push eax
call ecx
add esp, 4
jmp 0x450a4c
xor eax, eax
mov ecx, dword [esp + 0xbc]
add eax, edi
mov dword [esp + 0xe8], eax
cmp byte [ecx], 0
je 0x450ac4
cmp byte [esp + 0x10e], 0
jne 0x450d73
mov edi, dword [esp + 0xe0]
cmp edi, 2
jb 0x450d73
movzx eax, byte [esp + 0x20e]
mov dword [esp + 0x40], eax
lea ecx, [eax + 1]
lea eax, [edi - 1]
mul ecx
jno 0x450b01
mov eax, dword [esp + 0x58]
movq xmm0, qword [0x519c40]
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
movq qword [eax], xmm0
lea ecx, [esp + 0xd4]
call fcn.00457610
jmp 0x450da2
xor ebx, ebx
cmp byte [esp + 0x30f], 0xff
mov esi, dword [esp + 0x58]
setne bl
lea eax, [esi + 4]
lea ecx, [esp + 0xd4]
push 0x13c
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x450da0
mov esi, dword [esp + 4]
mov edx, 0x51a30c
jmp 0x450dda
cmp edi, 3
jb 0x450d4b
mov eax, dword [esp + 0xfc]
mov edx, dword [esp + 0xf4]
movdqa xmm0, xmmword [0x519c30]
pcmpeqd xmm1, xmm1
mov ebx, 2
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
mov eax, ecx
mov dword [esp + 0x18], edx
and eax, 0xfffffff8
mov dword [esp + 0x14], eax
lea eax, [eax*4]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x40]
lea edx, [edx + eax*8 + 8]
lea eax, [eax*4 + 4]
mov dword [esp + 0x10], eax
jmp 0x450b74
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 4]
add edx, dword [esp + 0x10]
cmp ebx, edi
je 0x450d4b
mov eax, ebx
imul eax, ecx
mov esi, eax
add esi, ecx
jb 0x450ee8
cmp esi, dword [esp + 8]
ja 0x450ef9
mov esi, dword [esp + 0x18]
inc ebx
cmp byte [esp + 0x40], 7
mov dword [esp + 4], ebx
lea esi, [esi + eax*4]
mov edi, esi
jb 0x450d1e
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], esi
lea edi, [esi + eax]
mov esi, dword [esp + 0x14]
mov eax, edx
jmp 0x450bcc
add eax, 0x20
add esi, 0xfffffff8
je 0x450d10
movdqu xmm2, xmmword [eax]
movdqa xmm3, xmm2
pcmpeqd xmm3, xmm0
movd ebx, xmm3
not ebx
test bl, 1
je 0x450c20
movd ebx, xmm2
imul ebx, ecx
mov dword [eax], ebx
pxor xmm3, xmm1
pextrw ebx, xmm3, 2
test bl, 1
jne 0x450c2e
pextrw ebx, xmm3, 4
test bl, 1
je 0x450c47
pshufd xmm4, xmm2, 0xee
movd ebx, xmm4
imul ebx, ecx
mov dword [eax + 8], ebx
pextrw ebx, xmm3, 6
test bl, 1
jne 0x450c51
jmp 0x450c60
pxor xmm3, xmm1
pextrw ebx, xmm3, 2
test bl, 1
je 0x450bfa
pshufd xmm4, xmm2, 0x55
movd ebx, xmm4
imul ebx, ecx
mov dword [eax + 4], ebx
pextrw ebx, xmm3, 4
test bl, 1
jne 0x450c04
pextrw ebx, xmm3, 6
test bl, 1
je 0x450c60
pshufd xmm2, xmm2, 0xff
movd ebx, xmm2
imul ebx, ecx
mov dword [eax + 0xc], ebx
movdqu xmm2, xmmword [eax + 0x10]
movdqa xmm3, xmm2
pcmpeqd xmm3, xmm0
movd ebx, xmm3
not ebx
test bl, 1
je 0x450cc0
movd ebx, xmm2
imul ebx, ecx
mov dword [eax + 0x10], ebx
pxor xmm3, xmm1
pextrw ebx, xmm3, 2
test bl, 1
jne 0x450cce
pextrw ebx, xmm3, 4
test bl, 1
je 0x450ce7
pshufd xmm4, xmm2, 0xee
movd ebx, xmm4
imul ebx, ecx
mov dword [eax + 0x18], ebx
pextrw ebx, xmm3, 6
test bl, 1
je 0x450bc0
jmp 0x450cf5
pxor xmm3, xmm1
pextrw ebx, xmm3, 2
test bl, 1
je 0x450c90
pshufd xmm4, xmm2, 0x55
movd ebx, xmm4
imul ebx, ecx
mov dword [eax + 0x14], ebx
pextrw ebx, xmm3, 4
test bl, 1
jne 0x450c9a
pextrw ebx, xmm3, 6
test bl, 1
je 0x450bc0
pshufd xmm2, xmm2, 0xff
movd ebx, xmm2
imul ebx, ecx
mov dword [eax + 0x1c], ebx
jmp 0x450bc0
cmp ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
je 0x450b60
lea eax, [esi + ecx*4]
jmp 0x450d3a
cmp esi, eax
mov edi, esi
je 0x450b60
mov ebx, dword [edi]
lea esi, [edi + 4]
cmp ebx, 1
je 0x450d30
imul ebx, ecx
mov dword [edi], ebx
jmp 0x450d30
mov byte [esp + 0x10e], 1
mov eax, dword [esp + 0xd4]
imul eax, ecx
mov dword [esp + 0xd4], eax
imul ecx, dword [esp + 0xe4]
mov dword [esp + 0xe4], ecx
xor ebx, ebx
cmp byte [esp + 0x30f], 0xff
mov esi, dword [esp + 0x58]
sete bl
lea eax, [esi + 4]
lea ecx, [esp + 0xd4]
push 0x13c
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
xor ebx, 3
mov dword [esi], ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, dword [esp + 8]
mov eax, 0x51a3c4
mov ebx, ecx
jmp 0x450e7b
mov ebx, eax
mov eax, 0x51a25c
jmp 0x450e7b
mov eax, 0x51a21c
mov ebx, ecx
jmp 0x450e7b
mov edi, ecx
jmp 0x450dd8
mov edi, esi
mov esi, eax
push edx
push esi
push edi
call fcn.00414b90
add esp, 0xc
jmp 0x450f40
mov edi, eax
mov eax, 0x51a4f0
jmp 0x450e7b
mov edx, 0x51a2ec
mov edi, esi
jmp 0x450dda
mov eax, 0x51a520
jmp 0x450e7b
mov edi, dword [esp + 0xc]
mov ebx, eax
mov eax, 0x51a25c
jmp 0x450e7b
mov edi, dword [esp + 0x18]
mov eax, 0x51a3c4
mov ebx, ecx
jmp 0x450e7b
mov eax, 0x51a4f0
mov ebx, edx
mov edi, ecx
jmp 0x450e7b
mov ebx, eax
mov eax, 0x51a21c
mov edi, ecx
jmp 0x450e7b
mov eax, 0x51a510
mov ebx, edx
jmp 0x450e7b
mov edi, dword [esp + 0x10]
mov eax, 0x51a25c
mov ebx, ecx
jmp 0x450e7b
mov eax, 0x51a32c
jmp 0x450e7b
mov eax, 0x51a404
jmp 0x450e7b
mov ebx, eax
mov eax, 0x51a3d4
jmp 0x450e7b
mov ebx, eax
mov eax, 0x51a3e4
jmp 0x450e7b
mov edx, 0x51a2bc
jmp 0x450dda
mov eax, 0x51a2ac
push eax
push edi
push ebx
call fcn.00414b90
add esp, 0xc
jmp 0x450f40
mov edx, 0x51a24c
mov edi, ecx
jmp 0x450dda
mov edx, 0x51a2cc
jmp 0x450dd8
mov edx, 0x51a2dc
mov edi, ecx
jmp 0x450dd8
mov eax, 0x51a21c
mov ebx, ecx
jmp 0x45037b
mov edx, 0x51a31c
jmp 0x450dd8
push 0x51a2fc
push edi
push eax
call fcn.00417fa0
add esp, 0xc
jmp 0x450f40
push 0x51a2fc
push dword [esp + 0xc]
push edi
call fcn.00417f20
add esp, 0xc
jmp 0x450f40
push 0x51a22c
push esi
push eax
call fcn.00417fa0
add esp, 0xc
jmp 0x450f40
push 0x51a22c
push dword [esp + 0xc]
push esi
call fcn.00417f20
add esp, 0xc
jmp 0x450f40
call fcn.004085b0
ud2
call fcn.004085b0
ud2
call fcn.004085b0
jmp 0x450f40
call fcn.004085b0
jmp 0x450f40
mov edx, 0x30
mov ecx, str.cannot_shuffle_match_states_of_premultiplied_DFA
push 0x51a29c
call fcn.00454820
add esp, 4
ud2