Function at 0x4b8530
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Hash data using fnv
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x8c8
mov eax, dword [0x4d700c]
xor eax, esp
mov dword [esp + 0x8c4], eax
push esi
push edi
mov edi, dword [0x4d7880]
mov dword [esp + 0xe4], ecx
xor ecx, ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
cmp byte [0x4d77c7], cl
je 0x4ba94c
mov esi, dword [eax + 0x20]
mov dword [esp + 0x2c], eax
add esi, edi
mov dword [esp + 0x24], ecx
nop dword [eax]
mov ecx, dword [esi]
mov edx, 0xe7627009
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b85ad
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b8590
cmp edx, 0x7584baf6
je 0x4b85b6
inc dword [esp + 0x24]
add esi, 4
jmp 0x4b8580
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
push dword [esp + 0xe4]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov edi, dword [0x4d7880]
mov dword [esp + 0x24], eax
mov ecx, dword [edi + 0x3c]
mov eax, dword [ecx + edi + 0x78]
xor ecx, ecx
add eax, edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x2c], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop
mov ecx, dword [esi]
mov edx, 0x83801b5c
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b862d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b8610
cmp edx, 0xc840089d
je 0x4b8636
inc dword [esp + 0x14]
add esi, 4
jmp 0x4b8600
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
push 0x1db
push 0x35c
mov eax, dword [edx + 0x24]
push dword [esp + 0xec]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov dword [esp + 0x148], eax
xor edi, edi
mov eax, dword [0x4d7880]
mov ecx, dword [eax + 0x3c]
mov ecx, dword [ecx + eax + 0x78]
add ecx, eax
mov dword [esp + 0x2c], ecx
mov esi, dword [ecx + 0x20]
add esi, eax
mov ecx, dword [esi]
mov edx, 0x78d18558
add ecx, eax
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b86b3
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b8696
cmp edx, 0x29468887
je 0x4b86be
mov eax, dword [0x4d7880]
inc edi
add esi, 4
jmp 0x4b8686
mov esi, dword [esp + 0x2c]
mov edx, dword [0x4d7880]
push dword [esp + 0x148]
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
mov esi, dword [esp + 0x28]
push esi
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov dword [esp + 0x30], eax
lea eax, [esp + 0x704]
push eax
push esi
mov dword [esp + 0x70c], 0
call dword [sym.imp.gdiplus.dll_GdipCreateFromHDC]
mov ecx, dword [esp + 0x704]
xorps xmm0, xmm0
mov dword [esp + 0x72c], eax
lea eax, [esp + 0x27c]
mov dword [esp + 0x728], ecx
lea ecx, [esp + 0x824]
push eax
movq qword [esp + 0x828], xmm0
mov dword [esp + 0x830], 0
mov dword [esp + 0x280], 0xff17181c
call fcn.004b5f70
lea eax, [esp + 0x278]
mov dword [esp + 0x788], 0
xorps xmm0, xmm0
mov dword [esp + 0x278], 0xff1b1d22
push eax
lea ecx, [esp + 0x784]
movq qword [esp + 0x784], xmm0
call fcn.004b5f70
lea eax, [esp + 0x274]
mov dword [esp + 0x77c], 0
xorps xmm0, xmm0
mov dword [esp + 0x274], 0xff202328
push eax
lea ecx, [esp + 0x778]
movq qword [esp + 0x778], xmm0
call fcn.004b5f70
lea eax, [esp + 0x280]
mov dword [esp + 0x79c], 0
xorps xmm0, xmm0
mov dword [esp + 0x280], 0xffcccccc
push eax
lea ecx, [esp + 0x798]
movq qword [esp + 0x798], xmm0
call fcn.004b5f70
lea eax, [esp + 0x270]
mov dword [esp + 0x7b0], 0
xorps xmm0, xmm0
mov dword [esp + 0x270], 0xff636363
push eax
lea ecx, [esp + 0x7ac]
movq qword [esp + 0x7ac], xmm0
call fcn.004b5f70
lea eax, [esp + 0x26c]
mov dword [esp + 0x760], 0
xorps xmm0, xmm0
mov dword [esp + 0x26c], 0xffffc95d
push eax
lea ecx, [esp + 0x75c]
movq qword [esp + 0x75c], xmm0
call fcn.004b5f70
lea eax, [esp + 0x268]
mov dword [esp + 0x7f0], 0
xorps xmm0, xmm0
mov dword [esp + 0x268], 0xff15161a
push eax
lea ecx, [esp + 0x7ec]
movq qword [esp + 0x7ec], xmm0
call fcn.004b5f70
xorps xmm0, xmm0
mov dword [esp + 0x838], 0
movq qword [esp + 0x830], xmm0
lea eax, [esp + 0x264]
mov dword [esp + 0x264], 0xfff4f4f4
push eax
lea ecx, [esp + 0x834]
call fcn.004b5f70
lea eax, [esp + 0x260]
mov dword [esp + 0x7e4], 0
xorps xmm0, xmm0
mov dword [esp + 0x260], 0xffbe974a
push eax
lea ecx, [esp + 0x7e0]
movq qword [esp + 0x7e0], xmm0
call fcn.004b5f70
lea eax, [esp + 0x1dc]
mov dword [esp + 0x7d8], 0
xorps xmm0, xmm0
mov dword [esp + 0x1dc], 0xffffde72
push eax
lea ecx, [esp + 0x7d4]
movq qword [esp + 0x7d4], xmm0
call fcn.004b5f70
xorps xmm0, xmm0
mov word [esp + 0x1f4], 0x1524
movlpd qword [esp + 0x76c], xmm0
xor ecx, ecx
movaps xmm0, xmmword [0x4d1af0]
movups xmmword [esp + 0x1e4], xmm0
mov byte [esp + 0x1f6], 0
nop dword [eax]
mov al, byte [esp + 0x1e4]
xor byte [esp + ecx + 0x1e5], al
inc ecx
cmp ecx, 0x11
jb 0x4b8970
sub esp, 0x18
mov byte [esp + 0x20e], 0
mov esi, esp
mov ecx, esi
call fcn.004b5a80
lea ecx, [esp + 0x1fd]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b89a2
sub ecx, edx
lea eax, [esp + 0x1fd]
push ecx
push eax
mov ecx, esi
call fcn.004b5700
lea ecx, [esp + 0x560]
call fcn.004bece0
add esp, 0x18
mov ecx, eax
call fcn.004b43c0
lea ecx, [esp + 0x76c]
push ecx
push 0
push eax
call dword [sym.imp.gdiplus.dll_GdipCreateFontFamilyFromName]
lea ecx, [esp + 0x548]
mov dword [esp + 0x770], eax
call fcn.004b4ab0
mov esi, dword [sym.imp.gdiplus.dll_GdipCreateFont]
lea eax, [esp + 0x708]
push eax
push 3
push 1
push ecx
mov dword [esp], 0x41680000
push dword [esp + 0x77c]
mov dword [esp + 0x71c], 0
call esi
mov dword [esp + 0x840], eax
mov eax, dword [esp + 0x708]
mov dword [esp + 0x83c], eax
lea eax, [esp + 0x70c]
push eax
push 3
push 1
push ecx
mov dword [esp], 0x41880000
push dword [esp + 0x77c]
mov dword [esp + 0x720], 0
call esi
mov dword [esp + 0x790], eax
mov eax, dword [esp + 0x70c]
mov dword [esp + 0x78c], eax
lea eax, [esp + 0x710]
push eax
push 3
push 1
push ecx
mov dword [esp], 0x41940000
push dword [esp + 0x77c]
mov dword [esp + 0x724], 0
call esi
mov dword [esp + 0x7a4], eax
mov eax, dword [esp + 0x710]
mov dword [esp + 0x7a0], eax
lea eax, [esp + 0x714]
push eax
push 3
push 1
push ecx
mov dword [esp], 0x419c0000
push dword [esp + 0x77c]
mov dword [esp + 0x728], 0
call esi
mov eax, dword [esp + 0x714]
mov dword [esp + 0x1d8], eax
lea eax, [esp + 0x718]
push eax
push 3
push 1
push ecx
mov dword [esp], 0x41b80000
push dword [esp + 0x77c]
mov dword [esp + 0x72c], 0
call esi
mov dword [esp + 0x7c4], eax
xorps xmm0, xmm0
mov eax, dword [esp + 0x718]
mov dword [esp + 0x7c0], eax
movlpd qword [esp + 0x738], xmm0
lea eax, [esp + 0x738]
push eax
push 0
push 0
call dword [sym.imp.gdiplus.dll_GdipCreateStringFormat]
push 1
push dword [esp + 0x73c]
mov dword [esp + 0x744], eax
call dword [sym.imp.gdiplus.dll_GdipSetStringFormatAlign]
mov ecx, dword [esp + 0x73c]
test eax, eax
push 0x1f6
push 0x35e
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [esp + 0x838]
cmovne ecx, eax
push dword [esp + 0x73c]
mov dword [esp + 0x754], ecx
call dword [sym.imp.gdiplus.dll_GdipFillRectangleI]
mov ecx, dword [esp + 0x72c]
test eax, eax
push 4
push dword [esp + 0x72c]
cmovne ecx, eax
mov dword [esp + 0x734], ecx
call dword [sym.imp.gdiplus.dll_GdipSetSmoothingMode]
mov ecx, dword [esp + 0x72c]
test eax, eax
push 4
push dword [esp + 0x72c]
cmovne ecx, eax
mov dword [esp + 0x734], ecx
call dword [sym.imp.gdiplus.dll_GdipSetTextRenderingHint]
mov ecx, dword [esp + 0x72c]
test eax, eax
push 2
push dword [esp + 0x72c]
cmovne ecx, eax
mov dword [esp + 0x734], ecx
call dword [sym.imp.gdiplus.dll_GdipSetCompositingQuality]
mov ecx, dword [esp + 0x72c]
test eax, eax
cmovne ecx, eax
cmp dword [0x4d77c0], 2
mov dword [esp + 0x72c], ecx
jne 0x4b8c44
mov eax, dword [0x4d7800]
test eax, eax
je 0x4b8c1e
mov eax, dword [eax + 4]
jmp 0x4b8c20
xor eax, eax
mov edi, dword [sym.imp.gdiplus.dll_GdipDrawImageI]
push 0x14
push 0x334
push eax
push dword [esp + 0x734]
call edi
test eax, eax
je 0x4b8c7e
mov dword [esp + 0x72c], eax
jmp 0x4b8c7e
mov eax, dword [0x4d784c]
test eax, eax
je 0x4b8c52
mov eax, dword [eax + 4]
jmp 0x4b8c54
xor eax, eax
mov edi, dword [sym.imp.gdiplus.dll_GdipDrawImageI]
push 0x14
push 0x334
push eax
push dword [esp + 0x734]
call edi
mov ecx, dword [esp + 0x72c]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x72c], ecx
cmp dword [0x4d77c0], 3
jne 0x4b8cb5
mov eax, dword [0x4d7814]
test eax, eax
je 0x4b8c95
mov eax, dword [eax + 4]
jmp 0x4b8c97
xor eax, eax
push 0x22
push 0x316
push eax
push dword [esp + 0x734]
call edi
test eax, eax
je 0x4b8ce9
mov dword [esp + 0x72c], eax
jmp 0x4b8ce9
mov eax, dword [0x4d77d8]
test eax, eax
je 0x4b8cc3
mov eax, dword [eax + 4]
jmp 0x4b8cc5
xor eax, eax
push 0x22
push 0x316
push eax
push dword [esp + 0x734]
call edi
mov ecx, dword [esp + 0x72c]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x72c], ecx
movaps xmm0, xmmword [0x4d1060]
lea edx, [esp + 0x780]
sub esp, 0x10
lea ecx, [esp + 0x738]
mov eax, esp
push 5
push 0xff1b1d22
movups xmmword [eax], xmm0
call fcn.004b8330
mov eax, dword [0x4d782c]
add esp, 0x18
test eax, eax
je 0x4b8d23
mov eax, dword [eax + 4]
jmp 0x4b8d25
xor eax, eax
push 0x19
push 0x20
push eax
push dword [esp + 0x734]
call edi
mov ecx, dword [esp + 0x72c]
lea edx, [esp + 0x780]
movaps xmm0, xmmword [0x4d10a0]
test eax, eax
cmovne ecx, eax
sub esp, 0x10
mov eax, esp
mov dword [esp + 0x73c], ecx
lea ecx, [esp + 0x738]
push 5
push 0xff1b1d22
movups xmmword [eax], xmm0
call fcn.004b8330
movaps xmm0, xmmword [0x4d0fd0]
lea ecx, [esp + 0x740]
add esp, 0x18
sub esp, 0x10
cmp dword [0x4d77c0], 5
mov eax, esp
push 6
movups xmmword [eax], xmm0
jne 0x4b8da1
push 0xffffde72
lea edx, [esp + 0x7e8]
jmp 0x4b8dad
push 0xffffc95d
lea edx, [esp + 0x770]
call fcn.004b8330
mov eax, dword [0x4d7818]
add esp, 0x18
test eax, eax
je 0x4b8dc3
mov eax, dword [eax + 4]
jmp 0x4b8dc5
xor eax, eax
push 0x20
push 0x6c
push eax
push dword [esp + 0x734]
call edi
mov ecx, dword [esp + 0x72c]
test eax, eax
cmovne ecx, eax
lea eax, [esp + 0x348]
mov dword [esp + 0x72c], ecx
mov ecx, 0x4d7098
push eax
call fcn.004b44b0
mov ecx, 0x4d7098
mov esi, dword [eax]
lea eax, [esp + 0x34c]
push eax
call fcn.004b44d0
lea ecx, [esp + 0x1e3]
push ecx
push esi
push dword [eax]
lea ecx, [esp + 0x524]
call fcn.004b5410
mov dword [esp + 0x2c], eax
mov cl, 0x24
mov byte [esp + 0x114], 0x6d
mov al, 0x15
xor cl, byte [esp + 0x114]
mov ch, 9
mov byte [esp + 0x115], cl
sub esp, 0x18
mov cl, byte [esp + 0x12c]
mov dl, 3
xor al, cl
mov byte [esp + 0x43], 0x4d
mov byte [esp + 0x131], al
xor ch, cl
mov al, byte [esp + 0x43]
mov dh, 8
mov ah, 0x57
mov byte [esp + 0x12f], ch
xor dl, cl
mov byte [esp + 0x134], 0
xor dh, cl
mov byte [esp + 0x12e], dl
xor ah, cl
mov byte [esp + 0x130], dh
xor al, cl
mov byte [esp + 0x132], ah
mov esi, esp
mov byte [esp + 0x133], al
mov ecx, esi
mov byte [esp + 0x134], 0
call fcn.004b5a80
lea ecx, [esp + 0x12d]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b8eb5
sub ecx, edx
lea eax, [esp + 0x12d]
push ecx
push eax
mov ecx, esi
call fcn.004b5700
lea ecx, [esp + 0x548]
call fcn.004bece0
add esp, 0x18
mov ecx, eax
call fcn.004b43c0
mov edx, eax
lea esi, [edx + 2]
nop dword [eax]
mov cx, word [edx]
add edx, 2
test cx, cx
jne 0x4b8ef0
mov ecx, dword [esp + 0x2c]
sub edx, esi
sar edx, 1
push edx
push eax
push 0
call fcn.004be980
push eax
lea ecx, [esp + 0x8b8]
call fcn.004be4b0
lea ecx, [esp + 0x530]
call fcn.004b4ab0
lea ecx, [esp + 0x518]
call fcn.004b4ab0
cmp dword [0x4d77c0], 4
lea ecx, [esp + 0x8b4]
jne 0x4b8f67
mov dword [esp + 0x2e8], 0x438e0000
lea esi, [esp + 0x2e8]
mov dword [esp + 0x2ec], 0x42040000
lea eax, [esp + 0x830]
jmp 0x4b8f8b
mov dword [esp + 0x2c0], 0x438e0000
lea esi, [esp + 0x2c0]
mov dword [esp + 0x2c4], 0x42040000
lea eax, [esp + 0x794]
mov dword [esp + 0x14], eax
call fcn.004b43c0
push dword [esp + 0x14]
lea ecx, [esp + 0x73c]
push ecx
push esi
lea ecx, [esp + 0x848]
push ecx
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x740]
call fcn.004b6070
movaps xmm0, xmmword [0x4d1070]
lea edx, [esp + 0x780]
sub esp, 0x10
lea ecx, [esp + 0x738]
mov eax, esp
push 5
push 0xff1b1d22
movups xmmword [eax], xmm0
call fcn.004b8330
movaps xmm0, xmmword [0x4d0fc0]
lea edx, [esp + 0x7ac]
add esp, 8
lea ecx, [esp + 0x738]
mov eax, esp
push 0x14
push 0xffcccccc
movups xmmword [eax], xmm0
call fcn.004b8330
add esp, 0x18
cmp dword [0x4d77c0], 0x3f3
jne 0x4b9051
mov eax, dword [0x4d77fc]
test eax, eax
je 0x4b9027
mov eax, dword [eax + 4]
jmp 0x4b9029
xor eax, eax
mov esi, dword [sym.imp.gdiplus.dll_GdipDrawImageRectI]
push 0x1a
push 0x1a
push 0x22
push 0x204
push eax
push dword [esp + 0x73c]
call esi
test eax, eax
je 0x4b908f
mov dword [esp + 0x72c], eax
jmp 0x4b908f
mov eax, dword [0x4d7854]
test eax, eax
je 0x4b905f
mov eax, dword [eax + 4]
jmp 0x4b9061
xor eax, eax
mov esi, dword [sym.imp.gdiplus.dll_GdipDrawImageRectI]
push 0x1a
push 0x1a
push 0x22
push 0x204
push eax
push dword [esp + 0x73c]
call esi
mov ecx, dword [esp + 0x72c]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x72c], ecx
cmp dword [0x4d77c0], 0x3f4
jne 0x4b90cd
mov eax, dword [0x4d7828]
test eax, eax
je 0x4b90a9
mov eax, dword [eax + 4]
jmp 0x4b90ab
xor eax, eax
push 0x1a
push 0x1a
push 0x22
push 0x22f
push eax
push dword [esp + 0x73c]
call esi
test eax, eax
je 0x4b9105
mov dword [esp + 0x72c], eax
jmp 0x4b9105
mov eax, dword [0x4d77e8]
test eax, eax
je 0x4b90db
mov eax, dword [eax + 4]
jmp 0x4b90dd
xor eax, eax
push 0x1a
push 0x1a
push 0x22
push 0x22f
push eax
push dword [esp + 0x73c]
call esi
mov ecx, dword [esp + 0x72c]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x72c], ecx
cmp dword [0x4d77c0], 0x3f5
jne 0x4b9143
mov eax, dword [0x4d785c]
test eax, eax
je 0x4b911f
mov eax, dword [eax + 4]
jmp 0x4b9121
xor eax, eax
push 0x1a
push 0x1a
push 0x22
push 0x25a
push eax
push dword [esp + 0x73c]
call esi
test eax, eax
je 0x4b917b
mov dword [esp + 0x72c], eax
jmp 0x4b917b
mov eax, dword [0x4d77d4]
test eax, eax
je 0x4b9151
mov eax, dword [eax + 4]
jmp 0x4b9153
xor eax, eax
push 0x1a
push 0x1a
push 0x22
push 0x25a
push eax
push dword [esp + 0x73c]
call esi
mov ecx, dword [esp + 0x72c]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x72c], ecx
sub esp, 0x10
lea edx, [esp + 0x784]
cmp byte [0x4d7019], 0
lea ecx, [esp + 0x738]
mov eax, esp
push 6
push 0xff202128
je 0x4b91a7
movaps xmm0, xmmword [0x4d0ff0]
jmp 0x4b91ae
movaps xmm0, xmmword [0x4d0fe0]
movups xmmword [eax], xmm0
call fcn.004b8330
mov eax, dword [0x4d7844]
add esp, 0x18
test eax, eax
je 0x4b91c7
mov eax, dword [eax + 4]
jmp 0x4b91c9
xor eax, eax
push 0x24
push 0x29f
push eax
push dword [esp + 0x734]
call edi
mov ecx, dword [esp + 0x72c]
test eax, eax
cmovne ecx, eax
mov eax, dword [0x4d77f4]
mov dword [esp + 0x72c], ecx
test eax, eax
je 0x4b91fb
mov eax, dword [eax + 4]
jmp 0x4b91fd
xor eax, eax
push 0x17
push 0x17
push 0x24
push 0x2cc
push eax
push dword [esp + 0x73c]
call esi
mov ecx, dword [esp + 0x72c]
lea edx, [esp + 0x780]
movaps xmm0, xmmword [0x4d1080]
test eax, eax
cmovne ecx, eax
sub esp, 0x10
mov eax, esp
mov dword [esp + 0x73c], ecx
lea ecx, [esp + 0x738]
push 5
push 0xff1b1d22
movups xmmword [eax], xmm0
call fcn.004b8330
xor eax, eax
add esp, 0x18
cmp byte [0x4d7019], al
je 0x4b931e
mov dword [esp + 0x2f0], 0x43d70000
mov cl, 0xd
mov dword [esp + 0x2f4], 0x42c00000
mov dword [esp + 0x1b8], 0x61685e0d
mov dword [esp + 0x1bc], 0x2d796e68
mov dword [esp + 0x1c0], 0x6c4a2d4c
mov word [esp + 0x1c4], 0x6860
mov byte [esp + 0x1c6], al
nop dword [eax]
xor byte [esp + eax + 0x1b9], cl
inc eax
cmp eax, 0xd
jae 0x4b92c6
mov cl, byte [esp + 0x1b8]
jmp 0x4b92b0
sub esp, 0x18
mov byte [esp + 0x1de], 0
mov esi, esp
mov ecx, esi
call fcn.004b5a80
lea ecx, [esp + 0x1d1]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b92e4
sub ecx, edx
lea eax, [esp + 0x1d1]
push ecx
push eax
mov ecx, esi
call fcn.004b5700
lea ecx, [esp + 0x518]
call fcn.004bece0
mov ecx, eax
lea esi, [esp + 0x518]
lea eax, [esp + 0x308]
jmp 0x4b93d9
mov dword [esp + 0x2f8], 0x43d70000
mov cl, 0x4a
mov dword [esp + 0x2fc], 0x42c00000
mov dword [esp + 0x1a8], 0xabb1884a
mov dword [esp + 0x1ac], 0xb8a2baaf
mov dword [esp + 0x1b0], 0xa9a26aaf
mov word [esp + 0x1b4], 0xb9ba
mov byte [esp + 0x1b6], 0
nop dword [eax]
xor byte [esp + eax + 0x1a9], cl
inc eax
cmp eax, 0xd
jae 0x4b9386
mov cl, byte [esp + 0x1a8]
jmp 0x4b9370
sub esp, 0x18
mov byte [esp + 0x1ce], 0
mov esi, esp
mov ecx, esi
call fcn.004b5a80
lea ecx, [esp + 0x1c1]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b93a4
sub ecx, edx
lea eax, [esp + 0x1c1]
push ecx
push eax
mov ecx, esi
call fcn.004b5700
lea ecx, [esp + 0x500]
call fcn.004bed50
mov ecx, eax
lea esi, [esp + 0x500]
lea eax, [esp + 0x310]
add esp, 0x18
mov dword [esp + 0x14], eax
call fcn.004b43c0
lea ecx, [esp + 0x794]
push ecx
lea ecx, [esp + 0x73c]
push ecx
push dword [esp + 0x1c]
lea ecx, [esp + 0x7ac]
push ecx
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x740]
call fcn.004b6070
mov ecx, esi
call fcn.004b4ab0
movaps xmm0, xmmword [0x4d1790]
lea edx, [esp + 0x774]
sub esp, 0x10
lea ecx, [esp + 0x738]
mov eax, esp
push 5
push 0xff202128
movups xmmword [eax], xmm0
call fcn.004b8330
movaps xmm0, xmmword [0x4d17a0]
lea edx, [esp + 0x78c]
add esp, 8
lea ecx, [esp + 0x738]
mov eax, esp
push 5
push 0xff202128
movups xmmword [eax], xmm0
call fcn.004b8330
movaps xmm0, xmmword [0x4d17b0]
lea edx, [esp + 0x78c]
add esp, 8
lea ecx, [esp + 0x738]
mov eax, esp
push 5
push 0xff202128
movups xmmword [eax], xmm0
call fcn.004b8330
movaps xmm0, xmmword [0x4d17c0]
lea edx, [esp + 0x798]
add esp, 8
lea ecx, [esp + 0x738]
mov eax, esp
push 5
push 0xff1b1d22
movups xmmword [eax], xmm0
call fcn.004b8330
movaps xmm0, xmmword [0x4d17d0]
lea edx, [esp + 0x798]
add esp, 8
lea ecx, [esp + 0x738]
mov eax, esp
push 5
push 0xff1b1d22
movups xmmword [eax], xmm0
call fcn.004b8330
movaps xmm0, xmmword [0x4d17e0]
lea edx, [esp + 0x798]
add esp, 8
lea ecx, [esp + 0x738]
mov eax, esp
push 5
push 0xff1b1d22
movups xmmword [eax], xmm0
call fcn.004b8330
movaps xmm0, xmmword [0x4d1030]
lea edx, [esp + 0x78c]
add esp, 8
lea ecx, [esp + 0x738]
mov eax, esp
push 6
push 0xff202128
movups xmmword [eax], xmm0
call fcn.004b8330
movaps xmm0, xmmword [0x4d1040]
add esp, 8
mov eax, esp
lea edx, [esp + 0x784]
push 6
push 0xff202128
lea ecx, [esp + 0x740]
movups xmmword [eax], xmm0
call fcn.004b8330
movaps xmm0, xmmword [0x4d1050]
lea edx, [esp + 0x78c]
add esp, 8
lea ecx, [esp + 0x738]
mov eax, esp
push 6
push 0xff202128
movups xmmword [eax], xmm0
call fcn.004b8330
movaps xmm0, xmmword [0x4d1000]
lea edx, [esp + 0x770]
add esp, 8
lea ecx, [esp + 0x738]
mov eax, esp
push 6
push 0xffffc95d
movups xmmword [eax], xmm0
call fcn.004b8330
mov eax, dword [0x4d701c]
add esp, 0x18
cmp eax, 0xffffffff
jne 0x4b9734
mov cl, 0x7f
mov byte [esp + 0xfc], 0x16
mov dh, cl
mov byte [esp + 0x2b], 0x7b
xor cl, byte [esp + 0xfc]
mov al, 0x5a
xor al, byte [esp + 0xfc]
mov ah, 0x73
mov byte [esp + 0xfd], al
mov ch, 0x42
mov al, byte [esp + 0x2b]
sub esp, 0x18
mov byte [esp + 0x116], cl
mov dl, 0x70
mov cl, byte [esp + 0x114]
mov esi, esp
xor al, cl
mov byte [esp + 0x3a], ah
mov byte [esp + 0x11b], al
xor ch, cl
mov al, byte [esp + 0x3a]
xor dl, cl
xor ah, cl
mov byte [esp + 0x119], ch
xor dh, cl
mov byte [esp + 0x11d], 0
xor al, cl
mov dword [esp + 0x318], 0x43200000
mov ecx, esi
mov dword [esp + 0x31c], 0x43a38000
mov byte [esp + 0x117], dl
mov byte [esp + 0x118], ah
mov byte [esp + 0x11a], dh
mov byte [esp + 0x11c], al
mov byte [esp + 0x11d], 0
call fcn.004b5a80
lea ecx, [esp + 0x115]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b9680
sub ecx, edx
lea eax, [esp + 0x115]
push ecx
push eax
mov ecx, esi
call fcn.004b5700
lea ecx, [esp + 0x4e8]
call fcn.004bece0
add esp, 0x18
mov ecx, eax
call fcn.004b43c0
lea ecx, [esp + 0x7a8]
push ecx
lea ecx, [esp + 0x73c]
push ecx
lea ecx, [esp + 0x308]
push ecx
lea ecx, [esp + 0x798]
push ecx
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x740]
call fcn.004b6070
lea ecx, [esp + 0x4d0]
call fcn.004b4ab0
cmp dword [0x4d77c0], 0x3e9
push 0x28
push 0xe6
push 0x184
push 0x22
jne 0x4b9728
lea ecx, [esp + 0x6a8]
call fcn.004b5e40
sub esp, 0x10
lea edx, [esp + 0x7e0]
mov ecx, esp
push 6
push 0xffffde72
jmp 0x4b9953
lea ecx, [esp + 0x6b8]
jmp 0x4b993b
movss xmm2, dword [0x4cf680]
movss xmm1, dword [0x4cf678]
cmp eax, 1
jge 0x4b989e
lea ecx, [esp + 0x350]
call fcn.004b5e30
push 0x45
lea ecx, [esp + 0x48]
mov dword [esp + 0x30], eax
mov byte [esp + 0x48], 0x25
call fcn.004b5a70
push 0x6e
lea ecx, [esp + 0x48]
mov byte [esp + 0x49], al
call fcn.004b5a70
push 0x64
lea ecx, [esp + 0x48]
mov byte [esp + 0x4a], al
call fcn.004b5a70
push 0x65
lea ecx, [esp + 0x48]
mov byte [esp + 0x4b], al
call fcn.004b5a70
push 0x64
lea ecx, [esp + 0x48]
mov byte [esp + 0x4c], al
call fcn.004b5a70
mov byte [esp + 0x49], al
xor esi, esi
mov byte [esp + 0x4a], 0
push esi
lea ecx, [esp + 0x49]
call fcn.004b38e0
lea ecx, [esp + 0x44]
movzx eax, byte [eax]
push eax
call fcn.004b5a70
push esi
lea ecx, [esp + 0x49]
mov byte [esp + 0x26], al
call fcn.004b38e0
mov cl, byte [esp + 0x22]
inc esi
mov byte [eax], cl
cmp esi, 5
jb 0x4b97b4
push 5
lea ecx, [esp + 0x49]
call fcn.004b38e0
lea ecx, [esp + 0x45]
mov byte [eax], 0
call fcn.004b38d0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.004b46c0
lea ecx, [esp + 0x4d0]
call fcn.004bece0
add esp, 0x18
mov ecx, eax
call fcn.004b43c0
lea ecx, [esp + 0x7a8]
push ecx
lea ecx, [esp + 0x73c]
push ecx
push dword [esp + 0x34]
lea ecx, [esp + 0x798]
push ecx
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x740]
call fcn.004b6070
lea ecx, [esp + 0x4b8]
call fcn.004b4410
cmp dword [0x4d77c0], 0x3e9
push 0x28
push 0xe6
push 0x184
push 0x22
jne 0x4b9892
lea ecx, [esp + 0x698]
call fcn.004b5e40
sub esp, 0x10
lea edx, [esp + 0x7ec]
mov ecx, esp
push 6
push 0xffbe974a
jmp 0x4b9953
lea ecx, [esp + 0x688]
jmp 0x4b993b
lea ecx, [esp + 0x378]
call fcn.004b5e30
mov edx, dword [0x4d701c]
lea ecx, [esp + 0x4a0]
mov esi, eax
call fcn.004b7b00
mov ecx, eax
call fcn.004b43c0
lea ecx, [esp + 0x7a8]
push ecx
lea ecx, [esp + 0x73c]
push ecx
push esi
lea ecx, [esp + 0x798]
push ecx
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x740]
call fcn.004b6070
lea ecx, [esp + 0x4a0]
call fcn.004b4410
cmp dword [0x4d77c0], 0x3e9
push 0x28
push 0xe6
push 0x184
push 0x22
jne 0x4b9934
lea ecx, [esp + 0x6f8]
call fcn.004b5e40
sub esp, 0x10
lea edx, [esp + 0x7e0]
mov ecx, esp
push 6
push 0xffffde72
jmp 0x4b9953
lea ecx, [esp + 0x6e8]
call fcn.004b5e40
sub esp, 0x10
lea edx, [esp + 0x768]
mov ecx, esp
push 6
push 0xffffc95d
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
lea ecx, [esp + 0x740]
call fcn.004b8330
movaps xmm0, xmmword [0x4d1010]
lea edx, [esp + 0x770]
add esp, 0x18
lea ecx, [esp + 0x728]
sub esp, 0x10
mov eax, esp
push 6
push 0xffffc95d
movups xmmword [eax], xmm0
call fcn.004b8330
movss xmm2, dword [0x4cf680]
lea ecx, [esp + 0x388]
movss xmm1, dword [0x4cf688]
add esp, 0x18
call fcn.004b5e30
push 0x45
lea ecx, [esp + 0x38]
mov dword [esp + 0x30], eax
mov byte [esp + 0x38], 0x3d
call fcn.004b5a70
push 0x6e
lea ecx, [esp + 0x38]
mov byte [esp + 0x39], al
call fcn.004b5a70
push 0x64
lea ecx, [esp + 0x38]
mov byte [esp + 0x3a], al
call fcn.004b5a70
push 0x65
lea ecx, [esp + 0x38]
mov byte [esp + 0x3b], al
call fcn.004b5a70
push 0x64
lea ecx, [esp + 0x38]
mov byte [esp + 0x3c], al
call fcn.004b5a70
mov byte [esp + 0x39], al
xor esi, esi
mov byte [esp + 0x3a], 0
nop dword [eax + eax]
push esi
lea ecx, [esp + 0x39]
call fcn.004b38e0
lea ecx, [esp + 0x34]
movzx eax, byte [eax]
push eax
call fcn.004b5a70
push esi
lea ecx, [esp + 0x39]
mov byte [esp + 0x26], al
call fcn.004b38e0
mov cl, byte [esp + 0x22]
inc esi
mov byte [eax], cl
cmp esi, 5
jb 0x4b9a10
push 5
lea ecx, [esp + 0x39]
call fcn.004b38e0
lea ecx, [esp + 0x35]
mov byte [eax], 0
call fcn.004b38d0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.004b46c0
lea ecx, [esp + 0x3c8]
call fcn.004bece0
add esp, 0x18
mov ecx, eax
call fcn.004b43c0
lea ecx, [esp + 0x7a8]
push ecx
lea ecx, [esp + 0x73c]
push ecx
push dword [esp + 0x34]
lea ecx, [esp + 0x798]
push ecx
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x740]
call fcn.004b6070
lea ecx, [esp + 0x3b0]
call fcn.004b4410
cmp dword [0x4d77c0], 0x3ea
push 0x28
push 0xe6
push 0x184
push 0x13b
jne 0x4b9aee
lea ecx, [esp + 0x6c8]
call fcn.004b5e40
sub esp, 0x10
lea edx, [esp + 0x7ec]
mov ecx, esp
push 6
push 0xffbe974a
jmp 0x4b9b0d
lea ecx, [esp + 0x678]
call fcn.004b5e40
sub esp, 0x10
lea edx, [esp + 0x768]
mov ecx, esp
push 6
push 0xffffc95d
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
lea ecx, [esp + 0x740]
call fcn.004b8330
movaps xmm0, xmmword [0x4d1020]
lea edx, [esp + 0x770]
add esp, 0x18
lea ecx, [esp + 0x728]
sub esp, 0x10
mov eax, esp
push 6
push 0xffffc95d
movups xmmword [eax], xmm0
call fcn.004b8330
movss xmm2, dword [0x4cf680]
lea ecx, [esp + 0x370]
movss xmm1, dword [0x4cf690]
add esp, 0x18
call fcn.004b5e30
push 0x45
lea ecx, [esp + 0x40]
mov dword [esp + 0x30], eax
mov byte [esp + 0x40], 0x3f
call fcn.004b5a70
push 0x6e
lea ecx, [esp + 0x40]
mov byte [esp + 0x41], al
call fcn.004b5a70
push 0x64
lea ecx, [esp + 0x40]
mov byte [esp + 0x42], al
call fcn.004b5a70
push 0x65
lea ecx, [esp + 0x40]
mov byte [esp + 0x43], al
call fcn.004b5a70
push 0x64
lea ecx, [esp + 0x40]
mov byte [esp + 0x44], al
call fcn.004b5a70
mov byte [esp + 0x41], al
xor esi, esi
mov byte [esp + 0x42], 0
push esi
lea ecx, [esp + 0x41]
call fcn.004b38e0
lea ecx, [esp + 0x3c]
movzx eax, byte [eax]
push eax
call fcn.004b5a70
push esi
lea ecx, [esp + 0x41]
mov byte [esp + 0x26], al
call fcn.004b38e0
mov cl, byte [esp + 0x22]
inc esi
mov byte [eax], cl
cmp esi, 5
jb 0x4b9bc5
push 5
lea ecx, [esp + 0x41]
call fcn.004b38e0
lea ecx, [esp + 0x3d]
mov byte [eax], 0
call fcn.004b38d0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.004b46c0
lea ecx, [esp + 0x3f8]
call fcn.004bece0
add esp, 0x18
mov ecx, eax
call fcn.004b43c0
lea ecx, [esp + 0x7a8]
push ecx
lea ecx, [esp + 0x73c]
push ecx
push dword [esp + 0x34]
lea ecx, [esp + 0x798]
push ecx
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x740]
call fcn.004b6070
lea ecx, [esp + 0x3e0]
call fcn.004b4410
cmp dword [0x4d77c0], 0x3eb
push 0x28
push 0xe6
push 0x184
push 0x254
jne 0x4b9ca3
lea ecx, [esp + 0x668]
call fcn.004b5e40
sub esp, 0x10
lea edx, [esp + 0x7ec]
mov ecx, esp
push 6
push 0xffbe974a
jmp 0x4b9cc2
lea ecx, [esp + 0x658]
call fcn.004b5e40
sub esp, 0x10
lea edx, [esp + 0x768]
mov ecx, esp
push 6
push 0xffffc95d
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
lea ecx, [esp + 0x740]
call fcn.004b8330
mov eax, dword [0x4d77ec]
add esp, 0x18
test eax, eax
je 0x4b9ce5
mov eax, dword [eax + 4]
jmp 0x4b9ce7
xor eax, eax
push 0xb9
push 0x6e
push eax
push dword [esp + 0x734]
call edi
mov ecx, dword [esp + 0x72c]
test eax, eax
cmovne ecx, eax
mov eax, dword [0x4d7838]
mov dword [esp + 0x72c], ecx
test eax, eax
je 0x4b9d19
mov eax, dword [eax + 4]
jmp 0x4b9d1b
xor eax, eax
push 0xb9
push 0x182
push eax
push dword [esp + 0x734]
call edi
mov ecx, dword [esp + 0x72c]
test eax, eax
cmovne ecx, eax
mov eax, dword [0x4d7824]
mov dword [esp + 0x72c], ecx
test eax, eax
je 0x4b9d50
mov eax, dword [eax + 4]
jmp 0x4b9d52
xor eax, eax
push 0xb9
push 0x2a1
push eax
push dword [esp + 0x734]
call edi
mov ecx, dword [esp + 0x72c]
test eax, eax
mov dl, 0x28
mov byte [esp + 0x161], 0
cmovne ecx, eax
mov dword [esp + 0x308], 0x43140000
mov dword [esp + 0x72c], ecx
sub esp, 0x18
mov ch, 0x5b
mov dword [esp + 0x324], 0x43870000
mov cl, 0x2e
mov byte [esp + 0x174], ch
xor cl, ch
mov byte [esp + 0x179], 0
mov al, 9
mov byte [esp + 0x176], cl
mov ah, 0x2f
xor al, ch
xor dl, ch
mov byte [esp + 0x175], al
xor ah, ch
mov byte [esp + 0x177], dl
mov esi, esp
mov byte [esp + 0x178], ah
mov ecx, esi
call fcn.004b5a80
lea ecx, [esp + 0x175]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b9df0
sub ecx, edx
lea eax, [esp + 0x175]
push ecx
push eax
mov ecx, esi
call fcn.004b5700
lea ecx, [esp + 0x3b0]
call fcn.004bece0
add esp, 0x18
mov ecx, eax
call fcn.004b43c0
lea ecx, [esp + 0x794]
push ecx
lea ecx, [esp + 0x73c]
push ecx
lea ecx, [esp + 0x310]
push ecx
lea ecx, [esp + 0x7cc]
push ecx
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x740]
call fcn.004b6070
lea ecx, [esp + 0x398]
call fcn.004b4ab0
mov ch, 0x55
mov byte [esp + 0x159], 0
mov cl, 0x25
mov byte [esp + 0x154], ch
xor cl, ch
mov dword [esp + 0x310], 0x43d68000
sub esp, 0x18
mov byte [esp + 0x16e], cl
mov al, 0x14
mov dword [esp + 0x32c], 0x43870000
mov dl, 0x30
mov byte [esp + 0x171], 0
mov ah, 0x2d
xor al, ch
xor dl, ch
mov byte [esp + 0x16d], al
xor ah, ch
mov byte [esp + 0x16f], dl
mov esi, esp
mov byte [esp + 0x170], ah
mov ecx, esi
call fcn.004b5a80
lea ecx, [esp + 0x16d]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b9ed0
sub ecx, edx
lea eax, [esp + 0x16d]
push ecx
push eax
mov ecx, esi
call fcn.004b5700
lea ecx, [esp + 0x398]
call fcn.004bece0
add esp, 0x18
mov ecx, eax
call fcn.004b43c0
lea ecx, [esp + 0x794]
push ecx
lea ecx, [esp + 0x73c]
push ecx
lea ecx, [esp + 0x318]
push ecx
lea ecx, [esp + 0x7cc]
push ecx
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x740]
call fcn.004b6070
lea ecx, [esp + 0x380]
call fcn.004b4ab0
mov ch, 0x36
mov byte [esp + 0x151], 0
mov cl, 0x45
mov byte [esp + 0x14c], ch
xor cl, ch
mov dword [esp + 0x318], 0x44318000
sub esp, 0x18
mov byte [esp + 0x166], cl
mov al, 0x75
mov dword [esp + 0x334], 0x43870000
mov dl, 0x16
mov byte [esp + 0x169], 0
mov ah, 4
xor al, ch
xor dl, ch
mov byte [esp + 0x165], al
xor ah, ch
mov byte [esp + 0x167], dl
mov esi, esp
mov byte [esp + 0x168], ah
mov ecx, esi
call fcn.004b5a80
lea ecx, [esp + 0x165]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b9fb0
sub ecx, edx
lea eax, [esp + 0x165]
push ecx
push eax
mov ecx, esi
call fcn.004b5700
lea ecx, [esp + 0x590]
call fcn.004bece0
add esp, 0x18
mov ecx, eax
call fcn.004b43c0
lea ecx, [esp + 0x794]
push ecx
lea ecx, [esp + 0x73c]
push ecx
lea ecx, [esp + 0x320]
push ecx
lea ecx, [esp + 0x7cc]
push ecx
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x740]
call fcn.004b6070
lea ecx, [esp + 0x578]
call fcn.004b4ab0
push 0
push dword [esp + 0x72c]
call dword [sym.imp.gdiplus.dll_GdipSetCompositingQuality]
mov ecx, dword [esp + 0x72c]
test eax, eax
cmovne ecx, eax
mov eax, dword [0x4d7858]
mov dword [esp + 0x72c], ecx
test eax, eax
je 0x4ba04a
mov eax, dword [eax + 4]
jmp 0x4ba04c
xor eax, eax
push 0x14c
push 0x29
push eax
push dword [esp + 0x734]
call edi
mov ecx, dword [esp + 0x72c]
test eax, eax
cmovne ecx, eax
mov eax, dword [0x4d7858]
mov dword [esp + 0x72c], ecx
test eax, eax
je 0x4ba07e
mov eax, dword [eax + 4]
jmp 0x4ba080
xor eax, eax
push 0x14c
push 0x142
push eax
push dword [esp + 0x734]
call edi
mov ecx, dword [esp + 0x72c]
test eax, eax
cmovne ecx, eax
mov eax, dword [0x4d7858]
mov dword [esp + 0x72c], ecx
test eax, eax
je 0x4ba0b5
mov eax, dword [eax + 4]
jmp 0x4ba0b7
xor eax, eax
push 0x14c
push 0x25b
push eax
push dword [esp + 0x734]
call edi
mov ecx, dword [esp + 0x72c]
test eax, eax
cmovne ecx, eax
mov eax, dword [0x4d77dc]
mov dword [esp + 0x72c], ecx
test eax, eax
je 0x4ba0ec
mov eax, dword [eax + 4]
jmp 0x4ba0ee
xor eax, eax
push 0x22
push 0x1bc
push eax
push dword [esp + 0x734]
call edi
mov ecx, dword [esp + 0x72c]
test eax, eax
cmovne ecx, eax
cmp dword [0x4d701c], 0xfffffffe
mov dword [esp + 0x72c], ecx
jne 0x4ba238
mov byte [esp + 0x138], 0x35
mov al, 0x7c
xor al, byte [esp + 0x138]
mov cl, 0x5b
xor cl, byte [esp + 0x138]
mov ch, 0x50
mov byte [esp + 0x139], al
sub esp, 0x18
mov byte [esp + 0x3a], ch
mov dl, 0x15
mov al, byte [esp + 0x3a]
mov ah, 0x71
mov byte [esp + 0x152], cl
mov dh, 0x43
mov cl, byte [esp + 0x150]
mov esi, esp
xor al, cl
mov byte [esp + 0x43], 0x59
mov byte [esp + 0x157], al
xor ch, cl
mov al, byte [esp + 0x43]
xor dl, cl
xor al, cl
mov byte [esp + 0x3b], 0x5a
mov byte [esp + 0x158], al
xor ah, cl
mov al, byte [esp + 0x3b]
xor dh, cl
xor al, cl
mov byte [esp + 0x33], 0x45
mov byte [esp + 0x159], al
mov al, byte [esp + 0x33]
xor al, cl
mov byte [esp + 0x155], ch
mov byte [esp + 0x15b], 0
mov ecx, esi
mov dword [esp + 0x338], 0x43140000
mov dword [esp + 0x33c], 0x43c30000
mov byte [esp + 0x153], dl
mov byte [esp + 0x154], ah
mov byte [esp + 0x156], dh
mov byte [esp + 0x15a], al
mov byte [esp + 0x15b], 0
call fcn.004b5a80
lea ecx, [esp + 0x151]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ba200
sub ecx, edx
lea eax, [esp + 0x151]
push ecx
push eax
mov ecx, esi
call fcn.004b5700
lea ecx, [esp + 0x4a0]
call fcn.004bece0
lea esi, [esp + 0x4a0]
lea edi, [esp + 0x338]
jmp 0x4ba303
mov byte [esp + 0xf4], 8
mov al, 0x44
xor al, byte [esp + 0xf4]
mov cl, 0x69
mov byte [esp + 0xf5], al
mov ch, 0x6b
mov al, byte [esp + 0xf4]
sub esp, 0x18
xor cl, al
mov byte [esp + 0x113], 0
xor ch, al
mov byte [esp + 0x10e], cl
mov dl, 0x7d
mov byte [esp + 0x111], ch
mov ah, 0x66
mov dword [esp + 0x340], 0x43140000
mov dh, 0x60
mov dword [esp + 0x344], 0x43c30000
mov esi, esp
mov byte [esp + 0x113], 0
xor dl, al
xor ah, al
xor dh, al
mov byte [esp + 0x10f], dl
mov ecx, esi
mov byte [esp + 0x110], ah
mov byte [esp + 0x112], dh
call fcn.004b5a80
lea ecx, [esp + 0x10d]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ba2d0
sub ecx, edx
lea eax, [esp + 0x10d]
push ecx
push eax
mov ecx, esi
call fcn.004b5700
lea ecx, [esp + 0x488]
call fcn.004bece0
lea esi, [esp + 0x488]
lea edi, [esp + 0x340]
add esp, 0x18
mov ecx, eax
call fcn.004b43c0
lea ecx, [esp + 0x7e8]
push ecx
lea ecx, [esp + 0x73c]
push ecx
push edi
lea ecx, [esp + 0x7ac]
push ecx
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x740]
call fcn.004b6070
mov ecx, esi
call fcn.004b4ab0
mov byte [esp + 0x170], 0x77
mov al, 0x3e
xor al, byte [esp + 0x170]
mov cl, 0x19
xor cl, byte [esp + 0x170]
mov ch, 0x12
mov byte [esp + 0x171], al
sub esp, 0x18
mov byte [esp + 0x33], ch
mov dl, 0x57
mov al, byte [esp + 0x33]
mov ah, 0x33
mov byte [esp + 0x18a], cl
mov dh, 1
mov cl, byte [esp + 0x188]
mov esi, esp
xor al, cl
mov byte [esp + 0x3b], 0x1b
mov byte [esp + 0x18f], al
xor ch, cl
mov al, byte [esp + 0x3b]
xor dl, cl
xor al, cl
mov byte [esp + 0x3a], 0x18
mov byte [esp + 0x190], al
xor ah, cl
mov al, byte [esp + 0x3a]
xor dh, cl
xor al, cl
mov byte [esp + 0x43], 7
mov byte [esp + 0x191], al
mov al, byte [esp + 0x43]
xor al, cl
mov byte [esp + 0x18d], ch
mov byte [esp + 0x193], 0
mov ecx, esi
mov dword [esp + 0x348], 0x43d88000
mov dword [esp + 0x34c], 0x43c30000
mov byte [esp + 0x18b], dl
mov byte [esp + 0x18c], ah
mov byte [esp + 0x18e], dh
mov byte [esp + 0x192], al
mov byte [esp + 0x193], 0
call fcn.004b5a80
lea ecx, [esp + 0x189]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ba420
sub ecx, edx
lea eax, [esp + 0x189]
push ecx
push eax
mov ecx, esi
call fcn.004b5700
lea ecx, [esp + 0x470]
call fcn.004bece0
add esp, 0x18
mov ecx, eax
call fcn.004b43c0
lea ecx, [esp + 0x7e8]
push ecx
lea ecx, [esp + 0x73c]
push ecx
lea ecx, [esp + 0x338]
push ecx
lea ecx, [esp + 0x7ac]
push ecx
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x740]
call fcn.004b6070
lea ecx, [esp + 0x458]
call fcn.004b4ab0
movss xmm2, dword [0x4cf684]
lea ecx, [esp + 0x368]
movss xmm1, dword [0x4cf68c]
call fcn.004b5e30
push 0x49
lea ecx, [esp + 0x74]
mov byte [esp + 0x74], 0x14
mov edi, eax
call fcn.004b5a70
push 0x6e
lea ecx, [esp + 0x74]
mov byte [esp + 0x75], al
call fcn.004b5a70
push 0x20
lea ecx, [esp + 0x74]
mov byte [esp + 0x76], al
call fcn.004b5a70
push 0x44
lea ecx, [esp + 0x74]
mov byte [esp + 0x77], al
call fcn.004b5a70
push 0x65
lea ecx, [esp + 0x74]
mov byte [esp + 0x78], al
call fcn.004b5a70
push 0x76
lea ecx, [esp + 0x74]
mov byte [esp + 0x79], al
call fcn.004b5a70
push 0x65
lea ecx, [esp + 0x74]
mov byte [esp + 0x7a], al
call fcn.004b5a70
push 0x6c
lea ecx, [esp + 0x74]
mov byte [esp + 0x7b], al
call fcn.004b5a70
push 0x6f
lea ecx, [esp + 0x74]
mov byte [esp + 0x7c], al
call fcn.004b5a70
push 0x70
lea ecx, [esp + 0x74]
mov byte [esp + 0x7d], al
call fcn.004b5a70
mov byte [esp + 0x7a], al
xor esi, esi
mov byte [esp + 0x7b], 0
nop word [eax + eax]
push esi
lea ecx, [esp + 0x75]
call fcn.004b38e0
lea ecx, [esp + 0x70]
movzx eax, byte [eax]
push eax
call fcn.004b5a70
push esi
lea ecx, [esp + 0x75]
mov byte [esp + 0x1f], al
call fcn.004b38e0
mov cl, byte [esp + 0x1b]
inc esi
mov byte [eax], cl
cmp esi, 0xa
jb 0x4ba550
push 0xa
lea ecx, [esp + 0x75]
call fcn.004b38e0
lea ecx, [esp + 0x71]
mov byte [eax], 0
call fcn.004b38d0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.004b46c0
lea ecx, [esp + 0x458]
call fcn.004bece0
add esp, 0x18
mov ecx, eax
call fcn.004b43c0
lea ecx, [esp + 0x7e8]
push ecx
lea ecx, [esp + 0x73c]
push ecx
push edi
lea ecx, [esp + 0x7ac]
push ecx
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x740]
call fcn.004b6070
lea ecx, [esp + 0x440]
call fcn.004b4410
push 2
push dword [esp + 0x72c]
call dword [sym.imp.gdiplus.dll_GdipSetCompositingQuality]
mov edi, dword [0x4d7880]
test eax, eax
mov ecx, dword [esp + 0x72c]
cmovne ecx, eax
mov dword [esp + 0x72c], ecx
xor ecx, ecx
mov eax, dword [edi + 0x3c]
mov dword [esp + 0x14], ecx
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x2c], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop dword [eax]
mov ecx, dword [esi]
mov edx, 0x5a0af5b6
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4ba65d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4ba640
cmp edx, 0x322447e1
je 0x4ba666
inc dword [esp + 0x14]
add esi, 4
jmp 0x4ba630
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
push 0xcc0020
push 0
mov eax, dword [edx + 0x24]
push 0
push dword [esp + 0x30]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
push 0x1db
push 0x35c
push 0
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
push 0
push dword [esp + 0x104]
add eax, edi
call eax
mov edi, dword [0x4d7880]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x2c], eax
mov esi, dword [eax + 0x20]
add esi, edi
mov ecx, dword [esi]
mov edx, 0x53674cd5
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4ba6f2
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4ba6d5
cmp edx, 0x6757e0b2
je 0x4ba6fb
inc dword [esp + 0x14]
add esi, 4
jmp 0x4ba6c5
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
push dword [esp + 0x30]
mov eax, dword [edx + 0x24]
push dword [esp + 0x28]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov edi, dword [0x4d7880]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x2c], eax
mov esi, dword [eax + 0x20]
add esi, edi
mov ecx, dword [esi]
mov edx, 0x75cf511d
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4ba76d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4ba750
cmp edx, 0x75e700e9
je 0x4ba776
inc dword [esp + 0x14]
add esi, 4
jmp 0x4ba740
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
push dword [esp + 0x148]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov edi, dword [0x4d7880]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x2c], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop word [eax + eax]
mov ecx, dword [esi]
mov edx, 0x2bd311d9
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4ba7ed
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4ba7d0
cmp edx, 0x1ac7bcb7
je 0x4ba7f6
inc dword [esp + 0x14]
add esi, 4
jmp 0x4ba7c0
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
push dword [esp + 0x24]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
lea ecx, [esp + 0x8b4]
call fcn.004b4ab0
push dword [esp + 0x738]
call dword [sym.imp.gdiplus.dll_GdipDeleteStringFormat]
push dword [esp + 0x7c0]
mov esi, dword [sym.imp.gdiplus.dll_GdipDeleteFont]
call esi
push dword [esp + 0x1d8]
call esi
push dword [esp + 0x7a0]
call esi
push dword [esp + 0x78c]
call esi
push dword [esp + 0x83c]
call esi
push dword [esp + 0x76c]
call dword [sym.imp.gdiplus.dll_GdipDeleteFontFamily]
push dword [esp + 0x7d4]
mov esi, dword [sym.imp.gdiplus.dll_GdipDeleteBrush]
mov dword [esp + 0x7d4], 0x4c9584
call esi
push dword [esp + 0x7e0]
mov dword [esp + 0x7e0], 0x4c9584
call esi
push dword [esp + 0x834]
mov dword [esp + 0x834], 0x4c9584
call esi
push dword [esp + 0x7ec]
mov dword [esp + 0x7ec], 0x4c9584
call esi
push dword [esp + 0x75c]
mov dword [esp + 0x75c], 0x4c9584
call esi
push dword [esp + 0x7ac]
mov dword [esp + 0x7ac], 0x4c9584
call esi
push dword [esp + 0x798]
mov dword [esp + 0x798], 0x4c9584
call esi
push dword [esp + 0x778]
mov dword [esp + 0x778], 0x4c9584
call esi
push dword [esp + 0x784]
mov dword [esp + 0x784], 0x4c9584
call esi
push dword [esp + 0x828]
mov dword [esp + 0x828], 0x4c9584
call esi
push dword [esp + 0x728]
jmp 0x4be429
mov dword [esp + 0x1dc], eax
mov esi, dword [eax + 0x20]
mov dword [esp + 0x14], ecx
add esi, edi
nop dword [eax]
mov ecx, dword [esi]
mov edx, 0x66980469
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4ba98d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4ba970
cmp edx, 0x738cdd6
je 0x4ba996
inc dword [esp + 0x14]
add esi, 4
jmp 0x4ba960
mov edx, dword [esp + 0x1dc]
mov ecx, dword [esp + 0x14]
push dword [esp + 0xe4]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov edi, dword [0x4d7880]
mov dword [esp + 0x24], eax
mov ecx, dword [edi + 0x3c]
mov eax, dword [ecx + edi + 0x78]
xor ecx, ecx
add eax, edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x2c], eax
mov esi, dword [eax + 0x20]
add esi, edi
mov ecx, dword [esi]
mov edx, 0x5380d263
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4baa0e
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4ba9f1
cmp edx, 0x7d4f36de
je 0x4baa17
inc dword [esp + 0x14]
add esi, 4
jmp 0x4ba9e1
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
push 0x258
push 0x1c2
mov eax, dword [edx + 0x24]
push dword [esp + 0xec]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov edi, dword [0x4d7880]
mov dword [esp + 0x2c], eax
mov ecx, dword [edi + 0x3c]
mov eax, dword [ecx + edi + 0x78]
xor ecx, ecx
add eax, edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x30], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop dword [eax]
mov ecx, dword [esi]
mov edx, 0x9b7d0e81
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4baa9d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4baa80
cmp edx, 0xd04a32f6
je 0x4baaa6
inc dword [esp + 0x14]
add esi, 4
jmp 0x4baa70
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
push dword [esp + 0x2c]
mov eax, dword [edx + 0x24]
push dword [esp + 0x28]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov edi, dword [0x4d7870]
mov dword [esp + 0x144], eax
mov ecx, dword [edi + 0x3c]
mov eax, dword [ecx + edi + 0x78]
xor ecx, ecx
add eax, edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x30], eax
mov esi, dword [eax + 0x20]
add esi, edi
mov ecx, dword [esi]
mov edx, 0x1e35024e
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bab1f
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bab02
cmp edx, 0x8c95615b
je 0x4bab28
inc dword [esp + 0x14]
add esi, 4
jmp 0x4baaf2
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x8a0]
mov ecx, dword [esp + 0x14]
push eax
push dword [0x4d7864]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov edi, dword [0x4d7880]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x30], eax
mov esi, dword [eax + 0x20]
add esi, edi
mov ecx, dword [esi]
mov edx, 0x4103cc93
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4baba0
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bab83
cmp edx, 0x7d301307
je 0x4baba9
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bab73
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
movaps xmm0, xmmword [0x4d3500]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov esi, dword [eax + edi]
add esi, edi
mov word [esp + 0x208], 0x4c7d
movups xmmword [esp + 0x1f8], xmm0
mov byte [esp + 0x20a], 0
xor ecx, ecx
nop dword [eax]
mov al, byte [esp + 0x1f8]
xor byte [esp + ecx + 0x1f9], al
inc ecx
cmp ecx, 0x11
jb 0x4babf0
sub esp, 0x18
mov byte [esp + 0x222], 0
mov edi, esp
mov ecx, edi
call fcn.004b5a80
lea ecx, [esp + 0x211]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4bac22
sub ecx, edx
lea eax, [esp + 0x211]
push ecx
push eax
mov ecx, edi
call fcn.004b5700
lea ecx, [esp + 0x440]
call fcn.004bece0
add esp, 0x18
mov ecx, eax
call fcn.004b43c0
push eax
push 0
push 2
push 0
push 0
push 0xcc
push 0
push 0
push 0
push 0x384
push 0
push 0
push 0
push 0x12
call esi
lea ecx, [esp + 0x428]
mov dword [esp + 0x148], eax
call fcn.004b4ab0
mov edi, dword [0x4d7880]
mov ecx, dword [edi + 0x3c]
mov eax, dword [ecx + edi + 0x78]
xor ecx, ecx
add eax, edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x30], eax
mov esi, dword [eax + 0x20]
add esi, edi
mov ecx, dword [esi]
mov edx, 0xc198f74d
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bacd2
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bacb5
cmp edx, 0x2e682de5
je 0x4bacdb
inc dword [esp + 0x14]
add esi, 4
jmp 0x4baca5
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
movaps xmm0, xmmword [0x4d3e00]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov esi, dword [eax + edi]
add esi, edi
mov word [esp + 0x21c], 0x6958
movups xmmword [esp + 0x20c], xmm0
mov byte [esp + 0x21e], 0
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [esp + 0x20c]
xor byte [esp + ecx + 0x20d], al
inc ecx
cmp ecx, 0x11
jb 0x4bad20
sub esp, 0x18
mov byte [esp + 0x236], 0
mov edi, esp
mov ecx, edi
call fcn.004b5a80
lea ecx, [esp + 0x225]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4bad52
sub ecx, edx
lea eax, [esp + 0x225]
push ecx
push eax
mov ecx, edi
call fcn.004b5700
lea ecx, [esp + 0x578]
call fcn.004bece0
add esp, 0x18
mov ecx, eax
call fcn.004b43c0
push eax
push 0
push 2
push 0
push 0
push 0xcc
push 0
push 0
push 0
push 0x384
push 0
push 0
push 0
push 0x14
call esi
lea ecx, [esp + 0x560]
mov dword [esp + 0x1d8], eax
call fcn.004b4ab0
mov edi, dword [0x4d7880]
mov ecx, dword [edi + 0x3c]
mov eax, dword [ecx + edi + 0x78]
xor ecx, ecx
add eax, edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x30], eax
mov esi, dword [eax + 0x20]
add esi, edi
mov ecx, dword [esi]
mov edx, 0xc8be06d6
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bae02
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bade5
cmp edx, 0xb322af1c
je 0x4bae0b
inc dword [esp + 0x14]
add esi, 4
jmp 0x4badd5
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
movaps xmm0, xmmword [0x4d1e00]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov esi, dword [eax + edi]
add esi, edi
mov word [esp + 0x230], 0x130
movups xmmword [esp + 0x220], xmm0
mov byte [esp + 0x232], 0
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [esp + 0x220]
xor byte [esp + ecx + 0x221], al
inc ecx
cmp ecx, 0x11
jb 0x4bae50
sub esp, 0x18
mov byte [esp + 0x24a], 0
mov edi, esp
mov ecx, edi
call fcn.004b5a80
lea ecx, [esp + 0x239]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4bae82
sub ecx, edx
lea eax, [esp + 0x239]
push ecx
push eax
mov ecx, edi
call fcn.004b5700
lea ecx, [esp + 0x428]
call fcn.004bece0
add esp, 0x18
mov ecx, eax
call fcn.004b43c0
push eax
push 0
push 2
push 0
push 0
push 0xcc
push 0
push 0
push 0
push 0x384
push 0
push 0
push 0
push 0x1e
call esi
lea ecx, [esp + 0x410]
mov dword [esp + 0x30], eax
call fcn.004b4ab0
lea eax, [esp + 0x71c]
mov dword [esp + 0x71c], 0
push eax
push dword [esp + 0x28]
call dword [sym.imp.gdiplus.dll_GdipCreateFromHDC]
mov ecx, dword [esp + 0x71c]
xorps xmm0, xmm0
mov dword [esp + 0x734], eax
lea eax, [esp + 0x258]
mov dword [esp + 0x730], ecx
lea ecx, [esp + 0x864]
push eax
movq qword [esp + 0x868], xmm0
mov dword [esp + 0x870], 0
mov dword [esp + 0x25c], 0xff17181c
call fcn.004b5f70
lea eax, [esp + 0x25c]
mov dword [esp + 0x7bc], 0
xorps xmm0, xmm0
mov dword [esp + 0x25c], 0xff1d2025
push eax
lea ecx, [esp + 0x7b8]
movq qword [esp + 0x7b8], xmm0
call fcn.004b5f70
lea eax, [esp + 0x284]
mov dword [esp + 0x7fc], 0
xorps xmm0, xmm0
mov dword [esp + 0x284], 0xffcccccc
push eax
lea ecx, [esp + 0x7f8]
movq qword [esp + 0x7f8], xmm0
call fcn.004b5f70
lea eax, [esp + 0x288]
mov dword [esp + 0x808], 0
xorps xmm0, xmm0
mov dword [esp + 0x288], 0xffffc95d
push eax
lea ecx, [esp + 0x804]
movq qword [esp + 0x804], xmm0
call fcn.004b5f70
lea eax, [esp + 0x248]
mov dword [esp + 0x878], 0
xorps xmm0, xmm0
mov dword [esp + 0x248], 0xffffde72
push eax
lea ecx, [esp + 0x874]
movq qword [esp + 0x874], xmm0
call fcn.004b5f70
xorps xmm0, xmm0
mov dword [esp + 0x884], 0
movq qword [esp + 0x87c], xmm0
mov dword [esp + 0x24c], 0xff828282
lea eax, [esp + 0x24c]
push eax
lea ecx, [esp + 0x880]
call fcn.004b5f70
lea eax, [esp + 0x250]
mov dword [esp + 0x814], 0
xorps xmm0, xmm0
mov dword [esp + 0x250], 0xff555555
push eax
lea ecx, [esp + 0x810]
movq qword [esp + 0x810], xmm0
call fcn.004b5f70
lea eax, [esp + 0x254]
mov dword [esp + 0x820], 0
xorps xmm0, xmm0
mov dword [esp + 0x254], 0xff15161a
push eax
lea ecx, [esp + 0x81c]
movq qword [esp + 0x81c], xmm0
call fcn.004b5f70
xorps xmm0, xmm0
mov word [esp + 0x244], 0x3100
movlpd qword [esp + 0x764], xmm0
xor ecx, ecx
movaps xmm0, xmmword [0x4d20d0]
movups xmmword [esp + 0x234], xmm0
mov byte [esp + 0x246], 0
nop word [eax + eax]
mov al, byte [esp + 0x234]
xor byte [esp + ecx + 0x235], al
inc ecx
cmp ecx, 0x11
jb 0x4bb100
sub esp, 0x18
mov byte [esp + 0x25e], 0
mov esi, esp
mov ecx, esi
call fcn.004b5a80
lea ecx, [esp + 0x24d]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4bb132
sub ecx, edx
lea eax, [esp + 0x24d]
push ecx
push eax
mov ecx, esi
call fcn.004b5700
lea ecx, [esp + 0x410]
call fcn.004bece0
add esp, 0x18
mov ecx, eax
call fcn.004b43c0
lea ecx, [esp + 0x764]
push ecx
push 0
push eax
call dword [sym.imp.gdiplus.dll_GdipCreateFontFamilyFromName]
lea ecx, [esp + 0x3f8]
mov dword [esp + 0x768], eax
call fcn.004b4ab0
mov esi, dword [sym.imp.gdiplus.dll_GdipCreateFont]
lea eax, [esp + 0x720]
push eax
push 3
push 1
push ecx
mov dword [esp], 0x41580000
push dword [esp + 0x774]
mov dword [esp + 0x734], 0
call esi
mov dword [esp + 0x858], eax
mov eax, dword [esp + 0x720]
mov dword [esp + 0x854], eax
lea eax, [esp + 0x700]
push eax
push 3
push 1
push ecx
mov dword [esp], 0x41800000
push dword [esp + 0x774]
mov dword [esp + 0x714], 0
call esi
mov dword [esp + 0x860], eax
mov eax, dword [esp + 0x700]
mov dword [esp + 0x85c], eax
lea eax, [esp + 0x6fc]
push eax
push 3
push 1
push ecx
mov dword [esp], 0x41920000
push dword [esp + 0x774]
mov dword [esp + 0x710], 0
call esi
mov dword [esp + 0x7cc], eax
mov eax, dword [esp + 0x6fc]
mov dword [esp + 0x7c8], eax
lea eax, [esp + 0x6f8]
push eax
push 3
push 1
push ecx
mov dword [esp], 0x41a00000
push dword [esp + 0x774]
mov dword [esp + 0x70c], 0
call esi
mov dword [esp + 0x850], eax
mov eax, dword [esp + 0x6f8]
mov dword [esp + 0x84c], eax
lea eax, [esp + 0x724]
push eax
push 3
push 1
push ecx
mov dword [esp], 0x41b40000
push dword [esp + 0x774]
mov dword [esp + 0x738], 0
call esi
mov dword [esp + 0x848], eax
mov eax, dword [esp + 0x724]
mov dword [esp + 0x844], eax
push 0x259
push 0x1c3
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [esp + 0x878]
push dword [esp + 0x744]
call dword [sym.imp.gdiplus.dll_GdipFillRectangleI]
mov ecx, dword [esp + 0x734]
test eax, eax
push 4
push dword [esp + 0x734]
cmovne ecx, eax
mov dword [esp + 0x73c], ecx
call dword [sym.imp.gdiplus.dll_GdipSetSmoothingMode]
mov ecx, dword [esp + 0x734]
test eax, eax
push 4
push dword [esp + 0x734]
cmovne ecx, eax
mov dword [esp + 0x73c], ecx
call dword [sym.imp.gdiplus.dll_GdipSetTextRenderingHint]
mov ecx, dword [esp + 0x734]
test eax, eax
push 0
push dword [esp + 0x734]
cmovne ecx, eax
mov dword [esp + 0x73c], ecx
call dword [sym.imp.gdiplus.dll_GdipSetCompositingMode]
mov ecx, dword [esp + 0x734]
test eax, eax
push 2
push dword [esp + 0x734]
cmovne ecx, eax
mov dword [esp + 0x73c], ecx
call dword [sym.imp.gdiplus.dll_GdipSetCompositingQuality]
mov ecx, dword [esp + 0x734]
test eax, eax
push 0x14
cmovne ecx, eax
cmp dword [0x4d77c0], 2
mov dword [esp + 0x738], ecx
lea ecx, [esp + 0x734]
push 0x168
jne 0x4bb398
push dword [0x4d7800]
jmp 0x4bb39e
push dword [0x4d784c]
call fcn.004b6120
cmp dword [0x4d77c0], 3
lea ecx, [esp + 0x730]
push 0x22
push 0x14a
jne 0x4bb3c2
push dword [0x4d7814]
jmp 0x4bb3c8
push dword [0x4d77d8]
call fcn.004b6120
mov eax, dword [0x4d7840]
test eax, eax
je 0x4bb3db
mov eax, dword [eax + 4]
jmp 0x4bb3dd
xor eax, eax
mov edi, dword [sym.imp.gdiplus.dll_GdipDrawImageI]
push 0x23
push 0xa8
push eax
push dword [esp + 0x73c]
call edi
mov ecx, dword [esp + 0x734]
test eax, eax
mov byte [esp + 0x164], 0x73
mov dl, 0x1f
cmovne ecx, eax
mov byte [esp + 0x23], 0x53
mov dword [esp + 0x734], ecx
mov al, 0x24
xor al, byte [esp + 0x164]
mov cl, 0x16
mov byte [esp + 0x165], al
mov ch, 0x1c
mov byte [esp + 0x1b], cl
sub esp, 0x18
xor cl, byte [esp + 0x17c]
mov ah, 0x10
mov al, byte [esp + 0x33]
mov dh, 0x1e
mov byte [esp + 0x17e], cl
mov esi, esp
mov cl, byte [esp + 0x17c]
xor al, cl
mov byte [esp + 0x3a], 7
mov byte [esp + 0x183], al
xor dl, cl
mov al, byte [esp + 0x3b]
xor ah, cl
xor al, cl
mov byte [esp + 0x43], ch
mov byte [esp + 0x184], al
xor ch, cl
mov al, byte [esp + 0x3a]
xor dh, cl
xor al, cl
mov byte [esp + 0x181], ch
mov byte [esp + 0x185], al
mov al, byte [esp + 0x43]
xor al, cl
mov byte [esp + 0x187], 0
mov ecx, esi
mov dword [esp + 0x350], 0x43000000
mov dword [esp + 0x354], 0x42f00000
mov byte [esp + 0x17f], dl
mov byte [esp + 0x180], ah
mov byte [esp + 0x182], dh
mov byte [esp + 0x186], al
mov byte [esp + 0x187], 0
call fcn.004b5a80
lea ecx, [esp + 0x17d]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4bb4e4
sub ecx, edx
lea eax, [esp + 0x17d]
push ecx
push eax
mov ecx, esi
call fcn.004b5700
lea ecx, [esp + 0x3e0]
call fcn.004bece0
add esp, 0x18
mov ecx, eax
call fcn.004b43c0
lea ecx, [esp + 0x7f4]
push ecx
lea ecx, [esp + 0x33c]
push ecx
lea ecx, [esp + 0x7d0]
push ecx
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x744]
call fcn.004b5fd0
lea ecx, [esp + 0x3c8]
call fcn.004b4ab0
mov cl, 0x7a
mov byte [esp + 0x108], 0x1c
mov dl, cl
mov byte [esp + 0x1b], 0x73
xor cl, byte [esp + 0x108]
mov al, 0x59
xor al, byte [esp + 0x108]
mov ch, 0x6f
mov byte [esp + 0x109], al
sub esp, 0x18
mov al, byte [esp + 0x33]
mov ah, 0x69
mov byte [esp + 0x122], cl
mov dh, 0x75
mov cl, byte [esp + 0x120]
mov esi, esp
xor al, cl
mov byte [esp + 0x3b], 0x72
mov byte [esp + 0x127], al
xor ch, cl
mov al, byte [esp + 0x3b]
xor dl, cl
xor ah, cl
mov byte [esp + 0x125], ch
xor dh, cl
mov byte [esp + 0x129], 0
xor al, cl
mov dword [esp + 0x358], 0x42dc0000
mov ecx, esi
mov dword [esp + 0x35c], 0x43110000
mov byte [esp + 0x123], dl
mov byte [esp + 0x124], ah
mov byte [esp + 0x126], dh
mov byte [esp + 0x128], al
mov byte [esp + 0x129], 0
call fcn.004b5a80
lea ecx, [esp + 0x121]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4bb601
sub ecx, edx
lea eax, [esp + 0x121]
push ecx
push eax
mov ecx, esi
call fcn.004b5700
lea ecx, [esp + 0x5c0]
call fcn.004bece0
add esp, 0x18
mov ecx, eax
call fcn.004b43c0
lea ecx, [esp + 0x800]
push ecx
lea ecx, [esp + 0x344]
push ecx
lea ecx, [esp + 0x7d0]
push ecx
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x744]
call fcn.004b5fd0
lea ecx, [esp + 0x5a8]
call fcn.004b4ab0
mov dh, 0x4b
mov byte [esp + 0x19e], 0
mov cl, 0x2a
mov dword [esp + 0x2a0], 0x43540000
mov ch, 0x24
mov dword [esp + 0x2a4], 0x43110000
xor cl, dh
mov byte [esp + 0x198], dh
xor ch, dh
mov byte [esp + 0x19a], cl
sub esp, 0x18
mov byte [esp + 0x1b5], ch
mov al, 6
mov byte [esp + 0x1b6], 0
mov dl, 0x28
mov ah, 0x39
mov esi, esp
xor al, dh
xor dl, dh
mov byte [esp + 0x1b1], al
xor ah, dh
mov byte [esp + 0x1b3], dl
mov ecx, esi
mov byte [esp + 0x1b4], ah
call fcn.004b5a80
lea ecx, [esp + 0x1b1]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4bb6e0
sub ecx, edx
lea eax, [esp + 0x1b1]
push ecx
push eax
mov ecx, esi
call fcn.004b5700
lea ecx, [esp + 0x5a8]
call fcn.004bece0
add esp, 0x18
mov ecx, eax
call fcn.004b43c0
lea ecx, [esp + 0x7f4]
push ecx
lea ecx, [esp + 0x2a4]
push ecx
lea ecx, [esp + 0x7d0]
push ecx
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x744]
call fcn.004b5fd0
lea ecx, [esp + 0x590]
call fcn.004b4ab0
cmp byte [0x4d7019], 0
je 0x4bb837
movss xmm2, dword [0x4cf67c]
lea ecx, [esp + 0x360]
movss xmm1, dword [0x4cf674]
call fcn.004b5e30
mov dword [esp + 0x14], eax
mov cl, 2
mov dword [esp + 0x17c], 0x656b5102
xor eax, eax
mov dword [esp + 0x180], 0x6c6b226c
mov dword [esp + 0x184], 0x756d6c22
mov byte [esp + 0x188], 0
nop dword [eax]
xor byte [esp + eax + 0x17d], cl
inc eax
cmp eax, 0xb
jae 0x4bb7b6
mov cl, byte [esp + 0x17c]
jmp 0x4bb7a0
sub esp, 0x18
mov byte [esp + 0x1a0], 0
mov esi, esp
mov ecx, esi
call fcn.004b5a80
lea ecx, [esp + 0x195]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4bb7d4
sub ecx, edx
lea eax, [esp + 0x195]
push ecx
push eax
mov ecx, esi
call fcn.004b5700
lea ecx, [esp + 0x5d8]
call fcn.004bece0
add esp, 0x18
mov ecx, eax
call fcn.004b43c0
lea ecx, [esp + 0x80c]
push ecx
push dword [esp + 0x18]
lea ecx, [esp + 0x864]
push ecx
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x744]
call fcn.004b5fd0
lea ecx, [esp + 0x5c0]
call fcn.004b4ab0
jmp 0x4bba0b
push 0xffffffffffffffc2
lea ecx, [esp + 0x8c]
mov dword [esp + 0x2ac], 0x43040000
mov dword [esp + 0x2b0], 0x43320000
mov byte [esp + 0x8c], 0xb
call fcn.004b5a70
push 0xffffffffffffffee
lea ecx, [esp + 0x8c]
mov byte [esp + 0x8d], al
call fcn.004b5a70
push 0xffffffffffffffe9
lea ecx, [esp + 0x8c]
mov byte [esp + 0x8e], al
call fcn.004b5a70
push 0xfffffffffffffff2
lea ecx, [esp + 0x8c]
mov byte [esp + 0x8f], al
call fcn.004b5a70
push 0xffffffffffffffe8
lea ecx, [esp + 0x8c]
mov byte [esp + 0x90], al
call fcn.004b5a70
push 0x20
lea ecx, [esp + 0x8c]
mov byte [esp + 0x91], al
call fcn.004b5a70
push 0xfffffffffffffff1
lea ecx, [esp + 0x8c]
mov byte [esp + 0x92], al
call fcn.004b5a70
push 0xffffffffffffffe5
lea ecx, [esp + 0x8c]
mov byte [esp + 0x93], al
call fcn.004b5a70
push 0xffffffffffffffe9
lea ecx, [esp + 0x8c]
mov byte [esp + 0x94], al
call fcn.004b5a70
push 0xfffffffffffffff7
lea ecx, [esp + 0x8c]
mov byte [esp + 0x95], al
call fcn.004b5a70
push 0xffffffffffffffe0
lea ecx, [esp + 0x8c]
mov byte [esp + 0x96], al
call fcn.004b5a70
push 0xfffffffffffffff1
lea ecx, [esp + 0x8c]
mov byte [esp + 0x97], al
call fcn.004b5a70
mov byte [esp + 0x94], al
xor esi, esi
mov byte [esp + 0x95], 0
nop dword [eax + eax]
push esi
lea ecx, [esp + 0x8d]
call fcn.004b38e0
lea ecx, [esp + 0x88]
movzx eax, byte [eax]
push eax
call fcn.004b5a70
push esi
lea ecx, [esp + 0x8d]
mov byte [esp + 0x1f], al
call fcn.004b38e0
mov cl, byte [esp + 0x1b]
inc esi
mov byte [eax], cl
cmp esi, 0xc
jb 0x4bb960
push 0xc
lea ecx, [esp + 0x8d]
call fcn.004b38e0
lea ecx, [esp + 0x89]
mov byte [eax], 0
call fcn.004b38d0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.004b46c0
lea ecx, [esp + 0x5f0]
call fcn.004bed50
add esp, 0x18
mov ecx, eax
call fcn.004b43c0
lea ecx, [esp + 0x80c]
push ecx
lea ecx, [esp + 0x2ac]
push ecx
lea ecx, [esp + 0x85c]
push ecx
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x744]
call fcn.004b5fd0
lea ecx, [esp + 0x5d8]
call fcn.004b4410
cmp byte [0x4d7019], 0
push 0x20
push 0x20
push 0xe1
je 0x4bba2b
push 0x148
lea ecx, [esp + 0x648]
jmp 0x4bba37
push 0x120
lea ecx, [esp + 0x6d8]
call fcn.004b5e40
sub esp, 0x10
lea edx, [esp + 0x7c4]
mov ecx, esp
movups xmm0, xmmword [eax]
push 5
push 0xff1d2025
movups xmmword [ecx], xmm0
lea ecx, [esp + 0x748]
call fcn.004b8330
mov eax, dword [0x4d7820]
add esp, 0x18
test eax, eax
je 0x4bba72
mov eax, dword [eax + 4]
jmp 0x4bba74
xor eax, eax
push 0xe8
push 0x127
push eax
push dword [esp + 0x73c]
call edi
mov ecx, dword [esp + 0x734]
test eax, eax
cmovne ecx, eax
mov eax, dword [0x4d7860]
mov dword [esp + 0x734], ecx
test eax, eax
je 0x4bbaa9
mov eax, dword [eax + 4]
jmp 0x4bbaab
xor eax, eax
push 0xe8
push 0x14f
push eax
push dword [esp + 0x73c]
call edi
mov ecx, dword [esp + 0x734]
lea edx, [esp + 0x7b4]
movaps xmm0, xmmword [0x4d10b0]
test eax, eax
cmovne ecx, eax
sub esp, 0x10
mov eax, esp
mov dword [esp + 0x744], ecx
lea ecx, [esp + 0x740]
push 5
push 0xff1d2025
movups xmmword [eax], xmm0
call fcn.004b8330
add esp, 0x18
lea ecx, [esp + 0x730]
cmp dword [0x4d77c0], 4
push 0x11d
push 0x144
jne 0x4bbb20
push dword [0x4d77f0]
jmp 0x4bbb26
push dword [0x4d77e0]
call fcn.004b6120
movaps xmm0, xmmword [0x4d10c0]
lea edx, [esp + 0x7b4]
sub esp, 0x10
lea ecx, [esp + 0x740]
mov eax, esp
push 5
push 0xff1d2025
movups xmmword [eax], xmm0
call fcn.004b8330
add esp, 0x18
lea ecx, [esp + 0x730]
cmp dword [0x4d77c0], 5
push 0x15d
jne 0x4bbb8f
cmp byte [0x4d77c6], 0
je 0x4bbb82
push 0x146
push dword [0x4d7810]
jmp 0x4bbbb0
push 0x145
push dword [0x4d781c]
jmp 0x4bbbb0
cmp byte [0x4d77c6], 0
je 0x4bbba5
push 0x146
push dword [0x4d77f8]
jmp 0x4bbbb0
push 0x145
push dword [0x4d7848]
call fcn.004b6120
movaps xmm0, xmmword [0x4d0fb0]
lea edx, [esp + 0x7b4]
sub esp, 0x10
lea ecx, [esp + 0x740]
mov eax, esp
push 5
push 0xff1d2025
movups xmmword [eax], xmm0
call fcn.004b8330
add esp, 0x18
cmp byte [0x4d7018], 0
je 0x4bbc17
cmp dword [0x4d77c0], 0xfa2
lea ecx, [esp + 0x730]
push 0x197
push 0x2d
jne 0x4bbc0c
push dword [0x4d783c]
jmp 0x4bbc12
push dword [0x4d7850]
call fcn.004b6120
movaps xmm0, xmmword [0x4d1090]
lea ecx, [esp + 0x730]
sub esp, 0x10
cmp dword [0x4d77c0], 1
mov eax, esp
push 6
movups xmmword [eax], xmm0
jne 0x4bbc46
push 0xffffde72
lea edx, [esp + 0x888]
jmp 0x4bbc52
push 0xffffc95d
lea edx, [esp + 0x818]
call fcn.004b8330
add esp, 0x18
push 0
push dword [esp + 0x734]
call dword [sym.imp.gdiplus.dll_GdipSetCompositingQuality]
mov ecx, dword [esp + 0x734]
test eax, eax
cmovne ecx, eax
cmp byte [0x4d7019], 0
mov dword [esp + 0x734], ecx
je 0x4bbd98
mov byte [esp + 0xe8], 0x18
mov al, 0x4b
xor al, byte [esp + 0xe8]
mov ah, 0x76
mov byte [esp + 0xe9], al
mov cl, 0x71
mov al, byte [esp + 0xe8]
mov dl, 0x7f
xor cl, al
mov byte [esp + 0x1b], ah
mov ch, 0x38
mov byte [esp + 0xea], cl
xor ch, al
mov byte [esp + 0xf0], 0
mov dh, 0x51
mov byte [esp + 0xed], ch
xor dl, al
mov dword [esp + 0x2b0], 0x43170000
xor ah, al
mov dword [esp + 0x2b4], 0x43e38000
xor dh, al
mov byte [esp + 0xeb], dl
mov al, byte [esp + 0x1b]
sub esp, 0x18
xor al, byte [esp + 0x100]
mov esi, esp
mov ecx, esi
mov byte [esp + 0x104], ah
mov byte [esp + 0x106], dh
mov byte [esp + 0x107], al
mov byte [esp + 0x108], 0
call fcn.004b5a80
lea ecx, [esp + 0x101]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4bbd31
sub ecx, edx
lea eax, [esp + 0x101]
push ecx
push eax
mov ecx, esi
call fcn.004b5700
lea ecx, [esp + 0x608]
call fcn.004bece0
add esp, 0x18
mov ecx, eax
call fcn.004b43c0
lea ecx, [esp + 0x818]
push ecx
lea ecx, [esp + 0x2b4]
push ecx
lea ecx, [esp + 0x854]
push ecx
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x744]
call fcn.004b5fd0
lea ecx, [esp + 0x5f0]
call fcn.004b4410
jmp 0x4bbe76
mov dh, 0x3c
mov byte [esp + 0x1a6], 0
mov cl, 0xd2
mov dword [esp + 0x2b8], 0x43110000
mov ch, 0xd4
mov dword [esp + 0x2bc], 0x43e30000
xor cl, dh
mov byte [esp + 0x1a0], dh
xor ch, dh
mov byte [esp + 0x1a2], cl
sub esp, 0x18
mov byte [esp + 0x1bd], ch
mov al, 0xfe
mov byte [esp + 0x1be], 0
mov dl, 0xd5
mov ah, 0xce
mov esi, esp
xor al, dh
xor dl, dh
mov byte [esp + 0x1b9], al
xor ah, dh
mov byte [esp + 0x1bb], dl
mov ecx, esi
mov byte [esp + 0x1bc], ah
call fcn.004b5a80
lea ecx, [esp + 0x1b9]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4bbe14
sub ecx, edx
lea eax, [esp + 0x1b9]
push ecx
push eax
mov ecx, esi
call fcn.004b5700
lea ecx, [esp + 0x620]
call fcn.004bed50
add esp, 0x18
mov ecx, eax
call fcn.004b43c0
lea ecx, [esp + 0x818]
push ecx
lea ecx, [esp + 0x2bc]
push ecx
lea ecx, [esp + 0x84c]
push ecx
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x744]
call fcn.004b5fd0
lea ecx, [esp + 0x608]
call fcn.004b4ab0
push 2
push dword [esp + 0x734]
call dword [sym.imp.gdiplus.dll_GdipSetCompositingQuality]
mov ecx, dword [esp + 0x734]
test eax, eax
cmovne ecx, eax
cmp dword [0x4d77c0], 0x3e9
mov dword [esp + 0x734], ecx
jne 0x4bbed5
mov eax, dword [0x4d7830]
test eax, eax
je 0x4bbeb2
mov eax, dword [eax + 4]
jmp 0x4bbeb4
xor eax, eax
push 0x22b
push 0x97
push eax
push dword [esp + 0x73c]
call edi
test eax, eax
je 0x4bbf0c
mov dword [esp + 0x734], eax
jmp 0x4bbf0c
mov eax, dword [0x4d7808]
test eax, eax
je 0x4bbee3
mov eax, dword [eax + 4]
jmp 0x4bbee5
xor eax, eax
push 0x22b
push 0x97
push eax
push dword [esp + 0x73c]
call edi
mov ecx, dword [esp + 0x734]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x734], ecx
cmp dword [0x4d77c0], 0x3ea
jne 0x4bbf49
mov eax, dword [0x4d77e4]
test eax, eax
je 0x4bbf26
mov eax, dword [eax + 4]
jmp 0x4bbf28
xor eax, eax
push 0x22b
push 0xbf
push eax
push dword [esp + 0x73c]
call edi
test eax, eax
je 0x4bbf80
mov dword [esp + 0x734], eax
jmp 0x4bbf80
mov eax, dword [0x4d7834]
test eax, eax
je 0x4bbf57
mov eax, dword [eax + 4]
jmp 0x4bbf59
xor eax, eax
push 0x22b
push 0xbf
push eax
push dword [esp + 0x73c]
call edi
mov ecx, dword [esp + 0x734]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x734], ecx
cmp dword [0x4d77c0], 0x3eb
jne 0x4bbfbd
mov eax, dword [0x4d7804]
test eax, eax
je 0x4bbf9a
mov eax, dword [eax + 4]
jmp 0x4bbf9c
xor eax, eax
push 0x22b
push 0xe7
push eax
push dword [esp + 0x73c]
call edi
test eax, eax
je 0x4bbff4
mov dword [esp + 0x734], eax
jmp 0x4bbff4
mov eax, dword [0x4d780c]
test eax, eax
je 0x4bbfcb
mov eax, dword [eax + 4]
jmp 0x4bbfcd
xor eax, eax
push 0x22b
push 0xe7
push eax
push dword [esp + 0x73c]
call edi
mov ecx, dword [esp + 0x734]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x734], ecx
mov edi, dword [0x4d7880]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
mov ecx, dword [esi]
mov edx, 0xe3398e7d
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bc03f
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bc022
cmp edx, 0x722e28c3
je 0x4bc048
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bc012
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push 0x555555
push dword [esp + 0x28]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov edi, dword [0x4d7880]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop
mov ecx, dword [esi]
mov edx, 0x17ff5139
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bc0bd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bc0a0
cmp edx, 0x96e0c337
je 0x4bc0c6
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bc090
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push 1
push dword [esp + 0x28]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov edi, dword [0x4d7880]
xor ecx, ecx
movaps xmm0, xmmword [esp + 0x8a0]
movaps xmmword [esp + 0x740], xmm0
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop dword [eax]
mov ecx, dword [esi]
mov edx, 0x702cacff
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bc14d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bc130
cmp edx, 0x69041cac
je 0x4bc156
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bc120
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push dword [esp + 0x1d8]
mov eax, dword [edx + 0x24]
push dword [esp + 0x28]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov byte [esp + 0x120], 0x7a
mov al, 0x2f
xor al, byte [esp + 0x120]
mov cl, 0x43
xor cl, byte [esp + 0x120]
mov ch, 0x1b
mov byte [esp + 0x121], al
mov dl, 0x1c
mov byte [esp + 0x122], cl
mov ah, 0x17
mov cl, byte [esp + 0x120]
mov dh, 0x39
mov byte [esp + 0x1b], 0x3f
xor ch, cl
mov al, byte [esp + 0x1b]
xor dl, cl
xor al, cl
mov byte [esp + 0x23], 0x3e
mov byte [esp + 0x127], al
xor ah, cl
mov al, byte [esp + 0x23]
xor dh, cl
xor al, cl
mov byte [esp + 0x22], 0xe
mov byte [esp + 0x128], al
mov al, byte [esp + 0x22]
xor al, cl
mov byte [esp + 0x125], ch
mov byte [esp + 0x12a], 0
lea ecx, [esp + 0x888]
mov dword [esp + 0x740], 0x37
mov dword [esp + 0x744], 0x11b
mov byte [esp + 0x123], dl
mov byte [esp + 0x124], ah
mov byte [esp + 0x126], dh
mov byte [esp + 0x129], al
mov byte [esp + 0x12a], 0
call fcn.004b5a80
lea ecx, [esp + 0x121]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4bc250
sub ecx, edx
lea eax, [esp + 0x121]
push ecx
push eax
lea ecx, [esp + 0x890]
call fcn.004b5700
mov byte [esp + 0x12c], 0x74
mov cl, 0x1f
xor cl, byte [esp + 0x12c]
mov al, 0xe
xor al, byte [esp + 0x12c]
mov ch, 4
mov byte [esp + 0x12d], al
mov dl, 0x12
mov byte [esp + 0x12e], cl
mov dh, 1
mov cl, byte [esp + 0x12c]
mov ah, 0x31
mov byte [esp + 0x1b], 0x22
xor dl, cl
mov al, byte [esp + 0x1b]
xor ch, cl
xor al, cl
mov byte [esp + 0x23], 0x35
mov byte [esp + 0x133], al
xor dh, cl
mov al, byte [esp + 0x23]
xor ah, cl
xor al, cl
mov byte [esp + 0x22], 0x46
mov byte [esp + 0x134], al
mov al, byte [esp + 0x22]
xor al, cl
mov byte [esp + 0x131], ch
lea ecx, [esp + 0x12d]
mov byte [esp + 0x136], 0
mov byte [esp + 0x12f], dl
mov byte [esp + 0x132], dh
lea edx, [ecx + 1]
mov byte [esp + 0x130], ah
mov byte [esp + 0x135], al
mov byte [esp + 0x136], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4bc320
sub ecx, edx
lea eax, [esp + 0x12d]
push ecx
push eax
lea ecx, [esp + 0x890]
call fcn.004b4e50
mov al, 0x48
mov byte [esp + 0x18c], 0x70
mov byte [esp + 0x22], al
mov cl, 0x27
xor al, byte [esp + 0x18c]
mov ah, 0x37
xor cl, byte [esp + 0x18c]
mov ch, 0x33
mov byte [esp + 0x18d], al
mov dl, 7
mov byte [esp + 0x18e], cl
mov dh, 0x16
mov cl, byte [esp + 0x18c]
mov byte [esp + 0x1b], 0x26
xor ah, cl
mov al, byte [esp + 0x1b]
xor ch, cl
xor al, cl
mov byte [esp + 0x23], 8
mov byte [esp + 0x193], al
xor dl, cl
mov al, byte [esp + 0x23]
xor dh, cl
xor al, cl
mov byte [esp + 0x190], ah
mov byte [esp + 0x194], al
mov al, byte [esp + 0x22]
xor al, cl
mov byte [esp + 0x191], ch
mov byte [esp + 0x195], al
lea ecx, [esp + 0x888]
lea eax, [esp + 0x18d]
mov byte [esp + 0x196], 0
push eax
mov byte [esp + 0x193], dl
mov byte [esp + 0x196], dh
mov byte [esp + 0x19a], 0
call fcn.004b5aa0
test al, al
je 0x4bc4d5
push 0x75
lea ecx, [esp + 0x50]
mov byte [esp + 0x50], 0xd
call fcn.004b5a70
push 0x67
lea ecx, [esp + 0x50]
mov byte [esp + 0x51], al
call fcn.004b5a70
push 0x74
lea ecx, [esp + 0x50]
mov byte [esp + 0x52], al
call fcn.004b5a70
push 0x65
lea ecx, [esp + 0x50]
mov byte [esp + 0x53], al
call fcn.004b5a70
push 0x32
lea ecx, [esp + 0x50]
mov byte [esp + 0x54], al
call fcn.004b5a70
push 0x72
lea ecx, [esp + 0x50]
mov byte [esp + 0x55], al
call fcn.004b5a70
push 0x4b
lea ecx, [esp + 0x50]
mov byte [esp + 0x56], al
call fcn.004b5a70
push 0x79
lea ecx, [esp + 0x50]
mov byte [esp + 0x57], al
call fcn.004b5a70
mov byte [esp + 0x54], al
xor esi, esi
mov byte [esp + 0x55], 0
nop
push esi
lea ecx, [esp + 0x51]
call fcn.004b38e0
lea ecx, [esp + 0x4c]
movzx eax, byte [eax]
push eax
call fcn.004b5a70
push esi
lea ecx, [esp + 0x51]
mov byte [esp + 0x1f], al
call fcn.004b38e0
mov cl, byte [esp + 0x1b]
inc esi
mov byte [eax], cl
cmp esi, 8
jb 0x4bc480
push 8
lea ecx, [esp + 0x51]
call fcn.004b38e0
lea ecx, [esp + 0x4d]
mov byte [eax], 0
call fcn.004b38d0
push eax
lea ecx, [esp + 0x88c]
call fcn.004b45d0
lea ecx, [esp + 0x888]
call fcn.004b4630
cmp dword [0x4d77d0], 1
jne 0x4bc54d
mov edi, dword [0x4d7880]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0xbc8e0e1d
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bc53d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bc520
cmp edx, 0x8888be23
je 0x4bc546
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bc510
push 0xcccccc
jmp 0x4bc5bb
mov eax, dword [0x4d77c0]
cmp eax, 0x7d1
je 0x4bc562
cmp eax, 4
jne 0x4bc5de
mov edi, dword [0x4d7880]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
mov ecx, dword [esi]
mov edx, 0xc1f05ecb
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bc5ad
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bc590
cmp edx, 0x8f3919ad
je 0x4bc5b6
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bc580
push 0x969696
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
push dword [esp + 0x28]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov edx, 0x4c9469
mov ecx, 0x4d7098
call fcn.004be6f0
mov edi, dword [0x4d7870]
xor ecx, ecx
test al, al
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
je 0x4bc689
mov esi, dword [eax + edi + 0x20]
add eax, edi
mov dword [esp + 0x1c], eax
add esi, edi
mov ecx, dword [esi]
mov edx, 0xc075e600
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bc641
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bc624
cmp edx, 0xc656ec38
je 0x4bc64a
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bc614
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, 0x4d7098
mov esi, dword [eax + edi]
add esi, edi
call fcn.004b4480
push 0
lea ecx, [esp + 0x744]
push ecx
push 0xffffffffffffffff
push eax
push dword [esp + 0x34]
call esi
jmp 0x4bc9ad
mov esi, dword [eax + edi + 0x20]
add eax, edi
add esi, edi
mov dword [esp + 0x1c], eax
cmp byte [0x4d7019], 0
je 0x4bc850
mov ecx, dword [esi]
mov edx, 0x43a7ced0
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bc6cf
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bc6b2
cmp edx, 0xb6206a48
je 0x4bc6d8
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bc6a2
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push 0x59
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
lea ecx, [esp + 0x80]
add eax, edi
mov byte [esp + 0x80], 0x5e
mov dword [esp + 0x20], eax
call fcn.004b5a70
push 0x6f
lea ecx, [esp + 0x80]
mov byte [esp + 0x81], al
call fcn.004b5a70
push 0x75
lea ecx, [esp + 0x80]
mov byte [esp + 0x82], al
call fcn.004b5a70
push 0x72
lea ecx, [esp + 0x80]
mov byte [esp + 0x83], al
call fcn.004b5a70
push 0x20
lea ecx, [esp + 0x80]
mov byte [esp + 0x84], al
call fcn.004b5a70
push 0x49
lea ecx, [esp + 0x80]
mov byte [esp + 0x85], al
call fcn.004b5a70
push 0x6e
lea ecx, [esp + 0x80]
mov byte [esp + 0x86], al
call fcn.004b5a70
push 0x64
lea ecx, [esp + 0x80]
mov byte [esp + 0x87], al
call fcn.004b5a70
push 0x65
lea ecx, [esp + 0x80]
mov byte [esp + 0x88], al
call fcn.004b5a70
push 0x78
lea ecx, [esp + 0x80]
mov byte [esp + 0x89], al
call fcn.004b5a70
mov byte [esp + 0x86], al
xor esi, esi
mov byte [esp + 0x87], 0
nop dword [eax]
push esi
lea ecx, [esp + 0x81]
call fcn.004b38e0
lea ecx, [esp + 0x7c]
movzx eax, byte [eax]
push eax
call fcn.004b5a70
push esi
lea ecx, [esp + 0x81]
mov byte [esp + 0x1f], al
call fcn.004b38e0
mov cl, byte [esp + 0x1b]
inc esi
mov byte [eax], cl
cmp esi, 0xa
jb 0x4bc7e0
push 0xa
lea ecx, [esp + 0x81]
call fcn.004b38e0
lea ecx, [esp + 0x7d]
mov byte [eax], 0
call fcn.004b38d0
push 0
lea ecx, [esp + 0x744]
push ecx
push 0xffffffffffffffff
push eax
push dword [esp + 0x34]
call dword [esp + 0x30]
jmp 0x4bc9ad
mov ecx, dword [esi]
mov edx, 0x465809ad
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bc87d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bc860
cmp edx, 0x170bd377
je 0x4bc886
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bc850
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push 0xffffffffffffffc2
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
lea ecx, [esp + 0x5c]
add eax, edi
mov byte [esp + 0x5c], 0x7b
mov dword [esp + 0x20], eax
call fcn.004b5a70
push 0xffffffffffffffe0
lea ecx, [esp + 0x5c]
mov byte [esp + 0x5d], al
call fcn.004b5a70
push 0xfffffffffffffff8
lea ecx, [esp + 0x5c]
mov byte [esp + 0x5e], al
call fcn.004b5a70
push 0x20
lea ecx, [esp + 0x5c]
mov byte [esp + 0x5f], al
call fcn.004b5a70
push 0xffffffffffffffc8
lea ecx, [esp + 0x5c]
mov byte [esp + 0x60], al
call fcn.004b5a70
push 0xffffffffffffffed
lea ecx, [esp + 0x5c]
mov byte [esp + 0x61], al
call fcn.004b5a70
push 0xffffffffffffffe4
lea ecx, [esp + 0x5c]
mov byte [esp + 0x62], al
call fcn.004b5a70
push 0xffffffffffffffe5
lea ecx, [esp + 0x5c]
mov byte [esp + 0x63], al
call fcn.004b5a70
push 0xffffffffffffffea
lea ecx, [esp + 0x5c]
mov byte [esp + 0x64], al
call fcn.004b5a70
push 0xfffffffffffffff1
lea ecx, [esp + 0x5c]
mov byte [esp + 0x65], al
call fcn.004b5a70
mov byte [esp + 0x62], al
xor esi, esi
mov byte [esp + 0x63], 0
nop dword [eax]
push esi
lea ecx, [esp + 0x5d]
call fcn.004b38e0
lea ecx, [esp + 0x58]
movzx eax, byte [eax]
push eax
call fcn.004b5a70
push esi
lea ecx, [esp + 0x5d]
mov byte [esp + 0x1f], al
call fcn.004b38e0
mov cl, byte [esp + 0x1b]
inc esi
mov byte [eax], cl
cmp esi, 0xa
jb 0x4bc950
push 0xa
lea ecx, [esp + 0x5d]
call fcn.004b38e0
lea ecx, [esp + 0x59]
mov byte [eax], 0
call fcn.004b38d0
push 0
lea ecx, [esp + 0x744]
push ecx
push 0xffffffffffffffff
push eax
push dword [esp + 0x34]
call dword [esp + 0x30]
mov edi, dword [0x4d7880]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0x6b1ee581
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bc9fd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bc9e0
cmp edx, 0x99c6e597
je 0x4bca06
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bc9d0
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push 0x555555
push dword [esp + 0x28]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
cmp dword [0x4d77d0], 2
mov dword [esp + 0x740], 0x37
mov dword [esp + 0x744], 0x15b
jne 0x4bcac5
mov edi, dword [0x4d7880]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop
mov ecx, dword [esi]
mov edx, 0xf5cc588a
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bca9d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bca80
cmp edx, 0xfc502c64
je 0x4bcaa6
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bca70
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push 0xcccccc
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
jmp 0x4bcb50
mov eax, dword [0x4d77c0]
cmp eax, 0x7d2
je 0x4bcada
cmp eax, 5
jne 0x4bcb5e
mov edi, dword [0x4d7880]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0xa41d6448
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bcb2d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bcb10
cmp edx, 0x6e2ba89e
je 0x4bcb36
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bcb00
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push 0x969696
mov eax, dword [esi + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [esi + 0x1c]
push dword [esp + 0x28]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov edx, 0x4c9469
mov ecx, 0x4d70c8
call fcn.004be6f0
xor ecx, ecx
mov dword [esp + 0x14], ecx
test al, al
je 0x4bcd5d
cmp byte [0x4d77c6], cl
je 0x4bcc15
mov edi, dword [0x4d7870]
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop
mov ecx, dword [esi]
mov edx, 0x2b33a5a1
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bcbcd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bcbb0
cmp edx, 0xd6fb241b
je 0x4bcbd6
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bcba0
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esi + 0x24]
lea eax, [eax + ecx*2]
mov ecx, 0x4d70c8
movzx edx, word [eax + edi]
mov eax, dword [esi + 0x1c]
lea eax, [eax + edx*4]
mov esi, dword [eax + edi]
add esi, edi
call fcn.004b4480
push 0
lea ecx, [esp + 0x744]
push ecx
push 0xffffffffffffffff
push eax
push dword [esp + 0x34]
call esi
jmp 0x4bd0cd
mov edi, dword [0x4d7880]
mov dword [esp + 0x744], 0x159
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0xdbfcd52d
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bcc6d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bcc50
cmp edx, 0x484bf55a
je 0x4bcc76
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bcc40
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push dword [esp + 0x30]
mov eax, dword [edx + 0x24]
push dword [esp + 0x28]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov edi, dword [0x4d7870]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0x21dcbc09
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bcced
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bccd0
cmp edx, 0xfc388103
je 0x4bccf6
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bccc0
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, 0x4d70c8
mov esi, dword [eax + edi]
add esi, edi
call fcn.004b4470
push eax
push 0
lea eax, [esp + 0x628]
mov ecx, 0x4d7884
push eax
call fcn.004b4420
mov ecx, eax
call fcn.004b4480
push 0
lea ecx, [esp + 0x744]
push ecx
push 0xffffffffffffffff
push eax
push dword [esp + 0x34]
call esi
lea ecx, [esp + 0x620]
call fcn.004b4630
jmp 0x4bd0cd
mov edi, dword [0x4d7870]
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
cmp byte [0x4d7019], 0
je 0x4bcf71
mov ecx, dword [esi]
mov edx, 0xd676bff5
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bcdaf
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bcd92
cmp edx, 0x4e61fd7f
je 0x4bcdb8
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bcd82
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push 0x59
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
lea ecx, [esp + 0x9c]
add eax, edi
mov byte [esp + 0x9c], 0x5b
mov dword [esp + 0x20], eax
call fcn.004b5a70
push 0x6f
lea ecx, [esp + 0x9c]
mov byte [esp + 0x9d], al
call fcn.004b5a70
push 0x75
lea ecx, [esp + 0x9c]
mov byte [esp + 0x9e], al
call fcn.004b5a70
push 0x72
lea ecx, [esp + 0x9c]
mov byte [esp + 0x9f], al
call fcn.004b5a70
push 0x20
lea ecx, [esp + 0x9c]
mov byte [esp + 0xa0], al
call fcn.004b5a70
push 0x50
lea ecx, [esp + 0x9c]
mov byte [esp + 0xa1], al
call fcn.004b5a70
push 0x61
lea ecx, [esp + 0x9c]
mov byte [esp + 0xa2], al
call fcn.004b5a70
push 0x73
lea ecx, [esp + 0x9c]
mov byte [esp + 0xa3], al
call fcn.004b5a70
push 0x73
lea ecx, [esp + 0x9c]
mov byte [esp + 0xa4], al
call fcn.004b5a70
push 0x77
lea ecx, [esp + 0x9c]
mov byte [esp + 0xa5], al
call fcn.004b5a70
push 0x6f
lea ecx, [esp + 0x9c]
mov byte [esp + 0xa6], al
call fcn.004b5a70
push 0x72
lea ecx, [esp + 0x9c]
mov byte [esp + 0xa7], al
call fcn.004b5a70
push 0x64
lea ecx, [esp + 0x9c]
mov byte [esp + 0xa8], al
call fcn.004b5a70
mov byte [esp + 0xa5], al
xor esi, esi
mov byte [esp + 0xa6], 0
nop dword [eax]
push esi
lea ecx, [esp + 0x9d]
call fcn.004b38e0
lea ecx, [esp + 0x98]
movzx eax, byte [eax]
push eax
call fcn.004b5a70
push esi
lea ecx, [esp + 0x9d]
mov byte [esp + 0x1f], al
call fcn.004b38e0
mov cl, byte [esp + 0x1b]
inc esi
mov byte [eax], cl
cmp esi, 0xd
jb 0x4bcf00
push 0xd
lea ecx, [esp + 0x9d]
call fcn.004b38e0
lea ecx, [esp + 0x99]
mov byte [eax], 0
call fcn.004b38d0
push 0
lea ecx, [esp + 0x744]
push ecx
push 0xffffffffffffffff
push eax
push dword [esp + 0x34]
call dword [esp + 0x30]
jmp 0x4bd0cd
mov ecx, dword [esi]
mov edx, 0x27a31243
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bcf9e
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bcf81
cmp edx, 0x2e6d099
je 0x4bcfa7
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bcf71
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push 0xffffffffffffffc2
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
lea ecx, [esp + 0x68]
add eax, edi
mov byte [esp + 0x68], 0x7b
mov dword [esp + 0x20], eax
call fcn.004b5a70
push 0xffffffffffffffe0
lea ecx, [esp + 0x68]
mov byte [esp + 0x69], al
call fcn.004b5a70
push 0xfffffffffffffff8
lea ecx, [esp + 0x68]
mov byte [esp + 0x6a], al
call fcn.004b5a70
push 0x20
lea ecx, [esp + 0x68]
mov byte [esp + 0x6b], al
call fcn.004b5a70
push 0xffffffffffffffcf
lea ecx, [esp + 0x68]
mov byte [esp + 0x6c], al
call fcn.004b5a70
push 0xffffffffffffffe0
lea ecx, [esp + 0x68]
mov byte [esp + 0x6d], al
call fcn.004b5a70
push 0xfffffffffffffff0
lea ecx, [esp + 0x68]
mov byte [esp + 0x6e], al
call fcn.004b5a70
push 0xffffffffffffffee
lea ecx, [esp + 0x68]
mov byte [esp + 0x6f], al
call fcn.004b5a70
push 0xffffffffffffffeb
lea ecx, [esp + 0x68]
mov byte [esp + 0x70], al
call fcn.004b5a70
push 0xfffffffffffffffc
lea ecx, [esp + 0x68]
mov byte [esp + 0x71], al
call fcn.004b5a70
mov byte [esp + 0x6e], al
xor esi, esi
mov byte [esp + 0x6f], 0
nop word [eax + eax]
push esi
lea ecx, [esp + 0x69]
call fcn.004b38e0
lea ecx, [esp + 0x64]
movzx eax, byte [eax]
push eax
call fcn.004b5a70
push esi
lea ecx, [esp + 0x69]
mov byte [esp + 0x1f], al
call fcn.004b38e0
mov cl, byte [esp + 0x1b]
inc esi
mov byte [eax], cl
cmp esi, 0xa
jb 0x4bd070
push 0xa
lea ecx, [esp + 0x69]
call fcn.004b38e0
lea ecx, [esp + 0x65]
mov byte [eax], 0
call fcn.004b38d0
push 0
lea ecx, [esp + 0x744]
push ecx
push 0xffffffffffffffff
push eax
push dword [esp + 0x34]
call dword [esp + 0x30]
mov edi, dword [0x4d7880]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0x3e7ce23
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bd11d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bd100
cmp edx, 0xf27a4b85
je 0x4bd126
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bd0f0
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push 0x555555
push dword [esp + 0x28]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov edi, dword [0x4d7880]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop dword [eax]
mov ecx, dword [esi]
mov edx, 0x772fca98
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bd19d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bd180
cmp edx, 0x94cb70c7
je 0x4bd1a6
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bd170
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push dword [esp + 0x148]
mov eax, dword [edx + 0x24]
push dword [esp + 0x28]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
movaps xmm0, xmmword [esp + 0x8a0]
mov ecx, 0x4d70b0
movaps xmmword [esp + 0x740], xmm0
push 0x4c9469
mov dword [esp + 0x748], 0x1fb
call fcn.004b5aa0
test al, al
je 0x4bd92a
cmp dword [0x4d77c0], 0xfa1
jne 0x4bd28e
mov edi, dword [0x4d7880]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
mov ecx, dword [esi]
mov edx, 0x4ce4654f
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bd25d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bd240
cmp edx, 0x7a168db1
je 0x4bd266
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bd230
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push 0x828282
push dword [esp + 0x28]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov edi, dword [0x4d7870]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
cmp byte [0x4d7019], cl
je 0x4bd5c1
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0x57cf3074
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bd2ed
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bd2d0
cmp edx, 0x6015a96c
je 0x4bd2f6
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bd2c0
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push 0x48
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
lea ecx, [esp + 0xac]
add eax, edi
mov byte [esp + 0xac], 0x2b
mov dword [esp + 0x20], eax
call fcn.004b5a70
push 0x61
lea ecx, [esp + 0xac]
mov byte [esp + 0xad], al
call fcn.004b5a70
push 0x76
lea ecx, [esp + 0xac]
mov byte [esp + 0xae], al
call fcn.004b5a70
push 0x69
lea ecx, [esp + 0xac]
mov byte [esp + 0xaf], al
call fcn.004b5a70
push 0x6e
lea ecx, [esp + 0xac]
mov byte [esp + 0xb0], al
call fcn.004b5a70
push 0x67
lea ecx, [esp + 0xac]
mov byte [esp + 0xb1], al
call fcn.004b5a70
push 0x20
lea ecx, [esp + 0xac]
mov byte [esp + 0xb2], al
call fcn.004b5a70
push 0x74
lea ecx, [esp + 0xac]
mov byte [esp + 0xb3], al
call fcn.004b5a70
push 0x72
lea ecx, [esp + 0xac]
mov byte [esp + 0xb4], al
call fcn.004b5a70
push 0x6f
lea ecx, [esp + 0xac]
mov byte [esp + 0xb5], al
call fcn.004b5a70
push 0x75
lea ecx, [esp + 0xac]
mov byte [esp + 0xb6], al
call fcn.004b5a70
push 0x62
lea ecx, [esp + 0xac]
mov byte [esp + 0xb7], al
call fcn.004b5a70
push 0x6c
lea ecx, [esp + 0xac]
mov byte [esp + 0xb8], al
call fcn.004b5a70
push 0x65
lea ecx, [esp + 0xac]
mov byte [esp + 0xb9], al
call fcn.004b5a70
push 0x20
lea ecx, [esp + 0xac]
mov byte [esp + 0xba], al
call fcn.004b5a70
push 0x73
lea ecx, [esp + 0xac]
mov byte [esp + 0xbb], al
call fcn.004b5a70
push 0x69
lea ecx, [esp + 0xac]
mov byte [esp + 0xbc], al
call fcn.004b5a70
mov byte [esp + 0xb9], al
lea ecx, [esp + 0xa8]
push 0x67
call fcn.004b5a70
push 0x6e
lea ecx, [esp + 0xac]
mov byte [esp + 0xbe], al
call fcn.004b5a70
push 0x69
lea ecx, [esp + 0xac]
mov byte [esp + 0xbf], al
call fcn.004b5a70
push 0x6e
lea ecx, [esp + 0xac]
mov byte [esp + 0xc0], al
call fcn.004b5a70
push 0x67
lea ecx, [esp + 0xac]
mov byte [esp + 0xc1], al
call fcn.004b5a70
push 0x20
lea ecx, [esp + 0xac]
mov byte [esp + 0xc2], al
call fcn.004b5a70
push 0x69
lea ecx, [esp + 0xac]
mov byte [esp + 0xc3], al
call fcn.004b5a70
push 0x6e
lea ecx, [esp + 0xac]
mov byte [esp + 0xc4], al
call fcn.004b5a70
push 0x3f
lea ecx, [esp + 0xac]
mov byte [esp + 0xc5], al
call fcn.004b5a70
mov byte [esp + 0xc2], al
xor esi, esi
mov byte [esp + 0xc3], 0
nop dword [eax + eax]
push esi
lea ecx, [esp + 0xad]
call fcn.004b38e0
lea ecx, [esp + 0xa8]
movzx eax, byte [eax]
push eax
call fcn.004b5a70
push esi
lea ecx, [esp + 0xad]
mov byte [esp + 0x1f], al
call fcn.004b38e0
mov cl, byte [esp + 0x1b]
inc esi
mov byte [eax], cl
cmp esi, 0x1a
jb 0x4bd550
push 0x1a
lea ecx, [esp + 0xad]
call fcn.004b38e0
lea ecx, [esp + 0xa9]
mov byte [eax], 0
call fcn.004b38d0
push 1
lea ecx, [esp + 0x744]
push ecx
push 0xffffffffffffffff
push eax
push dword [esp + 0x34]
call dword [esp + 0x30]
jmp 0x4bd8cd
mov ecx, dword [esi]
mov edx, 0xe73c5d81
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bd5ee
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bd5d1
cmp edx, 0x40d41b3b
je 0x4bd5f7
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bd5c1
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push 0xffffffffffffffc2
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
lea ecx, [esp + 0xc8]
add eax, edi
mov byte [esp + 0xc8], 0x28
mov dword [esp + 0x20], eax
call fcn.004b5a70
push 0xffffffffffffffee
lea ecx, [esp + 0xc8]
mov byte [esp + 0xc9], al
call fcn.004b5a70
push 0xffffffffffffffe7
lea ecx, [esp + 0xc8]
mov byte [esp + 0xca], al
call fcn.004b5a70
push 0xffffffffffffffed
lea ecx, [esp + 0xc8]
mov byte [esp + 0xcb], al
call fcn.004b5a70
push 0xffffffffffffffe8
lea ecx, [esp + 0xc8]
mov byte [esp + 0xcc], al
call fcn.004b5a70
push 0xffffffffffffffea
lea ecx, [esp + 0xc8]
mov byte [esp + 0xcd], al
call fcn.004b5a70
push 0xffffffffffffffeb
lea ecx, [esp + 0xc8]
mov byte [esp + 0xce], al
call fcn.004b5a70
push 0xffffffffffffffe8
lea ecx, [esp + 0xc8]
mov byte [esp + 0xcf], al
call fcn.004b5a70
push 0x20
lea ecx, [esp + 0xc8]
mov byte [esp + 0xd0], al
call fcn.004b5a70
push 0xffffffffffffffef
lea ecx, [esp + 0xc8]
mov byte [esp + 0xd1], al
call fcn.004b5a70
push 0xfffffffffffffff0
lea ecx, [esp + 0xc8]
mov byte [esp + 0xd2], al
call fcn.004b5a70
push 0xffffffffffffffee
lea ecx, [esp + 0xc8]
mov byte [esp + 0xd3], al
call fcn.004b5a70
push 0xffffffffffffffe1
lea ecx, [esp + 0xc8]
mov byte [esp + 0xd4], al
call fcn.004b5a70
push 0xffffffffffffffeb
lea ecx, [esp + 0xc8]
mov byte [esp + 0xd5], al
call fcn.004b5a70
push 0xffffffffffffffe5
lea ecx, [esp + 0xc8]
mov byte [esp + 0xd6], al
call fcn.004b5a70
push 0xffffffffffffffec
lea ecx, [esp + 0xc8]
mov byte [esp + 0xd7], al
call fcn.004b5a70
push 0xfffffffffffffffb
lea ecx, [esp + 0xc8]
mov byte [esp + 0xd8], al
call fcn.004b5a70
mov byte [esp + 0xd5], al
lea ecx, [esp + 0xc4]
push 0x20
call fcn.004b5a70
push 0xfffffffffffffff1
lea ecx, [esp + 0xc8]
mov byte [esp + 0xda], al
call fcn.004b5a70
push 0x20
lea ecx, [esp + 0xc8]
mov byte [esp + 0xdb], al
call fcn.004b5a70
push 0xffffffffffffffe2
lea ecx, [esp + 0xc8]
mov byte [esp + 0xdc], al
call fcn.004b5a70
push 0xfffffffffffffff5
lea ecx, [esp + 0xc8]
mov byte [esp + 0xdd], al
call fcn.004b5a70
push 0xffffffffffffffee
lea ecx, [esp + 0xc8]
mov byte [esp + 0xde], al
call fcn.004b5a70
push 0xffffffffffffffe4
lea ecx, [esp + 0xc8]
mov byte [esp + 0xdf], al
call fcn.004b5a70
push 0xffffffffffffffee
lea ecx, [esp + 0xc8]
mov byte [esp + 0xe0], al
call fcn.004b5a70
push 0xffffffffffffffec
lea ecx, [esp + 0xc8]
mov byte [esp + 0xe1], al
call fcn.004b5a70
push 0x3f
lea ecx, [esp + 0xc8]
mov byte [esp + 0xe2], al
call fcn.004b5a70
mov byte [esp + 0xdf], al
xor esi, esi
mov byte [esp + 0xe0], 0
push esi
lea ecx, [esp + 0xc9]
call fcn.004b38e0
lea ecx, [esp + 0xc4]
movzx eax, byte [eax]
push eax
call fcn.004b5a70
push esi
lea ecx, [esp + 0xc9]
mov byte [esp + 0x1f], al
call fcn.004b38e0
mov cl, byte [esp + 0x1b]
inc esi
mov byte [eax], cl
cmp esi, 0x1b
jb 0x4bd861
push 0x1b
lea ecx, [esp + 0xc9]
call fcn.004b38e0
lea ecx, [esp + 0xc5]
mov byte [eax], 0
call fcn.004b38d0
push 1
lea ecx, [esp + 0x744]
push ecx
push 0xffffffffffffffff
push eax
push dword [esp + 0x34]
call dword [esp + 0x30]
mov edi, dword [0x4d7880]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0x7ec7ac3a
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bd921
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bd900
cmp edx, 0xb8c2c554
je 0x4bda96
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bd8f0
mov edi, dword [0x4d7880]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0xa15bdf57
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bd97d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bd960
cmp edx, 0x646ffe19
je 0x4bd986
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bd950
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push 0x5dc9ff
push dword [esp + 0x28]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov edi, dword [0x4d7870]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop dword [eax]
mov ecx, dword [esi]
mov edx, 0xa25be0ea
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bd9fd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bd9e0
cmp edx, 0xfa89cc66
je 0x4bda06
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bd9d0
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esi + 0x24]
lea eax, [eax + ecx*2]
mov ecx, 0x4d70b0
movzx edx, word [eax + edi]
mov eax, dword [esi + 0x1c]
lea eax, [eax + edx*4]
mov esi, dword [eax + edi]
add esi, edi
call fcn.004b4480
push 1
lea ecx, [esp + 0x744]
push ecx
push 0xffffffffffffffff
push eax
push dword [esp + 0x34]
call esi
mov edi, dword [0x4d7880]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop
mov ecx, dword [esi]
mov edx, 0xa35be27d
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bda8d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bda70
cmp edx, 0x2d803cc3
je 0x4bda96
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bda60
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push 0x555555
push dword [esp + 0x28]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
cmp dword [0x4d77c0], 0xfa2
mov dword [esp + 0x740], 0x49
mov dword [esp + 0x744], 0x195
jne 0x4bdb5e
mov edi, dword [0x4d7880]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop
mov ecx, dword [esi]
mov edx, 0xc754598a
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bdb2d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bdb10
cmp edx, 0x23c85d64
je 0x4bdb36
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bdb00
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push 0x828282
push dword [esp + 0x28]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov edi, dword [0x4d7870]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
cmp byte [0x4d7019], cl
je 0x4bdc44
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0xd28516de
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bdbbd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bdba0
cmp edx, 0x21b46f6a
je 0x4bdbc6
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bdb90
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov cl, 0x2d
mov edx, dword [eax + edi]
add edx, edi
mov dword [esp + 0x1c8], 0x40487f2d
mov dword [esp + 0x1cc], 0x484f4048
xor eax, eax
mov dword [esp + 0x1d0], 0x48600d5f
mov byte [esp + 0x1d4], 0
xor byte [esp + eax + 0x1c9], cl
inc eax
cmp eax, 0xb
jae 0x4bdc26
mov cl, byte [esp + 0x1c8]
jmp 0x4bdc10
lea eax, [esp + 0x740]
mov byte [esp + 0x1d4], 0
push 0
push eax
lea eax, [esp + 0x1d1]
jmp 0x4bdcdd
mov ecx, dword [esi]
mov edx, 0xb1e552cf
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bdc71
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bdc54
cmp edx, 0x370bd7d5
je 0x4bdc7a
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bdc44
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
movaps xmm0, xmmword [0x4d1840]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov edx, dword [eax + edi]
add edx, edi
xor ecx, ecx
movups xmmword [esp + 0x2c8], xmm0
nop dword [eax + eax]
mov al, byte [esp + 0x2c8]
xor byte [esp + ecx + 0x2c9], al
inc ecx
cmp ecx, 0xe
jb 0x4bdcb0
lea eax, [esp + 0x740]
mov byte [esp + 0x2d7], 0
push 0
push eax
lea eax, [esp + 0x2d1]
push 0xffffffffffffffff
push eax
push dword [esp + 0x34]
call edx
mov edi, dword [0x4d7880]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
mov ecx, dword [esi]
mov edx, 0xbd45d2d0
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bdd31
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bdd14
cmp edx, 0xa286ca6
je 0x4bdd3a
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bdd04
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push 0x555555
push dword [esp + 0x28]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
cmp dword [0x4d77c0], 0xfa3
mov dword [esp + 0x740], 0xe6
mov dword [esp + 0x744], 0x195
jne 0x4bde00
mov edi, dword [0x4d7880]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
mov ecx, dword [esi]
mov edx, 0xa2deb5db
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bddcf
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bddb2
cmp edx, 0x8719c1fd
je 0x4bddd8
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bdda2
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push 0x828282
push dword [esp + 0x28]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov edi, dword [0x4d7870]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
cmp byte [0x4d7019], cl
je 0x4bdf13
nop word [eax + eax]
mov ecx, dword [esi]
mov edx, 0x58793f29
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bde5d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bde40
cmp edx, 0x7239b2e3
je 0x4bde66
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bde30
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
movaps xmm0, xmmword [0x4d3370]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
mov word [esp + 0x29c], 0xc
mov dword [esp + 0x1c], eax
xor esi, esi
movups xmmword [esp + 0x28c], xmm0
push esi
lea ecx, [esp + 0x291]
call fcn.004b38e0
lea ecx, [esp + 0x28c]
movzx eax, byte [eax]
push eax
call fcn.004b5a70
push esi
lea ecx, [esp + 0x291]
mov byte [esp + 0x1f], al
call fcn.004b38e0
mov cl, byte [esp + 0x1b]
inc esi
mov byte [eax], cl
cmp esi, 0x10
jb 0x4bdea2
push 0x10
lea ecx, [esp + 0x291]
call fcn.004b38e0
lea ecx, [esp + 0x28d]
mov byte [eax], 0
call fcn.004b38d0
push 0
lea ecx, [esp + 0x744]
push ecx
push 0xffffffffffffffff
push eax
push dword [esp + 0x34]
call dword [esp + 0x30]
jmp 0x4bdfb6
mov ecx, dword [esi]
mov edx, 0x8260aee0
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4bdf40
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bdf23
cmp edx, 0x6dfd62d8
je 0x4bdf49
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bdf13
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
movaps xmm0, xmmword [0x4d1830]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov edx, dword [eax + edi]
add edx, edi
xor ecx, ecx
movups xmmword [esp + 0x2d8], xmm0
nop word [eax + eax]
mov al, byte [esp + 0x2d8]
xor byte [esp + ecx + 0x2d9], al
inc ecx
cmp ecx, 0xe
jb 0x4bdf80
push 0
lea eax, [esp + 0x744]
mov byte [esp + 0x2eb], 0
push eax
push 0xffffffffffffffff
lea eax, [esp + 0x2e5]
push eax
push dword [esp + 0x34]
call edx
mov edi, dword [0x4d7880]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
mov ecx, dword [esi]
mov edx, 0x4a043448
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4be001
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4bdfe4
cmp edx, 0xf6175888
je 0x4be00a
inc dword [esp + 0x14]
add esi, 4
jmp 0x4bdfd4
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push dword [esp + 0x148]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov edi, dword [0x4d7880]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop
mov ecx, dword [esi]
mov edx, 0x1df0dd47
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4be07d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4be060
cmp edx, 0x90d1dd83
je 0x4be086
inc dword [esp + 0x14]
add esi, 4
jmp 0x4be050
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push dword [esp + 0x1d8]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov edi, dword [0x4d7880]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop word [eax + eax]
mov ecx, dword [esi]
mov edx, 0xa30eaa8b
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4be0fd
call dword [sym.imp.gdiplus.dll_GdipDeleteGraphics]
mov ecx, dword [esp + 0x8cc]
pop edi
pop esi
xor ecx, esp
call fcn.004c6ef9
mov esp, ebp
pop ebp
ret