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

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x502d10
push eax
mov dword fs:[0], esp
sub esp, 0x80c
push ebx
push esi
push edi
push 0x1f
call dword [0x50c078]
call fcn.00415690
mov ebx, eax
mov ecx, edx
shrd eax, ecx, 0x10
mov ecx, ebx
shrd ecx, edx, 8
movzx esi, al
movzx eax, cl
mov ecx, str.BitBlt
add esi, eax
movzx eax, bl
add esi, eax
call fcn.004033a0
push eax
call fcn.004eb0b7
add esp, 4
xor ecx, ecx
add esi, eax
call fcn.00403a20
sub eax, 0xffffff80
add eax, esi
push eax
call fcn.004e341e
add esp, 4
push 0x100
push 0
push 0x535ec0
call fcn.004df7b0
add esp, 0xc
mov ecx, str.BitBlt
call fcn.00403250
push eax
mov ecx, str.BitBlt
call fcn.004033a0
push eax
push 0x535ec0
call fcn.004df230
add esp, 0xc
mov ecx, 0x533b74
call fcn.00403250
push eax
mov ecx, 0x533b74
call fcn.004033a0
push eax
push 0x535f24
call fcn.004df230
add esp, 0xc
mov ecx, str.BitBlt
call fcn.004033a0
lea edx, [eax + 1]
nop word [eax + eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45fb00
sub eax, edx
mov ecx, str.BitBlt
push eax
call fcn.004033a0
push eax
lea ecx, [ebp - 0x320]
call fcn.00403340
push eax
mov ecx, str.BitBlt
call fcn.004664e0
lea ecx, [ebp - 0x320]
call fcn.00403260
mov ecx, 0x533c4c
call fcn.004033a0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45fb43
sub eax, edx
mov ecx, 0x533c4c
push eax
call fcn.004033a0
push eax
lea ecx, [ebp - 0x338]
call fcn.00403340
push eax
mov ecx, 0x533c4c
call fcn.004664e0
lea ecx, [ebp - 0x338]
call fcn.00403260
push 0x45ec40
call dword [0x50c12c]
call fcn.0045f850
test al, al
jne 0x45fba5
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0x200
lea eax, [ebp - 0x710]
push 0
push eax
call fcn.004df7b0
add esp, 0xc
lea eax, [ebp - 0x710]
push 0x200
push eax
push 0
call dword [0x50c24c]
lea eax, [ebp - 0x710]
push eax
lea ecx, [ebp - 0x400]
call fcn.00403300
sub esp, 0x18
lea eax, [ebp - 0x400]
mov ecx, esp
push eax
call fcn.00466660
mov edx, 0x1e8481
lea ecx, [ebp - 0x1f8]
call fcn.0040c710
add esp, 0x18
mov ecx, 0x536280
call fcn.00403250
mov edx, dword [ebp - 0x1f8]
xor edi, edi
mov dword [ebp - 0x24], eax
mov ecx, dword [edx + 0x10]
sub ecx, eax
je 0x45fd1b
mov ecx, 0x536280
call fcn.004033a0
mov edx, dword [ebp - 0x1f8]
mov esi, eax
mov eax, edx
cmp dword [eax + 0x14], 0x10
jb 0x45fc41
mov eax, dword [edx]
mov ecx, dword [eax + edi]
cmp ecx, dword [esi]
jne 0x45fc85
mov eax, dword [eax + edi + 4]
cmp eax, dword [esi + 4]
jne 0x45fc85
lea ecx, [ebp - 0x1f8]
call fcn.004652d0
mov ecx, eax
call fcn.004033a0
mov ecx, 0x536280
mov esi, dword [eax + edi + 8]
mov ebx, dword [eax + edi + 0xc]
call fcn.004033a0
cmp esi, dword [eax + 8]
jne 0x45fc7f
cmp ebx, dword [eax + 0xc]
je 0x45fc95
mov edx, dword [ebp - 0x1f8]
mov eax, dword [edx + 0x10]
inc edi
sub eax, dword [ebp - 0x24]
cmp edi, eax
jb 0x45fc25
jmp 0x45fd1b
lea ecx, [ebp - 0x2e]
mov dword [ebp - 0x2e], 0x82998bbe
mov dword [ebp - 0x2a], 0xd1888084
mov word [ebp - 0x26], 0x100
call fcn.0040fa20
movaps xmm0, xmmword [0x526a40]
lea ecx, [ebp - 0x288]
movups xmmword [ebp - 0x288], xmm0
mov esi, eax
mov dword [ebp - 0x258], 0x753b746c
movaps xmm0, xmmword [0x525030]
movups xmmword [ebp - 0x278], xmm0
mov dword [ebp - 0x254], 0x1002169
movaps xmm0, xmmword [0x525620]
movups xmmword [ebp - 0x268], xmm0
call fcn.00445e00
push 0x14
push esi
push eax
push 0
call dword [0x50c2f8]
cmp eax, 7
jne 0x45fd15
lea esi, [eax + 5]
jmp 0x462ad3
mov edx, dword [ebp - 0x1f8]
push 0
mov ecx, edx
mov dword [ebp - 4], 0
call fcn.00468da0
push 0
push 2
mov dword [ebp - 4], 0xffffffff
mov edi, dword [0x533ab4]
mov esi, dword [0x533ab0]
push edi
push esi
call fcn.00502cd0
mov ebx, dword [0x533ab8]
sub ebx, eax
mov eax, dword [0x533abc]
mov ecx, ebx
sbb eax, edx
xor ecx, esi
mov dword [ebp - 0x34], eax
xor eax, edi
or ecx, eax
je 0x45fd76
add esi, ebx
mov dword [0x533ab0], esi
adc edi, dword [ebp - 0x34]
mov dword [0x533ab4], edi
test edi, edi
jl 0x45fd9b
jg 0x45fd84
cmp esi, 0x8d8a
jbe 0x45fd9b
xorps xmm0, xmm0
movlpd qword [0x533ab0], xmm0
mov edi, dword [0x533ab4]
mov esi, dword [0x533ab0]
push 0
push 2
push edi
push esi
call fcn.00502cd0
sub ebx, eax
mov eax, dword [ebp - 0x34]
mov ecx, ebx
mov dword [0x533ab8], ebx
sbb eax, edx
xor ecx, esi
mov dword [ebp - 0x34], eax
mov dword [0x533abc], eax
xor eax, edi
or ecx, eax
je 0x45fdd6
add esi, ebx
mov dword [0x533ab0], esi
adc edi, dword [ebp - 0x34]
mov dword [0x533ab4], edi
test edi, edi
jl 0x45fdef
jg 0x45fde4
cmp esi, 0x8d8a
jbe 0x45fdef
xorps xmm0, xmm0
movlpd qword [0x533ab0], xmm0
push 0x1e0f2
call dword [0x50c1cc]
lea ecx, [ebp - 0x3a]
mov dword [ebp - 0x3a], 0x899e989d
mov word [ebp - 0x36], 0x100
call fcn.004637e0
push 0
lea eax, [ebp - 0x3a]
mov ecx, 0x533b8c
push eax
call fcn.004660d0
test eax, eax
jne 0x45ffa8
call fcn.00415850
test al, al
je 0x45fee5
mov eax, dword fs:[0x30]
mov dword [ebp - 0x214], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x48], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0xb0], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0xb0], ecx
cmp ecx, esi
je 0x45febc
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45febc
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45feb5
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45fe98
cmp esi, 0xe80fd3a
je 0x45fec0
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45fe83
mov eax, dword [eax]
jmp 0x45fe50
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x48]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov esi, dword [ecx + eax*4]
lea ecx, [ebp - 0x214]
jmp 0x45ff9d
call fcn.00415990
test al, al
jne 0x45ffa8
mov eax, dword fs:[0x30]
mov dword [ebp - 0x14c], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0xb0], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x48], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x48], ecx
cmp ecx, esi
je 0x45ff79
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45ff79
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45ff72
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45ff55
cmp esi, 0xe80fd3a
je 0x45ff7d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45ff40
mov eax, dword [eax]
jmp 0x45ff10
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0xb0]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov esi, dword [ecx + eax*4]
lea ecx, [ebp - 0x14c]
add esi, edx
call fcn.00468330
push dword [eax]
call esi
lea ecx, [ebp - 0x10a]
mov dword [ebp - 0x10a], 0x899e989d
mov word [ebp - 0x106], 0x100
call fcn.004637e0
push 0
lea eax, [ebp - 0x10a]
mov ecx, 0x533b2c
push eax
call fcn.004660d0
test eax, eax
jne 0x4600b5
call fcn.004159d0
mov bl, al
call fcn.00415a60
mov bh, al
call fcn.00415cc0
test bl, bl
jne 0x46000d
test bh, bh
jne 0x46000d
test al, al
jne 0x46000d
call fcn.00415890
test al, al
je 0x4600b5
mov eax, dword fs:[0x30]
mov dword [ebp - 0x14], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0xb0], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x48], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x48], ecx
cmp ecx, esi
je 0x460089
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460089
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x460082
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x460065
cmp esi, 0xe80fd3a
je 0x46008d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460050
mov eax, dword [eax]
jmp 0x460020
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0xb0]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov esi, dword [ecx + eax*4]
lea ecx, [ebp - 0x14]
add esi, edx
call fcn.00468330
push dword [eax]
call esi
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x110], 0x899e989d
mov word [ebp - 0x10c], 0x100
call fcn.004637e0
push 0
lea eax, [ebp - 0x110]
mov ecx, 0x533c34
push eax
call fcn.004660d0
test eax, eax
jne 0x4600f2
lea ecx, [eax + 1]
call fcn.00415e70
lea ecx, [ebp - 0x116]
mov dword [ebp - 0x116], 0x899e989d
mov word [ebp - 0x112], 0x100
call fcn.004637e0
push 0
lea eax, [ebp - 0x116]
mov ecx, 0x533c1c
push eax
call fcn.004660d0
test eax, eax
jne 0x46012c
call fcn.00418e10
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x11c], 0x899e989d
mov word [ebp - 0x118], 0x100
call fcn.004637e0
push 0
lea eax, [ebp - 0x11c]
mov ecx, 0x533b14
push eax
call fcn.004660d0
mov esi, dword [0x533ab4]
test eax, eax
mov edi, dword [0x533ab0]
push 0
push 2
push esi
push edi
setne byte [ebp - 0x15]
call fcn.00502cd0
mov ebx, dword [0x533ab8]
sub ebx, eax
mov eax, dword [0x533abc]
mov ecx, ebx
mov dword [0x533ab8], ebx
sbb eax, edx
xor ecx, edi
mov dword [ebp - 0x48], eax
mov edx, eax
mov dword [0x533abc], eax
mov eax, esi
xor eax, edx
or ecx, eax
je 0x4601b5
add edi, ebx
mov dword [0x533ab0], edi
adc esi, edx
mov dword [0x533ab4], esi
test esi, esi
jl 0x4601ce
jg 0x4601c3
cmp edi, 0x8d8a
jbe 0x4601ce
xorps xmm0, xmm0
movlpd qword [0x533ab0], xmm0
lea ecx, [ebp - 0x161]
mov dword [ebp - 0x161], 0x8485839e
mov dword [ebp - 0x15d], 0xde9f9a99
mov dword [ebp - 0x159], 0x9f9e95
mov byte [ebp - 0x155], 1
call fcn.00463780
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0xb0], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x48], ecx
lea ecx, [esi + edx]
mov dword [ebp - 0x48], ecx
cmp ecx, esi
je 0x460279
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460279
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x460272
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x460255
cmp esi, 0x53b2070f
je 0x46027d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460240
mov eax, dword [eax]
jmp 0x460210
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0xb0]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0x161]
add eax, edx
push ecx
call eax
test eax, eax
jne 0x4602ad
xor esi, esi
jmp 0x462ad3
lea ecx, [ebp - 0x1b5]
mov dword [ebp - 0x1b5], 0xa5a5a3be
mov dword [ebp - 0x1b1], 0xdebbaba3
mov dword [ebp - 0x1ad], 0xbfbeb5
mov byte [ebp - 0x1a9], 1
call fcn.0040e5b0
push eax
call dword [0x50c0a8]
mov ecx, eax
call fcn.004812a0
lea ecx, [ebp - 0x8e]
mov word [ebp - 0x8e], 0xd3
mov byte [ebp - 0x8c], 1
call fcn.00463990
push 0
lea eax, [ebp - 0x8e]
mov ecx, 0x533b74
push eax
call fcn.004660d0
cmp eax, 0xffffffff
je 0x4603b2
sub esp, 0x18
mov word [ebp - 0xd7], 0xd3
lea ecx, [ebp - 0xd7]
mov byte [ebp - 0xd5], 1
mov esi, esp
call fcn.0040afc0
push eax
mov ecx, esi
call fcn.00403300
sub esp, 0x18
mov ecx, esp
push 0x533b74
call fcn.00466660
lea ecx, [ebp - 0x238]
call fcn.0040cfe0
add esp, 0x30
lea ecx, [ebp - 0x238]
call fcn.004652a0
cmp eax, 2
jne 0x4603a7
push 1
lea ecx, [ebp - 0x238]
call fcn.00465280
push eax
mov ecx, 0x5360d8
call fcn.004664b0
push 0
lea ecx, [ebp - 0x238]
call fcn.00465280
push eax
mov ecx, 0x533b74
call fcn.004664b0
lea ecx, [ebp - 0x238]
call fcn.00465390
push 0
push 0
push 0
push 0x41ec20
push 0
push 0
call dword [0x50c0c0]
push eax
call dword [0x50c0b8]
cmp dword [0x533aac], 0xffffffff
jne 0x46048a
nop dword [eax + eax]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0xb0], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x48], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x48], ecx
cmp ecx, esi
je 0x460459
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460459
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x460452
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x460435
cmp esi, 0x2fa62ca8
je 0x46045d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460420
mov eax, dword [eax]
jmp 0x4603f0
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0xb0]
push 1
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
cmp dword [0x533aac], 0xffffffff
je 0x4603e0
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x148], 0x100b0b3
call fcn.0040afd0
push eax
lea ecx, [ebp - 0x22c]
call fcn.00403300
mov ecx, 0x104
lea eax, [ebp - 0x818]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x4604b6
lea eax, [ebp - 0x818]
push eax
push 0xfb
call dword [0x50c07c]
mov edx, 0xc
lea ecx, [ebp - 0x3cc]
call fcn.0040d340
lea eax, [ebp - 0x3cc]
mov dword [ebp - 0xd3], 0x8e848e88
push eax
lea ecx, [ebp - 0xd3]
mov word [ebp - 0xcf], 0x88
mov byte [ebp - 0xcd], 1
call fcn.0040a0f0
push eax
lea ecx, [ebp - 0x338]
call fcn.00403300
push eax
lea edx, [ebp - 0x818]
lea ecx, [ebp - 0x450]
call fcn.0046a4d0
add esp, 4
lea ecx, [ebp - 0x438]
mov edx, eax
call fcn.0046a5d0
add esp, 4
mov ecx, 0x533afc
push eax
call fcn.004664e0
lea ecx, [ebp - 0x438]
call fcn.00403260
lea ecx, [ebp - 0x450]
call fcn.00403260
lea ecx, [ebp - 0x338]
call fcn.00403260
lea ecx, [ebp - 0x338]
call fcn.00403390
lea ecx, [ebp - 0x131]
mov dword [ebp - 0x131], 0x88828f81
mov word [ebp - 0x12d], 0x84
mov byte [ebp - 0x12b], 1
call fcn.00463a00
lea eax, [ebp - 0x3cc]
push eax
lea eax, [ebp - 0x131]
push eax
lea ecx, [ebp - 0x480]
call fcn.00403300
push eax
lea edx, [ebp - 0x818]
lea ecx, [ebp - 0x468]
call fcn.0046a4d0
add esp, 4
lea ecx, [ebp - 0x250]
mov edx, eax
call fcn.0046a5d0
add esp, 4
lea ecx, [ebp - 0x468]
call fcn.00403260
lea ecx, [ebp - 0x480]
call fcn.00403260
mov ecx, 0x533afc
call fcn.004033a0
mov ecx, eax
call fcn.0040cb40
test al, al
je 0x460616
push 0
mov dl, 1
mov ecx, 0x533afc
call fcn.0040cc00
add esp, 4
lea ecx, [ebp - 0x250]
call fcn.004033a0
mov ecx, eax
call fcn.0040cb40
test al, al
je 0x46063e
push 0
mov dl, 1
lea ecx, [ebp - 0x250]
call fcn.0040cc00
add esp, 4
mov ecx, 0x533afc
call fcn.004033a0
mov esi, dword [0x50c10c]
push 0
push eax
call esi
test eax, eax
jne 0x460669
mov ecx, 0x533afc
call fcn.00416d10
test al, al
je 0x4628c3
push 0
lea ecx, [ebp - 0x250]
call fcn.004033a0
push eax
call esi
test eax, eax
jne 0x4606f2
mov esi, dword [0x533ab4]
mov edi, dword [0x533ab0]
push eax
push 2
push esi
push edi
call fcn.00502cd0
mov ebx, dword [0x533ab8]
sub ebx, eax
mov eax, dword [0x533abc]
mov ecx, ebx
mov dword [0x533ab8], ebx
sbb eax, edx
xor ecx, edi
mov dword [ebp - 0x14], eax
mov edx, eax
mov dword [0x533abc], eax
mov eax, esi
xor eax, edx
or ecx, eax
je 0x4606ce
add edi, ebx
mov dword [0x533ab0], edi
adc esi, edx
mov dword [0x533ab4], esi
test esi, esi
jl 0x4606e7
jg 0x4606dc
cmp edi, 0x8d8a
jbe 0x4606e7
xorps xmm0, xmm0
movlpd qword [0x533ab0], xmm0
lea ecx, [ebp - 0x250]
call fcn.00416d10
lea ecx, [ebp - 0x250]
call fcn.004033a0
mov dword [ebp - 0x10], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14c], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x460779
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460779
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x460772
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x460755
cmp esi, 0x7a5b9fa2
je 0x46077d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460740
mov eax, dword [eax]
jmp 0x460710
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov esi, dword [ecx + eax*4]
lea ecx, [ebp - 0x10]
add esi, edx
call fcn.00468330
push dword [eax]
call esi
lea eax, [ebp - 0x250]
mov ecx, 0x533ba4
push eax
call fcn.004664b0
call fcn.004170f0
test al, al
je 0x46098f
cmp byte [ebp - 0x15], 0
jne 0x46098f
push str.BitBlt
lea ecx, [ebp - 0x6d]
mov dword [ebp - 0x6d], 0x8f82869a
mov dword [ebp - 0x69], 0x9983bd86
mov dword [ebp - 0x65], 0x9ab29795
mov word [ebp - 0x61], 0x91
mov byte [ebp - 0x5f], 1
call fcn.0040b2c0
mov edx, eax
lea ecx, [ebp - 0x320]
call fcn.0046a470
add esp, 4
mov ecx, eax
call fcn.004033a0
push eax
push 1
push 0
call dword [0x50c050]
lea ecx, [ebp - 0x320]
call fcn.00403260
call dword [0x50c090]
cmp eax, 0xb7
je 0x462ab0
mov ebx, dword [0x50c078]
mov esi, 0x1e
push 0x3e8
call ebx
sub esi, 1
jne 0x460842
sub esp, 0x18
mov dword [ebp - 0x2e], 0xafa5bca1
lea ecx, [ebp - 0x2e]
mov dword [ebp - 0x2a], 0x9c838ac3
mov word [ebp - 0x26], 0x100
mov esi, esp
call fcn.0040fa20
push eax
mov ecx, esi
call fcn.00403300
call fcn.0041fce0
mov ecx, dword [0x536178]
mov eax, 0x2aaaaaab
sub ecx, dword [0x536174]
add esp, 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x4608c3
nop
push 0x30
call ebx
mov ecx, dword [0x536178]
mov eax, 0x2aaaaaab
sub ecx, dword [0x536174]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x4608a0
push 2
push dword [0x533aac]
mov byte [0x535e91], 1
call dword [0x50c348]
push dword [0x533aac]
call dword [0x50c340]
call dword [0x50c344]
nop word [eax + eax]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x14], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x10], ecx
cmp ecx, edx
je 0x460964
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460964
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, edx
mov ecx, dword [ebx - 4]
lea ebx, [ebx - 4]
add ecx, edx
dec edi
mov esi, 0x811c9dc5
mov dl, byte [ecx]
inc ecx
test dl, dl
je 0x46095d
nop word [eax + eax]
movsx edx, dl
lea ecx, [ecx + 1]
xor edx, esi
imul esi, edx, 0x1000193
mov dl, byte [ecx - 1]
test dl, dl
jne 0x460940
cmp esi, 0x2fa62ca8
je 0x460968
mov edx, dword [eax + 0x18]
test edi, edi
jne 0x460925
mov eax, dword [eax]
jmp 0x460900
mov esi, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x1cf
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
jmp 0x4608f0
mov esi, dword [0x533ab4]
mov edi, dword [0x533ab0]
push 0
push 2
push esi
push edi
call fcn.00502cd0
mov ebx, dword [0x533ab8]
sub ebx, eax
mov eax, dword [0x533abc]
mov ecx, ebx
mov dword [0x533ab8], ebx
sbb eax, edx
xor ecx, edi
mov dword [ebp - 0x10], eax
mov dword [0x533abc], eax
xor eax, esi
or ecx, eax
je 0x4609de
add edi, ebx
mov dword [0x533ab0], edi
adc esi, dword [ebp - 0x10]
mov dword [0x533ab4], esi
test esi, esi
jl 0x4609f7
jg 0x4609ec
cmp edi, 0x8d8a
jbe 0x4609f7
xorps xmm0, xmm0
movlpd qword [0x533ab0], xmm0
lea ecx, [ebp - 0x93]
mov byte [0x535ebb], 0
mov word [ebp - 0x93], 0x95
mov byte [ebp - 0x91], 1
call fcn.0040afc0
lea ecx, [ebp - 0x370]
mov ebx, eax
call fcn.0040dd20
push 0
push 0xd0527
mov edi, eax
call fcn.00408920
sub esp, 0x10
mov dword [ebp - 0x10], eax
mov eax, dword [0x533aac]
lea ecx, [ebp - 0x498]
mov esi, esp
mov dword [ebp - 0x14], eax
mov edx, edi
push str.BitBlt
push ebx
call fcn.0046a410
add esp, 4
mov edx, eax
mov ecx, esi
call fcn.0046a5d0
mov edx, dword [ebp - 0x10]
add esp, 4
mov ecx, dword [ebp - 0x14]
call fcn.0041ec60
add esp, 0x18
lea ecx, [ebp - 0x498]
mov bl, al
call fcn.00403260
lea ecx, [ebp - 0x370]
call fcn.00403260
test bl, bl
je 0x460b62
cmp byte [0x535ebb], 0
jne 0x460b62
nop dword [eax]
nop word [eax + eax]
mov eax, dword fs:[0x30]
mov dword [ebp - 0x94], 0x65
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x460b29
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460b29
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x460b22
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x460b05
cmp esi, 0x2fa62ca8
je 0x460b2d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460af0
mov eax, dword [eax]
jmp 0x460ac6
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov esi, dword [ecx + eax*4]
lea ecx, [ebp - 0x94]
add esi, edx
call fcn.00468330
push dword [eax]
call esi
cmp byte [0x535ebb], 0
je 0x460ab0
mov edx, 0x533ae4
lea ecx, [ebp - 0x280]
call fcn.0041ced0
lea eax, [ebp - 0x280]
push eax
lea ecx, [ebp - 0x22c]
call fcn.004664b0
cmp dword [str.DeleteObject], 0
jne 0x460c0c
mov edi, dword [0x50c078]
cmp dword [ebp - 0x21c], 0
jne 0x460c0c
mov edx, 0x533ae4
lea ecx, [ebp - 0x388]
call fcn.0041ced0
mov esi, eax
lea ecx, [ebp - 0x280]
push esi
call fcn.004664e0
lea eax, [esi + 0x18]
push eax
lea ecx, [ebp - 0x268]
call fcn.004664e0
lea ecx, [ebp - 0x370]
call fcn.00403260
lea ecx, [ebp - 0x388]
call fcn.00403260
lea eax, [ebp - 0x280]
push eax
lea ecx, [ebp - 0x22c]
call fcn.004664b0
push 0
push 0xce8a0
call fcn.00408920
add esp, 8
push eax
call edi
cmp dword [str.DeleteObject], 0
je 0x460b93
mov ecx, 0x533ae4
call fcn.004033a0
push 0x520af0
push eax
call fcn.004dee20
add esp, 8
test eax, eax
je 0x460cbe
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x10]
push esi
lea ecx, [ebp - 0x104]
call fcn.004033f0
push 1
push 0x52081c
lea ecx, [ebp - 0x104]
call fcn.00403410
push edi
lea ecx, [ebp - 0x210]
call fcn.004033f0
push 1
push 0x520af0
lea ecx, [ebp - 0x210]
call fcn.00403410
lea eax, [ebp - 0x104]
mov ecx, 0x533ae4
push eax
lea edx, [ebp - 0x210]
call fcn.0040d2e0
add esp, 4
lea ecx, [ebp - 0x210]
call fcn.00403260
lea ecx, [ebp - 0x104]
call fcn.00403260
mov ecx, 0x533ae4
call fcn.004033a0
push 0x520af0
push eax
call fcn.004dee20
add esp, 8
test eax, eax
jne 0x460c32
lea ecx, [ebp - 0x13c]
mov dword [ebp - 0x13c], 0x100bfbb
call fcn.0040afd0
push eax
lea ecx, [ebp - 0x600]
call fcn.00403300
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x140], 0x100b0a2
call fcn.0040afd0
push eax
lea ecx, [ebp - 0x5e8]
call fcn.00403300
lea ecx, [ebp - 0x144]
mov dword [ebp - 0x144], 0x100b3ab
call fcn.0040afd0
push eax
lea ecx, [ebp - 0x5d0]
call fcn.00403300
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x78], 0x100a7a8
call fcn.0040afd0
push eax
lea ecx, [ebp - 0x5b8]
call fcn.00403300
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], 0x100b0bc
call fcn.0040afd0
push eax
lea ecx, [ebp - 0x5a0]
call fcn.00403300
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], 0x100aea4
call fcn.0040afd0
push eax
lea ecx, [ebp - 0x588]
call fcn.00403300
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x7c], 0x100ada2
call fcn.0040afd0
push eax
lea ecx, [ebp - 0x570]
call fcn.00403300
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], 0x100a0bd
call fcn.0040afd0
push eax
lea ecx, [ebp - 0x558]
call fcn.00403300
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x44], 0x100abbc
call fcn.0040afd0
push eax
lea ecx, [ebp - 0x540]
call fcn.00403300
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], 0x100b0a8
call fcn.0040afd0
push eax
lea ecx, [ebp - 0x528]
call fcn.00403300
lea eax, [ebp - 0x510]
push eax
lea eax, [ebp - 0x600]
push eax
lea ecx, [ebp - 0x3e8]
call fcn.00463220
lea ecx, [ebp - 0x420]
push dword [eax + 4]
push dword [eax]
call fcn.00462b40
push 0x402660
push 0xa
push 0x18
lea eax, [ebp - 0x600]
push eax
call fcn.004dd815
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x420]
call fcn.0046b300
test eax, eax
je 0x460e7b
movaps xmm0, xmmword [0x526630]
lea ecx, [ebp - 0x2c0]
movups xmmword [ebp - 0x2c0], xmm0
mov dword [ebp - 0x2b0], 0x100898a
call fcn.0040fab0
push 0x520a88
mov esi, eax
call dword [0x50c064]
push esi
push eax
call dword [0x50c0d8]
mov esi, eax
test esi, esi
je 0x460e7b
push 0
call dword [0x50c1e4]
push eax
call esi
mov ebx, dword [0x50c1dc]
push 0x520d90
call ebx
call fcn.0041fea0
call fcn.0041ff10
call fcn.0041ff80
call fcn.0041fff0
call fcn.00420060
mov ecx, 0x5360c8
call fcn.00463e60
test al, al
je 0x4611bc
mov ecx, 0x5360c8
call fcn.00463e80
test al, al
jne 0x4611bc
lea ecx, [ebp - 0x1c2]
mov dword [ebp - 0x1c2], 0x8e8a988e
mov dword [ebp - 0x1be], 0x828c9db2
mov dword [ebp - 0x1ba], 0x9d9794
mov byte [ebp - 0x1b6], 1
call fcn.0040e5b0
push eax
mov ecx, 0x5360c8
call fcn.0046a720
mov ecx, eax
call fcn.00463e70
test al, al
je 0x4611bc
lea ecx, [ebp - 0x1cf]
mov dword [ebp - 0x1cf], 0x8e8a988e
mov dword [ebp - 0x1cb], 0x828c9db2
mov dword [ebp - 0x1c7], 0x9d9794
mov byte [ebp - 0x1c3], 1
call fcn.0040e5b0
push eax
mov ecx, 0x5360c8
call fcn.0046a720
mov ecx, eax
call fcn.0046a990
lea ecx, [ebp - 0x16a]
mov byte [0x533aab], al
mov dword [ebp - 0x16a], 0x8e8a988e
mov dword [ebp - 0x166], 0x889ab2
mov byte [ebp - 0x162], 1
call fcn.0040c460
push eax
mov ecx, 0x5360c8
call fcn.0046a720
mov ecx, eax
call fcn.0046a990
lea ecx, [ebp - 0x2d]
mov byte [0x533ac5], al
mov dword [ebp - 0x2d], 0x8e8a988e
mov dword [ebp - 0x29], 0x9c8ab2
mov byte [ebp - 0x25], 1
call fcn.0040c460
push eax
mov ecx, 0x5360c8
call fcn.0046a720
mov ecx, eax
call fcn.0046a990
lea ecx, [ebp - 0x6c]
mov byte [0x533aaa], al
mov dword [ebp - 0x6c], 0x8e8a988e
mov dword [ebp - 0x68], 0x9c8e99b2
mov dword [ebp - 0x64], 0x8787979d
mov word [ebp - 0x60], 0x100
call fcn.0040fa80
push eax
mov ecx, 0x5360c8
call fcn.0046a720
mov ecx, eax
call fcn.0046a990
lea ecx, [ebp - 0x1de]
mov byte [0x533aa9], al
mov dword [ebp - 0x1de], 0x8e8a988e
mov dword [ebp - 0x1da], 0x998787b2
mov dword [ebp - 0x1d6], 0x869c8682
mov word [ebp - 0x1d2], 0x8c
mov byte [ebp - 0x1d0], 1
call fcn.0040b2c0
push eax
mov ecx, 0x5360c8
call fcn.0046a720
mov ecx, eax
call fcn.0046a990
lea ecx, [ebp - 0x174]
mov byte [0x533ac4], al
mov dword [ebp - 0x174], 0x8e8a988e
mov dword [ebp - 0x170], 0x809b88b2
mov word [ebp - 0x16c], 0x100
call fcn.0040fa20
push eax
mov ecx, 0x5360c8
call fcn.0046a720
mov ecx, eax
call fcn.0046a990
lea ecx, [ebp - 0x1a8]
mov byte [str.EnumDisplayDevicesA], al
mov dword [ebp - 0x1a8], 0x8e8a988e
mov dword [ebp - 0x1a4], 0x9d8e89b2
mov dword [ebp - 0x1a0], 0x1008194
call fcn.0040fa50
push eax
mov ecx, 0x5360c8
call fcn.0046a720
mov ecx, eax
call fcn.0046a990
mov byte [0x533aa8], al
movaps xmm0, xmmword [0x524dd0]
lea ecx, [ebp - 0x399]
movups xmmword [ebp - 0x399], xmm0
mov byte [ebp - 0x389], 1
call fcn.0040f9f0
push eax
mov ecx, 0x5360c8
call fcn.0046a720
mov ecx, eax
call fcn.0046a990
lea ecx, [ebp - 0x17e]
mov byte [0x533ac8], al
mov dword [ebp - 0x17e], 0x8e8a988e
mov dword [ebp - 0x17a], 0x9e9f98b2
mov word [ebp - 0x176], 0x100
call fcn.0040fa20
push eax
mov ecx, 0x5360c8
call fcn.0046a720
mov ecx, eax
call fcn.0046a990
lea ecx, [ebp - 0x188]
mov byte [0x533ac7], al
mov dword [ebp - 0x188], 0xb38e999c
mov dword [ebp - 0x184], 0x93819885
mov word [ebp - 0x180], 0x100
call fcn.0040fa20
push eax
mov ecx, 0x5360c8
call fcn.0046a720
mov ecx, eax
call fcn.0046a990
movaps xmm0, xmmword [0x526330]
lea ecx, [ebp - 0xc8]
mov byte [0x535eb3], al
movups xmmword [ebp - 0xc8], xmm0
mov dword [ebp - 0xb8], 0x1009b8d
call fcn.0040fab0
push eax
mov ecx, 0x5360c8
call fcn.0046a720
mov ecx, eax
call fcn.0046a990
mov byte [0x535e93], al
push 0x5204b8
lea ecx, [ebp - 0x308]
call fcn.00403300
push 0x5204b8
lea ecx, [ebp - 0x2f0]
call fcn.00403300
push 0x5204b8
lea ecx, [ebp - 0x2d8]
call fcn.00403300
lea eax, [ebp - 0x2ac]
mov ecx, 0x536180
push eax
call fcn.00463ce0
lea eax, [ebp - 0x348]
mov ecx, 0x536180
push eax
call fcn.00463c70
lea eax, [ebp - 0x348]
push eax
lea ecx, [ebp - 0x2ac]
call fcn.00467b90
test al, al
jne 0x4618d7
mov ebx, dword [ebp - 0x10]
nop dword [eax + eax]
lea ecx, [ebp - 0x2ac]
call fcn.004633b0
lea ecx, [ebp - 0xdd]
mov dword [ebp - 0xdd], 0x89868b87
mov edi, eax
mov word [ebp - 0xd9], 0x100
call fcn.004637e0
lea eax, [ebp - 0xdd]
mov ecx, edi
push eax
call fcn.0046a720
lea ecx, [ebp - 0x104]
mov esi, eax
call fcn.00403370
lea edx, [ebp - 0x104]
mov ecx, esi
call fcn.0047a290
movaps xmm0, xmmword [str.bind_or_column_index_out_of_range]
lea ecx, [ebp - 0xca]
movups xmmword [ebp - 0xca], xmm0
mov dword [ebp - 0xba], 0xcda49f97
mov word [ebp - 0xb6], 0x100
call fcn.00463570
push 0
lea eax, [ebp - 0xca]
push eax
lea ecx, [ebp - 0x104]
call fcn.004660d0
lea ecx, [ebp - 0x104]
mov esi, eax
call fcn.00403260
test esi, esi
jne 0x46147d
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x138], 0x99878b9f
mov word [ebp - 0x134], 0x88
mov byte [ebp - 0x132], 1
call fcn.00463a00
lea eax, [ebp - 0x138]
mov ecx, edi
push eax
call fcn.0046a720
lea ecx, [ebp - 0x104]
mov esi, eax
call fcn.00403370
lea edx, [ebp - 0x104]
mov ecx, esi
call fcn.0047a290
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x308]
call fcn.004664e0
lea ecx, [ebp - 0x104]
call fcn.00403260
lea ecx, [ebp - 0x52]
mov dword [ebp - 0x52], 0xd29988d5
mov word [ebp - 0x4e], 0x100
call fcn.004637e0
push 0
lea eax, [ebp - 0x52]
push eax
lea ecx, [ebp - 0x308]
call fcn.004660d0
cmp eax, 0xffffffff
je 0x46147d
nop dword [eax]
nop word [eax + eax]
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x84], 0x100e0e4
call fcn.00463960
push dword [ebp - 0x10]
lea ecx, [ebp - 0x210]
call fcn.004033f0
lea ecx, [ebp - 0x84]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4613b0
sub ecx, edx
lea eax, [ebp - 0x84]
push ecx
push eax
lea ecx, [ebp - 0x210]
call fcn.00403410
lea ecx, [ebp - 0x9a]
mov dword [ebp - 0x9a], 0xd29988d5
mov word [ebp - 0x96], 0x100
call fcn.004637e0
push dword [ebp - 0x10]
lea ecx, [ebp - 0x104]
call fcn.004033f0
lea ecx, [ebp - 0x9a]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x461401
sub ecx, edx
lea eax, [ebp - 0x9a]
push ecx
push eax
lea ecx, [ebp - 0x104]
call fcn.00403410
lea eax, [ebp - 0x210]
push eax
lea edx, [ebp - 0x104]
lea ecx, [ebp - 0x308]
call fcn.0040d2e0
add esp, 4
lea ecx, [ebp - 0x104]
call fcn.00403260
lea ecx, [ebp - 0x210]
call fcn.00403260
lea ecx, [ebp - 0x52]
mov dword [ebp - 0x52], 0xd29988d5
mov word [ebp - 0x4e], 0x100
call fcn.004637e0
push 0
lea eax, [ebp - 0x52]
push eax
lea ecx, [ebp - 0x308]
call fcn.004660d0
cmp eax, 0xffffffff
jne 0x461380
lea ecx, [ebp - 0xe9]
mov dword [ebp - 0xe9], 0x89868b87
mov word [ebp - 0xe5], 0x100
call fcn.004637e0
lea eax, [ebp - 0xe9]
mov ecx, edi
push eax
call fcn.0046a720
lea ecx, [ebp - 0x104]
mov esi, eax
call fcn.00403370
lea edx, [ebp - 0x104]
mov ecx, esi
call fcn.0047a290
movaps xmm0, xmmword [str.bind_or_column_index_out_of_range]
lea ecx, [ebp - 0xca]
movups xmmword [ebp - 0xca], xmm0
mov dword [ebp - 0xba], 0xcea49f97
mov word [ebp - 0xb6], 0x100
call fcn.00463570
push 0
lea eax, [ebp - 0xca]
push eax
lea ecx, [ebp - 0x104]
call fcn.004660d0
lea ecx, [ebp - 0x104]
mov esi, eax
call fcn.00403260
test esi, esi
jne 0x46169d
lea ecx, [ebp - 0x123]
mov dword [ebp - 0x123], 0x99878b9f
mov word [ebp - 0x11f], 0x88
mov byte [ebp - 0x11d], 1
call fcn.00463a00
lea eax, [ebp - 0x123]
mov ecx, edi
push eax
call fcn.0046a720
lea ecx, [ebp - 0x370]
push ecx
mov ecx, eax
call fcn.0046a860
push eax
lea ecx, [ebp - 0x2f0]
call fcn.004664e0
lea ecx, [ebp - 0x370]
call fcn.00403260
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x58], 0xd29988d5
mov word [ebp - 0x54], 0x100
call fcn.004637e0
push esi
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x2f0]
call fcn.004660d0
cmp eax, 0xffffffff
je 0x46169d
nop
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x88], 0x100e0e4
call fcn.00463960
push dword [ebp - 0x10]
lea ecx, [ebp - 0x210]
call fcn.004033f0
lea ecx, [ebp - 0x88]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4615d0
sub ecx, edx
lea eax, [ebp - 0x88]
push ecx
push eax
lea ecx, [ebp - 0x210]
call fcn.00403410
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0xa0], 0xd29988d5
mov word [ebp - 0x9c], 0x100
call fcn.004637e0
push dword [ebp - 0x10]
lea ecx, [ebp - 0x104]
call fcn.004033f0
lea ecx, [ebp - 0xa0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x461621
sub ecx, edx
lea eax, [ebp - 0xa0]
push ecx
push eax
lea ecx, [ebp - 0x104]
call fcn.00403410
lea eax, [ebp - 0x210]
push eax
lea edx, [ebp - 0x104]
lea ecx, [ebp - 0x2f0]
call fcn.0040d2e0
add esp, 4
lea ecx, [ebp - 0x104]
call fcn.00403260
lea ecx, [ebp - 0x210]
call fcn.00403260
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x58], 0xd29988d5
mov word [ebp - 0x54], 0x100
call fcn.004637e0
push 0
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x2f0]
call fcn.004660d0
cmp eax, 0xffffffff
jne 0x4615a0
lea ecx, [ebp - 0xe3]
mov dword [ebp - 0xe3], 0x89868b87
mov word [ebp - 0xdf], 0x100
call fcn.004637e0
lea eax, [ebp - 0xe3]
mov ecx, edi
push eax
call fcn.0046a720
lea ecx, [ebp - 0x104]
mov esi, eax
call fcn.00403370
lea edx, [ebp - 0x104]
mov ecx, esi
call fcn.0047a290
movaps xmm0, xmmword [str.bind_or_column_index_out_of_range]
lea ecx, [ebp - 0xca]
movups xmmword [ebp - 0xca], xmm0
mov dword [ebp - 0xba], 0xcfa49f97
mov word [ebp - 0xb6], 0x100
call fcn.00463570
push 0
lea eax, [ebp - 0xca]
push eax
lea ecx, [ebp - 0x104]
call fcn.004660d0
lea ecx, [ebp - 0x104]
mov esi, eax
call fcn.00403260
test esi, esi
jne 0x4618ac
lea ecx, [ebp - 0x12a]
mov dword [ebp - 0x12a], 0x99878b9f
mov word [ebp - 0x126], 0x88
mov byte [ebp - 0x124], 1
call fcn.00463a00
lea eax, [ebp - 0x12a]
mov ecx, edi
push eax
call fcn.0046a720
lea ecx, [ebp - 0x370]
push ecx
mov ecx, eax
call fcn.0046a860
push eax
lea ecx, [ebp - 0x2d8]
call fcn.004664e0
lea ecx, [ebp - 0x370]
call fcn.00403260
lea ecx, [ebp - 0x5e]
mov dword [ebp - 0x5e], 0xd29988d5
mov word [ebp - 0x5a], 0x100
call fcn.004637e0
push esi
lea eax, [ebp - 0x5e]
push eax
lea ecx, [ebp - 0x2d8]
call fcn.004660d0
cmp eax, 0xffffffff
je 0x4618ac
nop
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], 0x100e0e4
call fcn.00463960
push ebx
lea ecx, [ebp - 0x210]
call fcn.004033f0
lea ecx, [ebp - 0x34]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4617e1
sub ecx, edx
lea eax, [ebp - 0x34]
push ecx
push eax
lea ecx, [ebp - 0x210]
call fcn.00403410
lea ecx, [ebp - 0xa6]
mov dword [ebp - 0xa6], 0xd29988d5
mov word [ebp - 0xa2], 0x100
call fcn.004637e0
push dword [ebp - 0x10]
lea ecx, [ebp - 0x104]
call fcn.004033f0
lea ecx, [ebp - 0xa6]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x461830
sub ecx, edx
lea eax, [ebp - 0xa6]
push ecx
push eax
lea ecx, [ebp - 0x104]
call fcn.00403410
lea eax, [ebp - 0x210]
push eax
lea edx, [ebp - 0x104]
lea ecx, [ebp - 0x2d8]
call fcn.0040d2e0
add esp, 4
lea ecx, [ebp - 0x104]
call fcn.00403260
lea ecx, [ebp - 0x210]
call fcn.00403260
lea ecx, [ebp - 0x5e]
mov dword [ebp - 0x5e], 0xd29988d5
mov word [ebp - 0x5a], 0x100
call fcn.004637e0
push 0
lea eax, [ebp - 0x5e]
push eax
lea ecx, [ebp - 0x2d8]
call fcn.004660d0
cmp eax, 0xffffffff
jne 0x4617c0
lea ecx, [ebp - 0x2ac]
call fcn.00463360
lea eax, [ebp - 0x348]
push eax
lea ecx, [ebp - 0x2ac]
call fcn.00467b90
test al, al
je 0x461230
mov ebx, dword [0x50c1dc]
sub esp, 0x18
lea eax, [ebp - 0x2d8]
mov ecx, esp
push eax
call fcn.00466660
sub esp, 0x18
lea eax, [ebp - 0x2f0]
mov ecx, esp
push eax
call fcn.00466660
sub esp, 0x18
lea eax, [ebp - 0x308]
mov ecx, esp
push eax
call fcn.00466660
call fcn.0040a120
add esp, 0x48
cmp byte [0x535eb9], 0
jne 0x4627e7
call fcn.0044bc00
call fcn.0044e210
push 0x520d9c
call ebx
mov ecx, 0x536044
call fcn.00462f70
mov ecx, 0x536168
call fcn.00462f70
mov esi, dword [0x50c0c0]
push 0
push 0
push 0
push 0x44ddf0
push 0
push 0
call esi
push 0
push 0
push 0
push 0x44efa0
push 0
push 0
mov dword [ebp - 0x24], eax
call esi
push 0
push 0
push 0
push 0x452f90
push 0
push 0
mov dword [ebp - 0x44], eax
call esi
mov dword [ebp - 0x40], eax
call fcn.0043c8a0
test al, al
je 0x461a15
lea ecx, [ebp - 0x3e0]
call fcn.0043cb30
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], 0x858c8585
mov edi, eax
mov dword [ebp - 0x1c], 0x1009d83
call fcn.00411100
sub esp, 0x10
mov dword [ebp - 0x19c], 0x809e8bbf
mov esi, esp
mov dword [ebp - 0x198], 0xb5a6b199
mov ecx, edi
mov word [ebp - 0x194], 0x100
push eax
call fcn.0046a720
push eax
mov ecx, esi
call fcn.00464160
lea ecx, [ebp - 0x19c]
call fcn.0040fa20
push eax
mov ecx, 0x536100
call fcn.0046a720
mov ecx, eax
call fcn.00464120
lea ecx, [ebp - 0x3e0]
call fcn.00464100
call fcn.0043cb00
lea ecx, [ebp - 0x358]
call fcn.0043d9f0
lea ecx, [ebp - 0x154]
mov dword [ebp - 0x154], 0x858c8585
mov edi, eax
mov dword [ebp - 0x150], 0x1009d83
call fcn.004634b0
movaps xmm0, xmmword [0x526380]
lea ecx, [ebp - 0x29c]
movups xmmword [ebp - 0x29c], xmm0
mov dword [ebp - 0x28c], 0x1008995
call fcn.00463660
sub esp, 0x10
lea eax, [ebp - 0x154]
mov esi, esp
mov ecx, edi
push eax
call fcn.0046a720
push eax
mov ecx, esi
call fcn.00464160
lea eax, [ebp - 0x29c]
mov ecx, 0x536100
push eax
call fcn.0046a720
mov ecx, eax
call fcn.00464120
push dword [ebp - 0x358]
lea ecx, [ebp - 0x350]
call fcn.00467d00
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461b19
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461b19
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop word [eax + eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x461b12
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x461af5
cmp esi, 0x71948ca4
je 0x461b1d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461ae0
mov eax, dword [eax]
jmp 0x461ab4
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x493e0
push dword [ebp - 0x24]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
push 0
push 0x1170e7
call fcn.00408920
add esp, 8
push eax
push dword [ebp - 0x44]
call dword [0x50c058]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461bc9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461bc9
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax + eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x461bc2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x461ba5
cmp esi, 0x71948ca4
je 0x461bcd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461b90
mov eax, dword [eax]
jmp 0x461b65
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x493e0
push dword [ebp - 0x40]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461c64
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461c64
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x461c5d
nop dword [eax + eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x461c40
cmp esi, 0xfaba0065
je 0x461c68
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461c26
mov eax, dword [eax]
jmp 0x461c00
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x24]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461cf4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461cf4
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x461ced
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x461cd0
cmp esi, 0xfaba0065
je 0x461cf8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461cb8
mov eax, dword [eax]
jmp 0x461c92
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x44]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461d84
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461d84
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x461d7d
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x461d60
cmp esi, 0xfaba0065
je 0x461d88
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461d48
mov eax, dword [eax]
jmp 0x461d22
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x40]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov ebx, dword [0x50c0c0]
push 0
push 0
push 0
push 0x453550
push 0
push 0
call ebx
push 0
push 0
push 0
push 0x454ef0
push 0
push 0
mov dword [ebp - 0x24], eax
call ebx
push 0
push 0
push 0
push 0x457f20
push 0
push 0
mov dword [ebp - 0x44], eax
call ebx
push 0
push 0
push 0
push 0x45a180
push 0
push 0
mov dword [ebp - 0x40], eax
call ebx
push 0
push 0
push 0
push 0x45cc70
push 0
push 0
mov dword [ebp - 0x7c], eax
call ebx
push 0
push 0
push 0
push 0x45cdc0
push 0
push 0
mov dword [ebp - 0x80], eax
call ebx
push 0
push 0
push 0
push 0x45e8c0
push 0
push 0
mov dword [ebp - 0x74], eax
call ebx
sub esp, 0x18
mov dword [ebp - 0x78], eax
mov ecx, esp
push 0x533ae4
call fcn.00466660
sub esp, 0x18
lea eax, [ebp - 0x268]
mov ecx, esp
push eax
call fcn.00466660
sub esp, 0x18
lea eax, [ebp - 0x280]
mov ecx, esp
push eax
call fcn.00466660
sub esp, 0x18
mov ecx, esp
push 0x533afc
call fcn.00466660
call fcn.0040e5e0
mov eax, dword fs:[0x30]
add esp, 0x60
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461ef4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461ef4
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x461eed
nop dword [eax + eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x461ed0
cmp esi, 0x71948ca4
je 0x461ef8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461eb6
mov eax, dword [eax]
jmp 0x461e90
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x493e0
push dword [ebp - 0x24]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461f89
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461f89
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x461f82
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x461f65
cmp esi, 0x71948ca4
je 0x461f8d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461f50
mov eax, dword [eax]
jmp 0x461f27
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x493e0
push dword [ebp - 0x44]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
push 0x493e0
push dword [ebp - 0x40]
call dword [0x50c058]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x462034
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x462034
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x46202d
nop dword [eax + eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x462010
cmp esi, 0x71948ca4
je 0x462038
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461ff6
mov eax, dword [eax]
jmp 0x461fd0
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x493e0
push dword [ebp - 0x7c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
push 0x493e0
push dword [ebp - 0x80]
call dword [0x50c058]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x4620d9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4620d9
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax + eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4620d2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4620b5
cmp esi, 0x71948ca4
je 0x4620dd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4620a0
mov eax, dword [eax]
jmp 0x462075
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x493e0
push dword [ebp - 0x74]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x462174
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x462174
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x46216d
nop dword [eax + eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x462150
cmp esi, 0x71948ca4
je 0x462178
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x462136
mov eax, dword [eax]
jmp 0x462110
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x493e0
push dword [ebp - 0x78]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x462209
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x462209
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x462202
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4621e5
cmp esi, 0xfaba0065
je 0x46220d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4621d0
mov eax, dword [eax]
jmp 0x4621a7
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x24]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [esi + edx]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x462299
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x462299
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x462292
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x462275
cmp esi, 0xfaba0065
je 0x46229d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x462260
mov eax, dword [eax]
jmp 0x462237
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x44]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
push dword [ebp - 0x40]
call dword [0x50c0b8]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [esi + edx]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x462334
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x462334
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x46232d
nop dword [eax + eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x462310
cmp esi, 0xfaba0065
je 0x462338
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4622f6
mov eax, dword [eax]
jmp 0x4622d0
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x7c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [esi + edx]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x4623c4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4623c4
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4623bd
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4623a0
cmp esi, 0xfaba0065
je 0x4623c8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x462388
mov eax, dword [eax]
jmp 0x462362
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x80]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x462454
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x462454
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x46244d
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x462430
cmp esi, 0xfaba0065
je 0x462458
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x462418
mov eax, dword [eax]
jmp 0x4623f2
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x74]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x4624e4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4624e4
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4624dd
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4624c0
cmp esi, 0xfaba0065
je 0x4624e8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4624a8
mov eax, dword [eax]
jmp 0x462482
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x78]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
lea ecx, [ebp - 0xac]
mov dword [ebp - 0xac], 0x9c8290c7
mov word [ebp - 0xa8], 0x100
call fcn.004637e0
lea ecx, [ebp - 0x8b]
mov word [ebp - 0x8b], 0xb6
mov byte [ebp - 0x89], 1
call fcn.00463990
lea eax, [ebp - 0x8b]
push 0x533ae4
push eax
lea edx, [ebp - 0x22c]
lea ecx, [ebp - 0x4c8]
call fcn.0046a3b0
add esp, 4
lea ecx, [ebp - 0x4b0]
mov edx, eax
call fcn.0046a5d0
lea ecx, [ebp - 0xac]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x462580
sub ecx, esi
lea eax, [ebp - 0xac]
push ecx
push eax
mov ecx, edx
call fcn.00468f90
push eax
lea ecx, [ebp - 0x320]
call fcn.004032b0
lea ecx, [ebp - 0x4b0]
call fcn.00403260
lea ecx, [ebp - 0x4c8]
call fcn.00403260
lea ecx, [ebp - 0x3a]
mov dword [ebp - 0x3a], 0x9c8290c7
mov word [ebp - 0x36], 0x100
call fcn.004637e0
mov edx, 0x17
lea ecx, [ebp - 0x4f8]
call fcn.0040d340
push eax
lea edx, [ebp - 0x818]
lea ecx, [ebp - 0x4e0]
call fcn.0046a4d0
lea ecx, [ebp - 0x3a]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x462600
sub ecx, esi
lea eax, [ebp - 0x3a]
push ecx
push eax
mov ecx, edx
call fcn.00468f90
push eax
lea ecx, [ebp - 0x3b4]
call fcn.004032b0
lea ecx, [ebp - 0x4e0]
call fcn.00403260
lea ecx, [ebp - 0x4f8]
call fcn.00403260
mov ecx, 0x536190
call fcn.004033a0
lea ecx, [ebp - 0x3b4]
mov ebx, eax
call fcn.004033a0
sub esp, 0x18
mov esi, eax
mov edi, esp
mov ecx, edi
push dword [ebp - 0x10]
call fcn.004033f0
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x462664
sub ecx, edx
push ecx
push esi
mov ecx, edi
call fcn.00403410
sub esp, 0x18
mov ecx, esp
push 0x533afc
call fcn.00466660
mov ecx, ebx
call fcn.00407e20
add esp, 0x18
lea eax, [ebp - 0x320]
mov ecx, esp
push eax
call fcn.00466660
sub esp, 0x18
lea eax, [ebp - 0x3b4]
mov ecx, esp
push eax
call fcn.00466660
call fcn.00420170
add esp, 0x30
cmp byte [0x535eb3], 0
je 0x462745
cmp byte [ebp - 0x15], 0
jne 0x462745
sub esp, 0x10
mov ecx, esp
push 0x536158
call fcn.00464160
sub esp, 0x10
mov ecx, esp
push 0x536050
call fcn.00464160
sub esp, 0x10
mov ecx, esp
push 0x536100
call fcn.00464160
sub esp, 0x10
mov ecx, esp
push 0x536120
call fcn.00464160
sub esp, 0x10
mov ecx, esp
push 0x536110
call fcn.00464160
sub esp, 0x10
mov ecx, esp
push 0x536070
call fcn.00464160
sub esp, 0x18
lea eax, [ebp - 0x22c]
mov ecx, esp
push eax
call fcn.00466660
call fcn.0041b040
add esp, 0x78
test al, al
je 0x462745
sub esp, 0x18
lea eax, [ebp - 0x250]
mov ecx, esp
push eax
call fcn.00466660
sub esp, 0x10
mov ecx, esp
push 0x536158
call fcn.00464160
sub esp, 0x10
mov ecx, esp
push 0x536050
call fcn.00464160
sub esp, 0x10
mov ecx, esp
push 0x536100
call fcn.00464160
sub esp, 0x10
mov ecx, esp
push 0x536120
call fcn.00464160
sub esp, 0x10
mov ecx, esp
push 0x536110
call fcn.00464160
sub esp, 0x10
mov ecx, esp
push 0x536070
call fcn.00464160
sub esp, 0x18
lea eax, [ebp - 0x22c]
mov ecx, esp
push eax
call fcn.00466660
call fcn.00445ea0
add esp, 0x90
lea ecx, [ebp - 0x3b4]
call fcn.00403260
lea ecx, [ebp - 0x320]
call fcn.00403260
jmp 0x462876
cmp byte [0x535eb3], 0
je 0x462876
cmp byte [ebp - 0x15], 0
jne 0x462876
sub esp, 0x10
mov ecx, esp
push 0x536158
call fcn.00464160
sub esp, 0x10
mov ecx, esp
push 0x536050
call fcn.00464160
sub esp, 0x10
mov ecx, esp
push 0x536100
call fcn.00464160
sub esp, 0x10
mov ecx, esp
push 0x536120
call fcn.00464160
sub esp, 0x10
mov ecx, esp
push 0x536110
call fcn.00464160
sub esp, 0x10
mov ecx, esp
push 0x536070
call fcn.00464160
sub esp, 0x18
lea eax, [ebp - 0x22c]
mov ecx, esp
push eax
call fcn.00466660
call fcn.0041b040
add esp, 0x78
test al, al
je 0x462876
call fcn.004172d0
lea ecx, [ebp - 0x2d8]
call fcn.00403260
lea ecx, [ebp - 0x2f0]
call fcn.00403260
lea ecx, [ebp - 0x308]
call fcn.00403260
lea ecx, [ebp - 0x414]
call fcn.00462c10
lea ecx, [ebp - 0x41c]
call fcn.00462c70
lea ecx, [ebp - 0x268]
call fcn.00403260
lea ecx, [ebp - 0x280]
call fcn.00403260
push 0x520dac
call dword [0x50c1dc]
cmp byte [0x535eb3], 0
je 0x462a71
cmp byte [ebp - 0x15], 0
je 0x462a71
sub esp, 0x10
mov ecx, esp
push 0x536158
call fcn.00464160
sub esp, 0x10
mov ecx, esp
push 0x536050
call fcn.00464160
sub esp, 0x10
mov ecx, esp
push 0x536100
call fcn.00464160
sub esp, 0x10
mov ecx, esp
push 0x536120
call fcn.00464160
sub esp, 0x10
mov ecx, esp
push 0x536110
call fcn.00464160
sub esp, 0x10
mov ecx, esp
push 0x536070
call fcn.00464160
sub esp, 0x18
lea eax, [ebp - 0x22c]
mov ecx, esp
push eax
call fcn.00466660
call fcn.0041b040
add esp, 0x78
test al, al
je 0x462a71
push str.BitBlt
lea ecx, [ebp - 0x1ed]
mov dword [ebp - 0x1ed], 0x8f82869a
mov dword [ebp - 0x1e9], 0x9983bd86
mov dword [ebp - 0x1e5], 0x9ab29795
mov word [ebp - 0x1e1], 0x91
mov byte [ebp - 0x1df], 1
call fcn.0040b2c0
mov edx, eax
lea ecx, [ebp - 0x510]
call fcn.0046a470
add esp, 4
mov ecx, eax
call fcn.004033a0
push eax
push 1
push 0
call dword [0x50c050]
lea ecx, [ebp - 0x510]
call fcn.00403260
call dword [0x50c090]
cmp eax, 0xb7
je 0x462ab0
mov ebx, dword [0x50c078]
push 0x7530
call ebx
sub esp, 0x18
mov dword [ebp - 0x192], 0xafa5bca1
lea ecx, [ebp - 0x192]
mov dword [ebp - 0x18e], 0x9c838ac3
mov word [ebp - 0x18a], 0x100
mov esi, esp
call fcn.0040fa20
push eax
mov ecx, esi
call fcn.00403300
call fcn.0041fce0
mov ecx, dword [0x536178]
mov eax, 0x2aaaaaab
sub ecx, dword [0x536174]
add esp, 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x462a68
push 0x64
call ebx
mov ecx, dword [0x536178]
mov eax, 0x2aaaaaab
sub ecx, dword [0x536174]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x462a45
mov byte [0x535e91], 1
jmp 0x462a77
mov ebx, dword [0x50c078]
push 0xbb8
call ebx
push 2
push dword [0x533aac]
call dword [0x50c348]
push dword [0x533aac]
call dword [0x50c340]
cmp byte [0x535eb3], 0
je 0x462ab0
cmp byte [ebp - 0x15], 0
je 0x462ab0
push 0x3e8
call ebx
jmp 0x462aa7
lea ecx, [ebp - 0x250]
xor esi, esi
call fcn.00403260
lea ecx, [ebp - 0x3cc]
call fcn.00403260
lea ecx, [ebp - 0x22c]
call fcn.00403260
mov ecx, dword [ebp - 0x1f4]
test ecx, ecx
je 0x462ae2
call fcn.00404160
lea ecx, [ebp - 0x400]
call fcn.00403260
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x10