Function at 0x45ba61
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x5f8
mov eax, dword fs:[0x30]
and dword [esp + 0x34], 0
push esi
push edi
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [esp + 0x38], ecx
cmp ecx, edx
je 0x45baf8
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45baf8
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, edx
sub ecx, 4
mov dword [esp + 8], 0x811c9dc5
dec edi
mov dword [esp + 0x34], ecx
mov esi, dword [ecx]
add esi, edx
mov dl, byte [esi]
inc esi
mov byte [esp + 0x2f], dl
test dl, dl
mov edx, dword [eax + 0x18]
je 0x45baf4
mov cl, byte [esp + 0x2f]
mov edx, dword [esp + 8]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x45bacd
mov dword [esp + 8], edx
cmp dword [esp + 8], 0x6dd8a845
mov edx, dword [eax + 0x18]
je 0x45bafc
mov ecx, dword [esp + 0x34]
test edi, edi
jne 0x45baa3
mov eax, dword [eax]
jmp 0x45ba80
mov esi, dword [esp + 0x38]
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov ecx, dword fs:[0x30]
mov dword [esp + 0x30], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov esi, dword [ecx + 0x18]
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + esi + 0x78]
add eax, esi
mov dword [esp + 0x34], eax
cmp eax, esi
je 0x45bba2
mov edi, dword [eax + 0x18]
test edi, edi
je 0x45bba2
mov eax, dword [eax + 0x20]
lea eax, [eax + edi*4]
add eax, esi
sub eax, 4
dec edi
mov dword [esp + 0x38], eax
mov edx, dword [eax]
mov eax, 0x811c9dc5
add edx, esi
mov dword [esp + 8], eax
mov al, byte [edx]
inc edx
mov byte [esp + 0x2f], al
test al, al
mov eax, dword [esp + 0x38]
je 0x45bb9e
mov al, byte [esp + 0x2f]
mov esi, dword [esp + 8]
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
mov al, byte [edx]
inc edx
test al, al
jne 0x45bb77
mov dword [esp + 8], esi
cmp dword [esp + 8], 0x60993b9d
mov esi, dword [ecx + 0x18]
je 0x45bba6
mov eax, dword [esp + 0x38]
test edi, edi
jne 0x45bb4b
mov ecx, dword [ecx]
jmp 0x45bb28
mov edx, dword [esp + 0x34]
push 0x8000
push dword [esp + 0x34]
mov eax, dword [edx + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + esi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + esi]
add eax, esi
call eax
mov eax, 0x3485ac91
mov dword [esp + 0x1f0], 0x8b2ec2b5
mov dword [esp + 0x1f4], eax
mov edi, 0xa5620fee
mov esi, 0xffb2cff4
mov dword [esp + 0x1f8], edi
mov dword [esp + 0x1fc], esi
movaps xmm1, xmmword [esp + 0x1f0]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x1f0]
push ecx
mov dword [esp + 0x14], 0xee5bb0c1
mov ecx, 0x4fb284
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], esi
pxor xmm1, xmmword [esp + 0x14]
push eax
movaps xmmword [esp + 0x1f8], xmm1
call fcn.0040c7ea
test eax, eax
jne 0x45bd01
call fcn.00494492
test al, al
je 0x45bcfc
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [esp + 0x34], ecx
cmp ecx, edx
je 0x45bccf
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45bccf
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, edx
sub ecx, 4
mov dword [esp + 8], 0x811c9dc5
dec edi
mov dword [esp + 0x30], ecx
mov esi, dword [ecx]
add esi, edx
mov dl, byte [esi]
inc esi
mov byte [esp + 0x2f], dl
test dl, dl
mov edx, dword [eax + 0x18]
je 0x45bccb
mov cl, byte [esp + 0x2f]
mov edx, dword [esp + 8]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x45bca4
mov dword [esp + 8], edx
cmp dword [esp + 8], 0xe80fd3a
mov edx, dword [eax + 0x18]
je 0x45bcd3
mov ecx, dword [esp + 0x30]
test edi, edi
jne 0x45bc7a
mov eax, dword [eax]
jmp 0x45bc57
mov esi, dword [esp + 0x34]
push 0
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov esi, 0xffb2cff4
mov edi, 0xa5620fee
jmp 0x45bd01
call fcn.0049432a
mov eax, 0x3485ac91
mov dword [esp + 0x200], 0x8b2ec2b5
mov dword [esp + 0x204], eax
mov dword [esp + 0x208], edi
mov dword [esp + 0x20c], esi
movaps xmm1, xmmword [esp + 0x200]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x200]
push ecx
mov dword [esp + 0x14], 0xee5bb0c1
mov ecx, 0x4fb23c
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], esi
pxor xmm1, xmmword [esp + 0x14]
push eax
movaps xmmword [esp + 0x208], xmm1
call fcn.0040c7ea
test eax, eax
jne 0x45be50
call fcn.00494279
mov byte [esp + 0x2f], al
call fcn.00493ef1
mov byte [esp + 0xf], al
call fcn.00493c9e
cmp byte [esp + 0x2f], 0
jne 0x45bda1
cmp byte [esp + 0xf], 0
jne 0x45bda1
test al, al
jne 0x45bda1
call fcn.00494366
test al, al
je 0x45be50
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [esp + 0x34], ecx
cmp ecx, edx
je 0x45be25
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45be25
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, edx
sub ecx, 4
mov dword [esp + 8], 0x811c9dc5
dec edi
mov dword [esp + 0x30], ecx
mov esi, dword [ecx]
add esi, edx
mov dl, byte [esi]
inc esi
mov byte [esp + 0xf], dl
test dl, dl
mov edx, dword [eax + 0x18]
je 0x45be21
mov cl, byte [esp + 0xf]
mov edx, dword [esp + 8]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x45bdfa
mov dword [esp + 8], edx
cmp dword [esp + 8], 0xe80fd3a
mov edx, dword [eax + 0x18]
je 0x45be29
mov ecx, dword [esp + 0x30]
test edi, edi
jne 0x45bdd0
mov eax, dword [eax]
jmp 0x45bdad
mov esi, dword [esp + 0x34]
push 0
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov esi, 0xffb2cff4
mov edi, 0xa5620fee
mov eax, 0x3485ac91
mov dword [esp + 0x210], 0x8b2ec2b5
mov dword [esp + 0x214], eax
mov dword [esp + 0x218], edi
mov dword [esp + 0x21c], esi
movaps xmm1, xmmword [esp + 0x210]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x210]
push ecx
mov dword [esp + 0x14], 0xee5bb0c1
mov ecx, 0x4fb2fc
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], esi
pxor xmm1, xmmword [esp + 0x14]
push eax
movaps xmmword [esp + 0x218], xmm1
call fcn.0040c7ea
xor ecx, ecx
inc ecx
mov dword [esp + 0x34], ecx
test eax, eax
jne 0x45bec2
call fcn.0049246b
push 0
call fcn.00444169
pop ecx
push eax
call fcn.0043bd30
mov eax, dword fs:[0x30]
mov dword [esp + 0x74], 0x8635d9b6
mov dword [esp + 0x78], 0x1af5d8e5
mov dword [esp + 0x7c], 0xa50e638a
mov dword [esp + 0x80], esi
movaps xmm1, xmmword [esp + 0x74]
mov dword [esp + 0x14], 0xee5bb0c1
mov dword [esp + 0x18], 0x3485ac91
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], esi
pxor xmm1, xmmword [esp + 0x14]
movaps xmmword [esp + 0x74], xmm1
mov eax, dword [eax + 0xc]
pop ecx
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [esp + 0x38], ecx
cmp ecx, edx
je 0x45bf9c
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45bf9c
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, edx
sub ecx, 4
mov dword [esp + 8], 0x811c9dc5
dec edi
mov dword [esp + 0x30], ecx
mov esi, dword [ecx]
add esi, edx
mov dl, byte [esi]
inc esi
mov byte [esp + 0xf], dl
test dl, dl
mov edx, dword [eax + 0x18]
je 0x45bf98
mov cl, byte [esp + 0xf]
mov edx, dword [esp + 8]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x45bf71
mov dword [esp + 8], edx
cmp dword [esp + 8], 0x53b2070f
mov edx, dword [eax + 0x18]
je 0x45bfa0
mov ecx, dword [esp + 0x30]
test edi, edi
jne 0x45bf47
mov eax, dword [eax]
jmp 0x45bf24
mov esi, dword [esp + 0x38]
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
lea ecx, [esp + 0x70]
add eax, edx
push ecx
call eax
test eax, eax
jne 0x45bfcc
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
mov eax, 0xffb2cff4
mov dword [esp + 0x80], 0x8735d9b6
mov dword [esp + 0x8c], eax
mov dword [esp + 0x84], 0x1af1c9ff
mov dword [esp + 0x88], 0xa50e638a
movaps xmm1, xmmword [esp + 0x80]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x80]
mov dword [esp + 0x10], 0xee5bb0c1
mov dword [esp + 0x14], 0x3485ac91
mov dword [esp + 0x18], 0xa5620fee
pxor xmm1, xmmword [esp + 0x10]
push eax
movaps xmmword [esp + 0x84], xmm1
call dword [0x4d6088]
mov ecx, eax
call fcn.0049e68f
call fcn.0041ef50
xor eax, eax
push eax
push eax
push eax
push 0x48d92d
push eax
push eax
call dword [0x4d60a0]
push eax
call dword [0x4d6098]
jmp 0x45c068
push 1
call dword [0x4d605c]
cmp dword [0x4fab58], 0xffffffff
je 0x45c060
mov ecx, 0x104
lea eax, [esp + 0x4f8]
mov byte [eax], 0
inc eax
sub ecx, 1
jne 0x45c07d
lea eax, [esp + 0x4f8]
push eax
push 0xfa
call dword [0x4d6060]
push 0xb
pop edx
lea ecx, [esp + 0x2e8]
call fcn.0049b88f
mov eax, 0xffb2cff4
mov dword [esp + 0x98], 0xa562638c
mov dword [esp + 0x9c], eax
lea ecx, [esp + 0x378]
mov dword [esp + 0x1c], eax
mov edi, 0x8f38df8d
mov dword [esp + 0x90], edi
lea eax, [esp + 0x2e8]
mov esi, 0x59ecfffd
mov dword [esp + 0x10], 0xee5bb0c1
mov dword [esp + 0x94], esi
movaps xmm1, xmmword [esp + 0x90]
push eax
mov dword [esp + 0x18], 0x3485ac91
lea eax, [esp + 0x94]
mov dword [esp + 0x1c], 0xa5620fee
pxor xmm1, xmmword [esp + 0x14]
push eax
movaps xmmword [esp + 0x98], xmm1
call fcn.00407785
push eax
lea edx, [esp + 0x500]
lea ecx, [esp + 0x368]
call fcn.0040ef5d
pop ecx
mov edx, eax
lea ecx, [esp + 0x34c]
call fcn.0040ef8b
pop ecx
push eax
mov ecx, 0x4fb224
call fcn.0040c950
lea ecx, [esp + 0x348]
call fcn.0040774d
lea ecx, [esp + 0x360]
call fcn.0040774d
lea ecx, [esp + 0x378]
call fcn.0040774d
mov eax, 0xffb2cff4
mov dword [esp + 0xa0], edi
mov dword [esp + 0xac], eax
lea ecx, [esp + 0x3a8]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x2e8]
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], 0xa5626e8c
movaps xmm1, xmmword [esp + 0xa0]
push eax
mov dword [esp + 0x14], 0xee5bb0c1
lea eax, [esp + 0xa4]
mov dword [esp + 0x18], 0x3485ac91
mov dword [esp + 0x1c], 0xa5620fee
pxor xmm1, xmmword [esp + 0x14]
push eax
movaps xmmword [esp + 0xa8], xmm1
call fcn.00407785
push eax
lea edx, [esp + 0x500]
lea ecx, [esp + 0x398]
call fcn.0040ef5d
pop ecx
mov edx, eax
lea ecx, [esp + 0x26c]
call fcn.0040ef8b
pop ecx
lea ecx, [esp + 0x390]
call fcn.0040774d
lea ecx, [esp + 0x3a8]
call fcn.0040774d
mov esi, 0x4fb224
mov ecx, esi
call fcn.00407899
mov ecx, eax
call fcn.0049bcd6
test al, al
je 0x45c247
push ecx
mov ecx, esi
call fcn.0049ba77
pop ecx
lea ecx, [esp + 0x268]
call fcn.00407899
mov ecx, eax
call fcn.0049bcd6
test al, al
je 0x45c26c
push ecx
lea ecx, [esp + 0x26c]
call fcn.0049ba77
pop ecx
push 0
mov ecx, esi
call fcn.00407899
mov esi, dword [0x4d60d4]
push eax
call esi
test eax, eax
je 0x45d3e7
push 0
lea ecx, [esp + 0x26c]
call fcn.00407899
push eax
call esi
lea ecx, [esp + 0x268]
call fcn.00407899
mov ecx, dword fs:[0x30]
mov dword [esp + 0x3c], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov esi, dword [ecx + 0x18]
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + esi + 0x78]
add eax, esi
mov dword [esp + 0x30], eax
cmp eax, esi
je 0x45c32e
mov edi, dword [eax + 0x18]
test edi, edi
je 0x45c32e
mov eax, dword [eax + 0x20]
lea eax, [eax + edi*4]
add eax, esi
sub eax, 4
dec edi
mov dword [esp + 0x38], eax
mov edx, dword [eax]
mov eax, 0x811c9dc5
add edx, esi
mov dword [esp + 8], eax
mov al, byte [edx]
inc edx
mov byte [esp + 0xf], al
test al, al
mov eax, dword [esp + 0x38]
je 0x45c32a
mov al, byte [esp + 0xf]
mov esi, dword [esp + 8]
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
mov al, byte [edx]
inc edx
test al, al
jne 0x45c303
mov dword [esp + 8], esi
cmp dword [esp + 8], 0x7a5b9fa2
mov esi, dword [ecx + 0x18]
je 0x45c332
mov eax, dword [esp + 0x38]
test edi, edi
jne 0x45c2d7
mov ecx, dword [ecx]
jmp 0x45c2b4
mov edx, dword [esp + 0x30]
push dword [esp + 0x3c]
mov eax, dword [edx + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + esi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + esi]
add eax, esi
call eax
lea eax, [esp + 0x268]
mov ecx, 0x4fb29c
push eax
call fcn.0040c928
call fcn.0048e3a7
push 0x4eaa5a
lea ecx, [esp + 0x5c]
call fcn.00407785
lea edx, [esp + 0x58]
lea ecx, [esp + 0x298]
call fcn.0048f51e
lea eax, [esp + 0x298]
push eax
lea ecx, [esp + 0x44]
call fcn.0040c998
jmp 0x45c3eb
lea ecx, [esp + 0x40]
call fcn.00407749
test eax, eax
jne 0x45c3f8
lea edx, [esp + 0x58]
lea ecx, [esp + 0x3a8]
call fcn.0048f51e
push eax
lea ecx, [esp + 0x29c]
call fcn.0040f541
lea ecx, [esp + 0x3a8]
call fcn.0040aee3
lea eax, [esp + 0x298]
push eax
lea ecx, [esp + 0x44]
call fcn.0040c928
push 0xbb8
call dword [0x4d605c]
lea ecx, [esp + 0x58]
call fcn.00407749
test eax, eax
je 0x45c399
mov esi, 0x4eaa70
jmp 0x45c452
push 0x4eaa74
lea ecx, [esp + 0x31c]
call fcn.00407785
push 0x4eaa78
lea ecx, [esp + 0x304]
call fcn.00407785
lea eax, [esp + 0x318]
push eax
lea edx, [esp + 0x304]
lea ecx, [esp + 0x5c]
call fcn.0049b8ca
pop ecx
lea ecx, [esp + 0x300]
call fcn.0040774d
lea ecx, [esp + 0x318]
call fcn.0040774d
push esi
lea ecx, [esp + 0x5c]
call fcn.00407899
push eax
call fcn.00437980
pop ecx
pop ecx
test eax, eax
jne 0x45c3ff
mov eax, 0x3485ac91
mov dword [esp + 0xb0], 0xee5be593
mov dword [esp + 0xb4], eax
lea ecx, [esp + 0x240]
mov dword [esp + 0x14], eax
mov esi, 0xa5620fee
xor eax, eax
mov dword [esp + 0xb8], esi
mov edi, 0xffb2cff4
mov dword [esp + 0x10], 0xee5bb0c1
inc eax
mov dword [esp + 0xbc], edi
movaps xmm1, xmmword [esp + 0xb0]
mov dword [esp + 8], eax
lea eax, [esp + 0xb0]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
pxor xmm1, xmmword [esp + 0x10]
push eax
movaps xmmword [esp + 0xb4], xmm1
call fcn.00407785
mov edx, eax
lea ecx, [esp + 0x40]
call fcn.0040efa8
test al, al
jne 0x45c8e1
mov eax, 0x3485ac91
mov dword [esp + 0xc0], 0xee5bea8a
mov dword [esp + 0xc4], eax
lea ecx, [esp + 0x480]
mov dword [esp + 0x14], eax
push 3
pop eax
mov dword [esp + 0xc8], esi
mov dword [esp + 0xcc], edi
movaps xmm1, xmmword [esp + 0xc0]
mov dword [esp + 8], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0x10], 0xee5bb0c1
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
pxor xmm1, xmmword [esp + 0x10]
push eax
movaps xmmword [esp + 0xc4], xmm1
call fcn.00407785
mov edx, eax
lea ecx, [esp + 0x40]
call fcn.0040efa8
test al, al
jne 0x45c8e1
mov eax, 0x3485ac91
mov dword [esp + 0xd0], 0xee5be983
mov dword [esp + 0xd4], eax
lea ecx, [esp + 0x468]
mov dword [esp + 0x14], eax
push 7
pop eax
mov dword [esp + 0xd8], esi
mov dword [esp + 0xdc], edi
movaps xmm1, xmmword [esp + 0xd0]
mov dword [esp + 8], eax
lea eax, [esp + 0xd0]
mov dword [esp + 0x10], 0xee5bb0c1
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
pxor xmm1, xmmword [esp + 0x10]
push eax
movaps xmmword [esp + 0xd4], xmm1
call fcn.00407785
mov edx, eax
lea ecx, [esp + 0x40]
call fcn.0040efa8
test al, al
jne 0x45c8e1
mov eax, 0x3485ac91
mov dword [esp + 0xe0], 0xee5bfd80
mov dword [esp + 0xe4], eax
lea ecx, [esp + 0x450]
mov dword [esp + 0x14], eax
push 0xf
pop eax
mov dword [esp + 0xe8], esi
mov dword [esp + 0xec], edi
movaps xmm1, xmmword [esp + 0xe0]
mov dword [esp + 8], eax
lea eax, [esp + 0xe0]
mov dword [esp + 0x10], 0xee5bb0c1
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
pxor xmm1, xmmword [esp + 0x10]
push eax
movaps xmmword [esp + 0xe4], xmm1
call fcn.00407785
mov edx, eax
lea ecx, [esp + 0x40]
call fcn.0040efa8
test al, al
jne 0x45c8e1
mov eax, 0x3485ac91
mov dword [esp + 0xf0], 0xee5bea94
mov dword [esp + 0xf4], eax
lea ecx, [esp + 0x438]
mov dword [esp + 0x14], eax
push 0x1f
pop eax
mov dword [esp + 0xf8], esi
mov dword [esp + 0xfc], edi
movaps xmm1, xmmword [esp + 0xf0]
mov dword [esp + 8], eax
lea eax, [esp + 0xf0]
mov dword [esp + 0x10], 0xee5bb0c1
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
pxor xmm1, xmmword [esp + 0x10]
push eax
movaps xmmword [esp + 0xf4], xmm1
call fcn.00407785
mov edx, eax
lea ecx, [esp + 0x40]
call fcn.0040efa8
test al, al
jne 0x45c8e1
mov eax, 0x3485ac91
mov dword [esp + 0x100], 0xee5bf48c
mov dword [esp + 0x104], eax
lea ecx, [esp + 0x420]
mov dword [esp + 0x14], eax
push 0x3f
pop eax
mov dword [esp + 0x108], esi
mov dword [esp + 0x10c], edi
movaps xmm1, xmmword [esp + 0x100]
mov dword [esp + 8], eax
lea eax, [esp + 0x100]
mov dword [esp + 0x10], 0xee5bb0c1
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
pxor xmm1, xmmword [esp + 0x10]
push eax
movaps xmmword [esp + 0x104], xmm1
call fcn.00407785
mov edx, eax
lea ecx, [esp + 0x40]
call fcn.0040efa8
test al, al
jne 0x45c8e1
mov eax, 0x3485ac91
mov dword [esp + 0x110], 0xee5bf78a
mov dword [esp + 0x114], eax
lea ecx, [esp + 0x408]
mov dword [esp + 0x14], eax
push 0x7f
pop eax
mov dword [esp + 0x118], esi
mov dword [esp + 0x11c], edi
movaps xmm1, xmmword [esp + 0x110]
mov dword [esp + 8], eax
lea eax, [esp + 0x110]
mov dword [esp + 0x10], 0xee5bb0c1
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
pxor xmm1, xmmword [esp + 0x10]
push eax
movaps xmmword [esp + 0x114], xmm1
call fcn.00407785
mov edx, eax
lea ecx, [esp + 0x40]
call fcn.0040efa8
test al, al
jne 0x45c8e1
mov eax, 0x3485ac91
mov dword [esp + 0x120], 0xee5bfa95
mov dword [esp + 0x124], eax
lea ecx, [esp + 0x3f0]
mov dword [esp + 0x14], eax
mov eax, 0xff
mov dword [esp + 0x128], esi
mov dword [esp + 0x12c], edi
movaps xmm1, xmmword [esp + 0x120]
mov dword [esp + 8], eax
lea eax, [esp + 0x120]
mov dword [esp + 0x10], 0xee5bb0c1
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
pxor xmm1, xmmword [esp + 0x10]
push eax
movaps xmmword [esp + 0x124], xmm1
call fcn.00407785
mov edx, eax
lea ecx, [esp + 0x40]
call fcn.0040efa8
test al, al
jne 0x45c8e1
mov eax, 0x3485ac91
mov dword [esp + 0x130], 0xee5bea80
mov dword [esp + 0x134], eax
lea ecx, [esp + 0x3d8]
mov dword [esp + 0x14], eax
mov eax, 0x1ff
mov dword [esp + 0x138], esi
mov dword [esp + 0x13c], edi
movaps xmm1, xmmword [esp + 0x130]
mov dword [esp + 8], eax
lea eax, [esp + 0x130]
mov dword [esp + 0x10], 0xee5bb0c1
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
pxor xmm1, xmmword [esp + 0x10]
push eax
movaps xmmword [esp + 0x134], xmm1
call fcn.00407785
mov edx, eax
lea ecx, [esp + 0x40]
call fcn.0040efa8
test al, al
jne 0x45c8e1
mov byte [esp + 0x34], al
mov eax, dword [esp + 8]
jmp 0x45c8ec
mov eax, dword [esp + 8]
test eax, 0x100
je 0x45c905
and eax, 0xfffffeff
lea ecx, [esp + 0x3d8]
mov dword [esp + 8], eax
call fcn.0040774d
mov eax, dword [esp + 8]
test al, al
jns 0x45c922
and eax, 0xffffff7f
lea ecx, [esp + 0x3f0]
mov dword [esp + 8], eax
call fcn.0040774d
mov eax, dword [esp + 8]
test al, 0x40
je 0x45c93d
and eax, 0xffffffbf
lea ecx, [esp + 0x408]
mov dword [esp + 8], eax
call fcn.0040774d
mov eax, dword [esp + 8]
test al, 0x20
je 0x45c958
and eax, 0xffffffdf
lea ecx, [esp + 0x420]
mov dword [esp + 8], eax
call fcn.0040774d
mov eax, dword [esp + 8]
test al, 0x10
je 0x45c973
and eax, 0xffffffef
lea ecx, [esp + 0x438]
mov dword [esp + 8], eax
call fcn.0040774d
mov eax, dword [esp + 8]
test al, 8
je 0x45c98e
and eax, 0xfffffff7
lea ecx, [esp + 0x450]
mov dword [esp + 8], eax
call fcn.0040774d
mov eax, dword [esp + 8]
test al, 4
je 0x45c9a6
lea ecx, [esp + 0x468]
mov dword [esp + 8], eax
call fcn.0040774d
mov eax, dword [esp + 8]
test al, 2
je 0x45c9b6
lea ecx, [esp + 0x480]
call fcn.0040774d
lea ecx, [esp + 0x240]
call fcn.0040774d
cmp byte [esp + 0x34], 0
je 0x45ca7c
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [esp + 0x30], ecx
cmp ecx, edx
je 0x45ca51
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45ca51
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, edx
sub ecx, 4
mov dword [esp + 8], 0x811c9dc5
dec edi
mov dword [esp + 0x3c], ecx
mov esi, dword [ecx]
add esi, edx
mov dl, byte [esi]
inc esi
mov byte [esp + 0xf], dl
test dl, dl
mov edx, dword [eax + 0x18]
je 0x45ca4d
mov cl, byte [esp + 0xf]
mov edx, dword [esp + 8]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x45ca26
mov dword [esp + 8], edx
cmp dword [esp + 8], 0xe80fd3a
mov edx, dword [eax + 0x18]
je 0x45ca55
mov ecx, dword [esp + 0x3c]
test edi, edi
jne 0x45c9fc
mov eax, dword [eax]
jmp 0x45c9d9
mov esi, dword [esp + 0x30]
push 0
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov edi, 0xffb2cff4
mov esi, 0xa5620fee
call fcn.0048e4e0
call fcn.0048e493
call fcn.0048e446
call fcn.0048e3f9
mov ecx, 0x4ffa20
call fcn.0040b508
test al, al
je 0x45ccf2
call fcn.0040b50f
test al, al
jne 0x45ccf2
mov esi, 0x8c3ac2a6
mov dword [esp + 0x144], 0x46e6dfce
mov dword [esp + 0x140], esi
lea eax, [esp + 0x140]
mov dword [esp + 0x148], 0xa50c6a8b
mov dword [esp + 0x14c], edi
movaps xmm1, xmmword [esp + 0x140]
mov dword [esp + 0x10], 0xee5bb0c1
mov dword [esp + 0x14], 0x3485ac91
mov dword [esp + 0x18], 0xa5620fee
mov dword [esp + 0x1c], edi
pxor xmm1, xmmword [esp + 0x10]
push eax
movaps xmmword [esp + 0x144], xmm1
call fcn.0040efd9
mov ecx, eax
call fcn.0040f4d3
mov byte [0x4fab5e], al
mov ecx, 0x4ffa20
mov eax, 0xa5620fee
mov dword [esp + 0x150], esi
mov dword [esp + 0x158], eax
mov dword [esp + 0x154], 0x34e2d8ce
mov dword [esp + 0x15c], edi
movaps xmm1, xmmword [esp + 0x150]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x150]
mov dword [esp + 0x10], 0xee5bb0c1
mov dword [esp + 0x14], 0x3485ac91
mov dword [esp + 0x1c], edi
pxor xmm1, xmmword [esp + 0x10]
push eax
movaps xmmword [esp + 0x154], xmm1
call fcn.0040efd9
mov ecx, eax
call fcn.0040f4d3
mov byte [0x4fab64], al
mov ecx, 0x4ffa20
mov eax, 0xa5620fee
mov dword [esp + 0x160], esi
mov dword [esp + 0x168], eax
mov dword [esp + 0x164], 0x34f6c8ce
mov dword [esp + 0x16c], edi
movaps xmm1, xmmword [esp + 0x160]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x160]
mov dword [esp + 0x10], 0xee5bb0c1
mov dword [esp + 0x14], 0x3485ac91
mov dword [esp + 0x1c], edi
pxor xmm1, xmmword [esp + 0x10]
push eax
movaps xmmword [esp + 0x164], xmm1
call fcn.0040efd9
mov ecx, eax
call fcn.0040f4d3
mov dword [esp + 0x170], esi
mov ecx, 0x4ffa20
mov dword [esp + 0x174], 0x58e4dbce
mov dword [esp + 0x178], 0xd6166a82
mov dword [esp + 0x17c], edi
movaps xmm1, xmmword [esp + 0x170]
mov byte [0x4fab5d], al
lea eax, [esp + 0x170]
mov dword [esp + 0x10], 0xee5bb0c1
mov dword [esp + 0x14], 0x3485ac91
mov dword [esp + 0x18], 0xa5620fee
mov dword [esp + 0x1c], edi
pxor xmm1, xmmword [esp + 0x10]
push eax
movaps xmmword [esp + 0x174], xmm1
call fcn.0040efd9
mov ecx, eax
call fcn.0040f4d3
mov dword [esp + 0x180], esi
mov esi, 0xa5620fee
mov byte [str.ShellExecuteA], al
mov dword [esp + 0x184], 0x5dedc5ce
mov dword [esp + 0x188], 0xd70d7b9d
mov dword [esp + 0x18c], 0xffb2cf8d
mov dword [esp + 0x10], 0xee5bb0c1
mov dword [esp + 0x14], 0x3485ac91
movaps xmm1, xmmword [esp + 0x180]
lea eax, [esp + 0x180]
mov dword [esp + 0x18], esi
mov ecx, 0x4ffa20
mov dword [esp + 0x1c], edi
pxor xmm1, xmmword [esp + 0x10]
push eax
movaps xmmword [esp + 0x184], xmm1
call fcn.0040efd9
mov ecx, eax
call fcn.0040f4d3
mov byte [0x4fab5f], al
call fcn.00471437
call fcn.00470cf0
mov ecx, 0x4ff9d8
call fcn.0040b186
mov ecx, 0x4ffa6c
call fcn.0040b186
mov edi, dword [0x4d60a0]
xor eax, eax
push eax
push eax
push eax
push 0x46ee15
push eax
push eax
call edi
mov dword [esp + 0x3c], eax
xor eax, eax
push eax
push eax
push eax
push 0x46507c
push eax
push eax
call edi
mov dword [esp + 0x30], eax
xor eax, eax
push eax
push eax
push eax
push 0x46484e
push eax
push eax
call edi
mov dword [esp + 0x34], eax
call fcn.0047a435
test al, al
je 0x45ce56
lea ecx, [esp + 0x2c8]
call fcn.004799f9
mov ecx, 0xffb2cff4
mov dword [esp + 0x198], esi
mov dword [esp + 0x19c], ecx
mov edx, 0x3485ac91
mov dword [esp + 0x1c], ecx
sub esp, 0x10
mov dword [esp + 0x1a0], 0x873cdfad
mov dword [esp + 0x1a4], 0x3485dfff
movaps xmm1, xmmword [esp + 0x1a0]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x20], 0xee5bb0c1
pxor xmm1, xmmword [esp + 0x20]
mov dword [esp + 0x1bc], ecx
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0x1a0]
movaps xmmword [esp + 0x1a0], xmm1
mov dword [esp + 0x1b8], esi
mov dword [esp + 0x1b0], 0x822ed197
mov dword [esp + 0x1b4], 0x71ccf3e5
movaps xmm1, xmmword [esp + 0x1b0]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], esi
mov esi, esp
mov dword [esp + 0x20], 0xee5bb0c1
pxor xmm1, xmmword [esp + 0x20]
push ecx
mov ecx, eax
movaps xmmword [esp + 0x1b4], xmm1
call fcn.0040efd9
push eax
mov ecx, esi
call fcn.0040b62d
lea eax, [esp + 0x1b0]
mov ecx, 0x4ffa88
push eax
call fcn.0040efd9
mov ecx, eax
call fcn.0040b5bd
lea ecx, [esp + 0x2c8]
call fcn.0040b5a7
call fcn.0047a414
mov esi, 0xa5620fee
lea ecx, [esp + 0x2d8]
call fcn.00479541
mov dword [esp + 0x1b8], esi
mov ecx, 0xffb2cff4
mov dword [esp + 0x1bc], ecx
mov edx, 0xb86fa0
mov dword [esp + 0x1c], ecx
sub esp, 0x10
mov dword [esp + 0x1c0], 0x873cdfad
mov ecx, 0xcfc4fa1e
mov dword [esp + 0x1c4], 0x3485dfff
movaps xmm1, xmmword [esp + 0x1c0]
mov dword [esp + 0x28], esi
mov esi, 0x57b79f83
mov dword [esp + 0x20], 0xee5bb0c1
mov dword [esp + 0x24], 0x3485ac91
pxor xmm1, xmmword [esp + 0x20]
movaps xmmword [esp + 0x1c0], xmm1
mov dword [esp + 0x230], 0x8a35d996
mov dword [esp + 0x234], 0x77f6dbfe
mov dword [esp + 0x238], 0xc0066a9c
mov dword [esp + 0x23c], 0x9edbbb9a
movaps xmm1, xmmword [esp + 0x230]
mov dword [esp + 0x24c], ecx
mov dword [esp + 0x250], 0xee5bb0c1
mov dword [esp + 0x254], 0x3485ac91
mov dword [esp + 0x258], 0xa5620fee
mov dword [esp + 0x25c], 0xffb2cff4
pxor xmm1, xmmword [esp + 0x250]
mov dword [esp + 0x26c], ecx
lea ecx, [esp + 0x1c0]
mov dword [esp + 0x244], esi
mov dword [esp + 0x248], edx
movaps xmmword [esp + 0x230], xmm1
mov dword [esp + 0x240], 0x7096f6f
movaps xmm1, xmmword [esp + 0x240]
mov dword [esp + 0x264], esi
mov esi, esp
mov dword [esp + 0x268], edx
mov dword [esp + 0x260], 0x7091c03
pxor xmm1, xmmword [esp + 0x260]
push ecx
mov ecx, eax
movaps xmmword [esp + 0x244], xmm1
call fcn.0040efd9
push eax
mov ecx, esi
call fcn.0040b62d
lea eax, [esp + 0x230]
mov ecx, 0x4ffa88
push eax
call fcn.0040efd9
mov ecx, eax
call fcn.0040b5bd
lea ecx, [esp + 0x2d8]
call fcn.0040b5a7
mov esi, dword [0x4d61a4]
push 0xffffffffffffffff
push dword [esp + 0x40]
call esi
push 0xffffffffffffffff
push dword [esp + 0x34]
call esi
push 0xffffffffffffffff
push dword [esp + 0x38]
call esi
xor eax, eax
push eax
push eax
push eax
push 0x463226
push eax
push eax
call edi
mov dword [esp + 0x3c], eax
xor eax, eax
push eax
push eax
push eax
push 0x4611b3
push eax
push eax
call edi
mov dword [esp + 0x30], eax
xor eax, eax
push eax
push eax
push eax
push 0x45ffa2
push eax
push eax
call edi
mov dword [esp + 0x34], eax
xor eax, eax
push eax
push eax
push eax
push 0x45df0c
push eax
push eax
call edi
mov dword [esp + 0x38], eax
xor eax, eax
push eax
push eax
push eax
push 0x45dedf
push eax
push eax
call edi
mov dword [esp + 8], eax
xor eax, eax
push eax
push eax
push eax
push 0x45c9be
push eax
push eax
call edi
mov edi, eax
xor eax, eax
push eax
push eax
push eax
push 0x45c810
push eax
push eax
call dword [0x4d60a0]
sub esp, 0x18
mov esi, eax
lea eax, [esp + 0x70]
mov ecx, esp
push eax
call fcn.0040c998
sub esp, 0x18
lea eax, [esp + 0x2e0]
mov ecx, esp
push eax
call fcn.0040c998
sub esp, 0x18
lea eax, [esp + 0x2e0]
mov ecx, esp
push eax
call fcn.0040c998
sub esp, 0x18
mov ecx, esp
push 0x4fb224
call fcn.0040c998
call fcn.00498ffb
add esp, 0x60
push 0xffffffffffffffff
push dword [esp + 0x40]
call dword [0x4d61a4]
push 0xffffffffffffffff
push dword [esp + 0x34]
call dword [0x4d61a4]
push 0xffffffffffffffff
push dword [esp + 0x38]
call dword [0x4d61a4]
push 0xffffffffffffffff
push dword [esp + 0x3c]
call dword [0x4d61a4]
push 0xffffffffffffffff
push dword [esp + 0xc]
call dword [0x4d61a4]
push 0xffffffffffffffff
push edi
mov edi, dword [0x4d61a4]
call edi
push 0xffffffffffffffff
push esi
call edi
mov ecx, 0x3485ac91
mov dword [esp + 0x1c0], 0xee5bb09e
mov eax, 0xa5620fee
mov dword [esp + 0x1d4], ecx
mov edi, 0xffb2cff4
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x18], eax
mov edx, 0xee5bb0c1
mov dword [esp + 0x10], edx
mov esi, 0x9e32caef
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1d0], esi
mov dword [esp + 0x1dc], edi
movaps xmm1, xmmword [esp + 0x1d0]
mov dword [esp + 0x1c], edi
pxor xmm1, xmmword [esp + 0x10]
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0x58]
mov dword [esp + 0x1c4], ecx
movaps xmmword [esp + 0x1d0], xmm1
mov dword [esp + 0x1cc], edi
movaps xmm1, xmmword [esp + 0x1c0]
mov dword [esp + 0x10], edx
lea edx, [esp + 0x40]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x4b0]
push eax
mov dword [esp + 0x20], edi
lea eax, [esp + 0x1c4]
pxor xmm1, xmmword [esp + 0x14]
push eax
movaps xmmword [esp + 0x1c8], xmm1
call fcn.0040eea7
pop ecx
mov edx, eax
lea ecx, [esp + 0x49c]
call fcn.0040ef8b
pop ecx
lea ecx, [esp + 0x1d0]
mov edx, eax
push ecx
lea ecx, [esp + 0x334]
call fcn.0040eef3
pop ecx
lea ecx, [esp + 0x498]
call fcn.0040774d
lea ecx, [esp + 0x4b0]
call fcn.0040774d
mov ecx, 0x3485ac91
mov dword [esp + 0x1e0], esi
mov eax, 0xa5620fee
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], edi
movaps xmm1, xmmword [esp + 0x1e0]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x4e0]
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], 0xee5bb0c1
mov dword [esp + 0x1c], edi
pxor xmm1, xmmword [esp + 0x10]
push 0x20
pop edx
movaps xmmword [esp + 0x1e0], xmm1
call fcn.0049b88f
push eax
lea edx, [esp + 0x4fc]
lea ecx, [esp + 0x4cc]
call fcn.0040ef5d
pop ecx
lea ecx, [esp + 0x1e0]
mov edx, eax
push ecx
lea ecx, [esp + 0x284]
call fcn.0040eef3
pop ecx
lea ecx, [esp + 0x4c8]
call fcn.0040774d
lea ecx, [esp + 0x4e0]
call fcn.0040774d
mov ecx, 0x4ffafc
call fcn.00407899
sub esp, 0x18
lea ecx, [esp + 0x298]
mov edi, eax
mov esi, esp
call fcn.00407899
push eax
mov ecx, esi
call fcn.00407785
sub esp, 0x18
mov esi, 0x4fb224
mov ecx, esp
push esi
call fcn.0040c998
mov ecx, edi
call fcn.0049c1d8
add esp, 0x18
lea eax, [esp + 0x348]
mov ecx, esp
push eax
call fcn.0040c998
sub esp, 0x18
lea eax, [esp + 0x2b0]
mov ecx, esp
push eax
call fcn.0040c998
call fcn.0048e0a4
add esp, 0x30
lea ecx, [esp + 0x280]
call fcn.00407899
push eax
call dword [0x4d6090]
push ecx
mov ecx, esi
call fcn.0049ba77
sub esp, 0x14
lea eax, [esp + 0x280]
mov ecx, esp
push eax
call fcn.0040c998
sub esp, 0x10
mov ecx, esp
push 0x4ffae0
call fcn.0040b62d
sub esp, 0x10
mov ecx, esp
push 0x4ff9a8
call fcn.0040b62d
sub esp, 0x10
mov ecx, esp
push 0x4ffa88
call fcn.0040b62d
sub esp, 0x10
mov ecx, esp
push 0x4ffaa8
call fcn.0040b62d
sub esp, 0x10
mov ecx, esp
push 0x4ffa98
call fcn.0040b62d
sub esp, 0x10
mov ecx, esp
push 0x4ff9c8
call fcn.0040b62d
sub esp, 0x18
lea eax, [esp + 0xd0]
mov ecx, esp
push eax
call fcn.0040c998
call fcn.00475a3c
add esp, 0x90
lea ecx, [esp + 0x280]
call fcn.0040774d
lea ecx, [esp + 0x330]
call fcn.0040774d
lea ecx, [esp + 0x40]
call fcn.0040774d
lea ecx, [esp + 0x298]
call fcn.0040aee3
lea ecx, [esp + 0x58]
call fcn.0040774d
push 2
push dword [0x4fab58]
call dword [0x4d6314]
push dword [0x4fab58]
call dword [0x4d62ec]
call dword [0x4d6310]
push 0
call dword [0x4d60c0]
int3