Function at 0x1001f786
Capabilities:
Encrypt data using aes
Reference aes constants
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x3c0
mov esi, esp
mov edi, ecx
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
mov edx, dword [0x100c51b8]
xor edx, ebp
mov dword [esi + 0x3b8], edx
lea edx, [esi + 0x118]
mov dword [edx + 4], ecx
mov dword [edx], eax
lea ecx, [esi + 0x170]
mov dword [esi + 0x78], ecx
mov eax, dword [esi + 0x78]
xor edx, edx
mov dword [ecx], edx
mov dword [ecx + 0x10], edx
mov dword [ecx + 0x14], 0xf
mov byte [ecx], dl
lea eax, [esi + 0x114]
mov dword [esi + 0x7c], eax
mov ecx, dword [esi + 0x7c]
mov dword [eax], edx
lea eax, [esi + 0x110]
mov dword [esi + 0x80], eax
mov ecx, dword [esi + 0x80]
lea ecx, [edi + 0x18]
mov dword [eax], ecx
call fcn.1000a8e0
lea ebx, [esi + 0x10c]
mov dword [esi + 0x84], ebx
mov eax, dword [esi + 0x84]
lea ecx, [edi + 8]
lea eax, [esi + 0x118]
push eax
call fcn.1003ebfe
mov dword [ebx], eax
lea eax, [esi + 0x100]
mov dword [esi + 0x88], eax
mov ecx, dword [esi + 0x88]
mov dword [eax], ebx
mov dword [eax + 4], edi
xor ecx, ecx
mov byte [eax + 8], cl
mov dword [esi + 0xe8], ebx
lea eax, [esi + 0xfc]
mov dword [esi + 0x6c], eax
mov ecx, dword [esi + 0x6c]
mov ecx, dword [edi + 8]
mov dword [eax], ecx
mov dword [esi + 0xec], eax
cmp byte [ebp + 0x10], 0
mov eax, 0x2027c34b
mov ecx, 0x4ebc49b4
cmovne ecx, eax
mov dword [esi + 0xd0], ecx
mov edi, 0x11aea374
cmp edi, 0x1bba9331
jg 0x1001f8b4
cmp edi, 0xd439060e
jg 0x1001f8f5
cmp edi, 0xb56d45e9
jle 0x1001f9cf
cmp edi, 0xb82ce855
je 0x1001fa92
cmp edi, 0xc03ec07e
jne 0x1002244a
mov edx, 2
jmp 0x1001fecb
cmp edi, 0x4ebc49b3
jg 0x1001f934
cmp edi, 0x2f3ae690
jg 0x1001f9fe
cmp edi, 0x1bba9332
je 0x1001faad
cmp edi, 0x2027c34b
jne 0x1001f876
mov eax, dword [esi + 0xf4]
cmp dword [eax + 0x60], 0
mov edi, 0xd439060f
mov eax, 0xc03ec07e
cmove edi, eax
jmp 0x1001f876
cmp edi, 0x11aea373
jg 0x1001fa1b
cmp edi, 0xd439060f
je 0x1001fac1
cmp edi, 0xe8c50e82
jne 0x1001f876
lea ecx, [esi + 0x158]
call fcn.100087f0
mov eax, dword [esi + 0x90]
mov edi, 0x3ae73797
jmp 0x1001f876
cmp edi, 0x67875ebd
jg 0x1001fa5b
cmp edi, 0x4ebc49b4
je 0x1001fec6
cmp edi, 0x5597d073
jne 0x1001f876
lea eax, [esi + 0xf4]
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 0x8c]
mov eax, dword [esi + 0x10c]
xor ecx, ecx
mov dword [esi + 0xf4], ecx
mov dword [esi + 0xf8], ecx
mov ecx, dword [eax + 0x1c]
mov dword [esi + 0x210], ecx
mov ecx, 0x69dfbf27
cmp ecx, 0x2142af89
je 0x1001fefa
cmp ecx, 0x7f7e890a
je 0x1001f9be
cmp ecx, 0x69dfbf27
jne 0x1001f98c
cmp dword [esi + 0x210], 0
mov ecx, 0x7f7e890a
mov edx, 0x2142af89
cmove ecx, edx
jmp 0x1001f98c
mov ecx, dword [esi + 0x210]
lock inc dword [ecx + 4]
mov ecx, 0x2142af89
jmp 0x1001f98c
cmp edi, 0x8230c8e9
je 0x1001ff22
cmp edi, 0xa1b0374c
jne 0x1001f876
mov eax, dword [esi + 0xf4]
mov eax, dword [eax + 0x20]
mov dword [esi + 0x40], eax
mov edi, dword [esi + 0xd0]
jmp 0x1001f876
cmp edi, 0x2f3ae691
je 0x1001ff2f
cmp edi, 0x3ae73797
je 0x1001ff9d
jmp 0x1001f876
cmp edi, 0x11aea374
je 0x1001ff71
cmp edi, 0x1ae1e55b
jne 0x1001f876
mov ecx, dword [esi + 0xf4]
add ecx, 0x28
push dword [esi + 0x40]
xor eax, eax
push eax
push eax
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [esi + 0x114]
lea eax, [esi + 0x158]
push eax
jmp 0x1001ff62
cmp edi, 0x67875ebe
je 0x1001ff93
cmp edi, 0x76b98de4
jne 0x1001f876
mov eax, dword [esi + 0x10c]
cmp dword [eax + 0x18], 0
mov eax, dword [esi + 0x6c]
mov edi, 0x5597d073
mov eax, 0x1bba9332
cmove edi, eax
jmp 0x1001f876
lea ecx, [esi + 0xf4]
call fcn.1003e940
mov eax, dword [esi + 0x8c]
mov edi, 0xb56d45ea
jmp 0x1001f876
mov dword [esi + 0x114], 3
mov edi, 0xb56d45ea
jmp 0x1001f876
mov dword [esi + 0xd4], esp
lea eax, [esi + 0x158]
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x90]
xor ebx, ebx
mov dword [esi + 0x158], ebx
mov dword [esi + 0x168], ebx
mov eax, 0xf
mov dword [esi + 0x16c], eax
mov byte [esi + 0x158], bl
mov eax, dword [esi + 0xf4]
mov dword [esi + 0x48], eax
lea ecx, [esi + 0x134]
mov dword [esi + 0x94], ecx
mov eax, dword [esi + 0x94]
mov dword [esi + 0x134], ebx
mov dword [esi + 0x138], ebx
xor edi, edi
inc edi
push edi
call fcn.10010486
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov cx, 0x101
mov word [eax + 0xc], cx
mov dword [esi + 0x134], eax
lea eax, [esi + 0x210]
mov dword [esi + 0x1e8], eax
mov eax, dword [esi + 0x1e8]
mov dword [esi + 0x214], ebx
mov dword [esi + 0x224], ebx
mov eax, 0xf
mov dword [esi + 0x228], eax
mov byte [esi + 0x214], bl
xorps xmm0, xmm0
lea eax, [esi + 0x240]
movups xmmword [eax], xmm0
mov dword [eax + 0x10], ebx
lea ecx, [esi + 0x24c]
push edi
call fcn.100074b0
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov cx, 0x101
mov word [eax + 0xc], cx
mov dword [esi + 0x24c], eax
mov dword [esi + 0x210], ebx
mov eax, 0x5f9275c4
cmp eax, 0x27cd4918
jle 0x1001fbf7
cmp eax, 0x5f9275c3
jle 0x1001fc32
cmp eax, 0x71bdffeb
je 0x1001fcc2
cmp eax, 0x64c5c947
je 0x1001fd04
cmp eax, 0x5f9275c4
jne 0x1001fba9
lea eax, [esi + 0x210]
push eax
push dword [ebp + 0xc]
call fcn.10006ff9
add esp, 8
test al, al
mov eax, 0x27cd4919
mov ecx, 0x498550bb
cmovne eax, ecx
jmp 0x1001fba9
cmp eax, 0xfcf935be
jg 0x1001fc61
cmp eax, 0x8ed58eb4
je 0x1001fd1a
cmp eax, 0xac5fff71
jne 0x1001fe0e
mov eax, dword [esi + 0x1b8]
cmp eax, dword [esi + 0x1a0]
mov eax, 0xfcf935bf
mov ecx, 0x64c5c947
cmove eax, ecx
jmp 0x1001fba9
cmp eax, 0x27cd4919
je 0x1001fd10
cmp eax, 0x498550bb
jne 0x1001fba9
cmp dword [esi + 0x210], 6
mov eax, 0x27cd4919
mov ecx, 0x71bdffeb
cmove eax, ecx
jmp 0x1001fba9
cmp eax, 0xfcf935bf
je 0x1001fd49
cmp eax, 0x1892d20
jne 0x1001fba9
mov eax, dword [esi + 0x24c]
lea ecx, [esi + 0x24c]
push dword [eax + 4]
push ecx
call fcn.10007870
push 0x70
push dword [esi + 0x24c]
call fcn.1000791c
add esp, 8
lea ecx, [esi + 0x240]
call fcn.100079e4
lea ecx, [esi + 0x214]
call fcn.100087f0
mov eax, dword [esi + 0x1e8]
mov eax, 0x9bfaacaa
jmp 0x1001fba9
lea eax, [esi + 0x1b8]
mov dword [esi + 0x314], eax
mov eax, dword [esi + 0x314]
mov eax, dword [esi + 0x24c]
mov ecx, dword [eax]
mov dword [esi + 0x1b8], ecx
lea ecx, [esi + 0x1a0]
mov dword [esi + 0x32c], ecx
mov ecx, dword [esi + 0x32c]
mov dword [esi + 0x1a0], eax
mov eax, 0xac5fff71
jmp 0x1001fba9
mov eax, dword [esi + 0x32c]
mov eax, dword [esi + 0x314]
mov eax, 0x1892d20
jmp 0x1001fba9
mov eax, dword [esi + 0x134]
lea ecx, [esi + 0x134]
push dword [eax + 4]
push ecx
call fcn.1001040a
push 0x40
push dword [esi + 0x134]
call fcn.1000791c
add esp, 8
mov eax, 0x9bfaacaa
jmp 0x1001fba9
mov eax, dword [esi + 0x1b8]
lea edi, [eax + 0x10]
add eax, 0x2c
xor ebx, ebx
mov dword [esi + 0x35c], ebx
mov dword [esi + 0x36c], ebx
mov dword [esi + 0x370], ebx
lea ecx, [esi + 0x35c]
push eax
call fcn.10007eb6
mov dword [esi + 0x374], ebx
mov dword [esi + 0x384], ebx
mov dword [esi + 0x388], ebx
lea ecx, [esi + 0x374]
push edi
call fcn.10007eb6
movsd xmm0, qword [esi + 0x36c]
lea edi, [esi + 0x38c]
movsd qword [edi + 0x10], xmm0
movups xmm0, xmmword [esi + 0x35c]
movups xmmword [edi], xmm0
mov dword [esi + 0x36c], ebx
mov dword [esi + 0x370], 0xf
mov byte [esi + 0x35c], 0
lea ecx, [esi + 0x134]
lea ebx, [esi + 0x374]
push ebx
lea eax, [esi + 0x344]
push eax
call fcn.1003ee4a
mov ecx, edi
call fcn.100087f0
mov ecx, ebx
call fcn.100087f0
lea ecx, [esi + 0x35c]
call fcn.100087f0
lea ecx, [esi + 0x1b8]
call fcn.1000996c
mov eax, 0xac5fff71
jmp 0x1001fba9
cmp eax, 0x9bfaacaa
jne 0x1001fba9
lea eax, [esi + 0x130]
mov dword [esi + 0x98], eax
mov eax, dword [esi + 0x98]
lea eax, [esi + 0x134]
mov dword [esi + 0x44], eax
lea eax, [esi + 0x1e8]
mov dword [esi + 0x9c], eax
mov eax, dword [esi + 0x9c]
lea eax, [esi + 0x148]
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 0xa0]
mov byte [esi + 0x148], 1
mov byte [esi + 0x149], 0x12
mov byte [esi + 0x14a], 0x74
mov byte [esi + 0x14b], 0x7b
mov byte [esi + 0x14c], 0x71
mov byte [esi + 0x14d], 0x77
lea eax, [esi + 0x150]
mov dword [esi + 0x210], eax
mov ecx, 0x17b6b8fa
lea eax, [esi + 0x14e]
cmp ecx, 0xcee7b5fd
je 0x1001ffa7
cmp ecx, 0x17b6b8fa
jne 0x1001fe99
mov byte [eax], 0
inc eax
cmp eax, dword [esi + 0x210]
mov ecx, 0x17b6b8fa
mov edx, 0xcee7b5fd
cmove ecx, edx
jmp 0x1001fe99
mov edx, 8
mov dword [esi + 0x114], edx
mov ecx, dword [esi + 0xf4]
add ecx, 0x28
push dword [esi + 0x40]
xor eax, eax
push eax
push eax
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edx
push dword [ebp + 0xc]
call fcn.1003ea7e
mov edi, 0x3ae73797
jmp 0x1001f876
mov ecx, dword [eax + 0x18]
mov dword [esi + 0xf4], ecx
mov eax, dword [eax + 0x1c]
mov dword [esi + 0xf8], eax
cmp dword [ecx + 0x4c], 0
mov edi, 0xa1b0374c
mov eax, 0x67875ebe
cmove edi, eax
jmp 0x1001f876
mov eax, dword [esi + 0x6c]
mov edi, 0x1bba9332
jmp 0x1001f876
mov edi, dword [esi + 0xf4]
add edi, 0x28
lea ecx, [esi + 0x170]
call fcn.10007c1e
push eax
call fcn.1009ce4c
add esp, 4
mov ecx, edi
push dword [esi + 0x40]
push edx
push eax
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [esi + 0x114]
push dword [ebp + 0xc]
call fcn.1003ea7e
mov edi, 0xe8c50e82
jmp 0x1001f876
mov eax, dword [esi + 0xe8]
mov ecx, dword [esi + 0xec]
mov eax, dword [eax]
cmp eax, dword [ecx]
mov edi, 0x76b98de4
mov eax, 0x8230c8e9
cmove edi, eax
jmp 0x1001f876
mov dword [esi + 0x114], 4
mov edi, 0xb82ce855
jmp 0x1001f876
lea eax, [esi + 0x148]
mov dword [esi + 0x374], eax
mov eax, dword [esi + 0x374]
mov al, byte [eax]
mov byte [esi + 0x344], al
mov eax, 0x394b3102
cmp eax, 0x394b3101
jg 0x10020009
cmp eax, 0xb65ec69d
je 0x100200b8
cmp eax, 0xe65e6efb
je 0x10020038
cmp eax, 0x1d80e98d
jne 0x1001ffc6
lea eax, [esi + 0x35c]
mov dword [esi + 0x210], eax
mov eax, dword [esi + 0x210]
mov dword [esi + 0x35c], 0
mov eax, 0x533e05b3
jmp 0x1001ffc6
cmp eax, 0x6892d390
je 0x10020076
cmp eax, 0x533e05b3
je 0x1002009d
cmp eax, 0x394b3102
jne 0x1001ffc6
test byte [esi + 0x344], 1
mov eax, 0x1d80e98d
mov ecx, 0xb65ec69d
cmove eax, ecx
jmp 0x1001ffc6
mov eax, dword [esi + 0x35c]
mov cl, byte [esi + eax + 0x14a]
mov eax, dword [esi + 0x35c]
mov dl, byte [esi + 0x149]
inc al
xor al, dl
xor al, cl
xor al, 4
mov ecx, dword [esi + 0x35c]
mov byte [esi + ecx + 0x14a], al
inc dword [esi + 0x35c]
mov eax, 0x533e05b3
jmp 0x1001ffc6
mov eax, dword [esi + 0x210]
mov byte [esi + 0x14e], 0
mov byte [esi + 0x14f], 0
mov eax, dword [esi + 0x374]
mov byte [eax], 0
mov eax, 0xb65ec69d
jmp 0x1001ffc6
mov eax, dword [esi + 0x35c]
cmp eax, 4
mov eax, 0x6892d390
mov ecx, 0xe65e6efb
cmovb eax, ecx
jmp 0x1001ffc6
xor eax, eax
mov dword [esi + 0x1e8], eax
mov dword [esi + 0x1f8], eax
mov dword [esi + 0x1fc], 0xf
mov byte [esi + 0x1e8], 0
lea edi, [esi + 0x14a]
push edi
call fcn.1009ee80
add esp, 4
lea ebx, [esi + 0x1e8]
mov ecx, ebx
push eax
push edi
call fcn.10007b00
mov ecx, dword [esi + 0x44]
push ebx
call fcn.1003f044
mov dword [esi + 0x130], eax
lea ecx, [esi + 0x12c]
mov dword [esi + 0xa4], ecx
mov ecx, dword [esi + 0xa4]
mov ecx, dword [esi + 0x44]
mov ecx, dword [ecx]
cmp eax, ecx
mov dword [esi + 0x12c], ecx
sete byte [esi + 0x30]
lea eax, [esi + 0x128]
mov dword [esi + 0xa8], eax
mov eax, dword [esi + 0xa8]
lea eax, [esi + 0x140]
mov dword [esi + 0xac], eax
mov eax, dword [esi + 0xac]
lea eax, [esi + 0x124]
mov dword [esi + 0xb0], eax
push eax
mov dword [esi + 0x58], esp
push eax
mov dword [esi + 0x54], esp
push eax
mov dword [esi + 0x50], esp
push eax
mov dword [esi + 0x4c], esp
push eax
mov dword [esi + 0x3c], esp
mov eax, dword [esi + 0x48]
lea ecx, [eax + 0x68]
mov dword [esi + 0xd8], ecx
add eax, 0x50
mov dword [esi + 0x48], eax
mov eax, 0x99615b5c
cmp eax, 0xe37b05cf
jg 0x10020235
cmp eax, 0xba4dd9f8
jle 0x1002027d
cmp eax, 0xdda03d6e
jg 0x1002035a
cmp eax, 0xba4dd9f9
je 0x10020415
cmp eax, 0xc6781444
jne 0x10020182
lea eax, [esi + 0x1b8]
mov dword [esi + 0xb4], eax
mov eax, dword [esi + 0xb4]
mov byte [esi + 0x35c], 1
mov byte [esi + 0x35d], 0x12
mov al, 0x73
mov byte [esi + 0x35e], al
mov byte [esi + 0x35f], 0x75
mov byte [esi + 0x360], 0x61
mov byte [esi + 0x361], al
lea eax, [esi + 0x364]
mov dword [esi + 0x210], eax
mov ecx, 0x17b6b8fa
lea eax, [esi + 0x362]
cmp ecx, 0xcee7b5fd
je 0x1002042f
cmp ecx, 0x17b6b8fa
jne 0x10020208
mov byte [eax], 0
inc eax
cmp eax, dword [esi + 0x210]
mov ecx, 0x17b6b8fa
mov edx, 0xcee7b5fd
cmove ecx, edx
jmp 0x10020208
cmp eax, 0x264b1065
jle 0x100202cb
cmp eax, 0x4654eaba
jg 0x1002037f
cmp eax, 0x264b1066
je 0x10020540
cmp eax, 0x27f80f15
jne 0x10020182
mov eax, dword [esi + 0xac]
cmp byte [esi + 0x32], 0
mov eax, 0x5e52e67f
mov ecx, 0x4654eabb
cmovne eax, ecx
jmp 0x10020182
cmp eax, 0xa7b0cefb
jg 0x100203d4
cmp eax, 0x987feb03
je 0x1002056e
cmp eax, 0x99615b5c
jne 0x10020182
mov eax, dword [esi + 0xb0]
xor ecx, ecx
cmp byte [esi + 0x30], cl
mov eax, 0x22279e73
mov edx, 0x264b1066
cmovne eax, edx
mov edx, dword [esi + 0x58]
mov byte [edx], cl
mov edx, dword [esi + 0x54]
mov byte [edx], cl
mov ecx, dword [esi + 0x50]
mov byte [ecx], 1
jmp 0x10020182
cmp eax, 0xe37b05d0
je 0x1002057e
cmp eax, 0xd3f8d67
je 0x100205ec
cmp eax, 0x22279e73
jne 0x10020182
mov byte [esi + 0x140], 1
mov byte [esi + 0x141], 0x12
mov al, 0x73
mov byte [esi + 0x142], al
mov byte [esi + 0x143], 0x75
mov byte [esi + 0x144], 0x61
mov byte [esi + 0x145], al
lea eax, [esi + 0x148]
mov dword [esi + 0x210], eax
mov ecx, 0x17b6b8fa
lea eax, [esi + 0x146]
cmp ecx, 0xcee7b5fd
je 0x10020601
cmp ecx, 0x17b6b8fa
jne 0x1002032d
mov byte [eax], 0
inc eax
cmp eax, dword [esi + 0x210]
mov ecx, 0x17b6b8fa
mov edx, 0xcee7b5fd
cmove ecx, edx
jmp 0x1002032d
cmp eax, 0xdda03d6f
je 0x10020712
cmp eax, 0xdf5250c9
jne 0x10020182
mov dword [esi + 0x114], 5
jmp 0x1002071c
cmp eax, 0x4654eabb
je 0x1002072c
cmp eax, 0x5e52e67f
jne 0x10020182
mov eax, dword [esi + 0xa8]
mov eax, dword [esi + 0xa4]
lea ecx, [esi + 0x1e8]
call fcn.100087f0
mov eax, dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
mov eax, dword [esi + 0x98]
cmp byte [esi + 0x31], 0
mov eax, 0xe37b05d0
mov ecx, 0xdf5250c9
cmovne eax, ecx
jmp 0x10020182
cmp eax, 0xa7b0cefc
jne 0x100223f6
mov eax, dword [esi + 0x4c]
mov bl, byte [eax]
lea ecx, [esi + 0x1a0]
call fcn.100087f0
mov eax, dword [esi + 0xb8]
lea ecx, [esi + 0x1b8]
call fcn.100087f0
mov eax, dword [esi + 0xb4]
mov eax, dword [esi + 0x3c]
mov byte [eax], bl
mov eax, 0xb6d9ac00
jmp 0x10020182
mov dword [esi + 0x114], 7
mov eax, dword [esi + 0x4c]
mov byte [eax], 0
mov eax, 0xa7b0cefc
jmp 0x10020182
lea eax, [esi + 0x35c]
mov dword [esi + 0x374], eax
mov eax, dword [esi + 0x374]
mov al, byte [eax]
mov byte [esi + 0x32c], al
mov eax, 0x394b3102
cmp eax, 0x394b3101
jg 0x10020491
cmp eax, 0xb65ec69d
je 0x10020736
cmp eax, 0xe65e6efb
je 0x100204c0
cmp eax, 0x1d80e98d
jne 0x1002044e
lea eax, [esi + 0x344]
mov dword [esi + 0x210], eax
mov eax, dword [esi + 0x210]
mov dword [esi + 0x344], 0
mov eax, 0x533e05b3
jmp 0x1002044e
cmp eax, 0x6892d390
je 0x100204fe
cmp eax, 0x533e05b3
je 0x10020525
cmp eax, 0x394b3102
jne 0x1002044e
test byte [esi + 0x32c], 1
mov eax, 0x1d80e98d
mov ecx, 0xb65ec69d
cmove eax, ecx
jmp 0x1002044e
mov eax, dword [esi + 0x344]
mov cl, byte [esi + eax + 0x35e]
mov eax, dword [esi + 0x344]
mov dl, byte [esi + 0x35d]
inc al
xor al, dl
xor al, cl
xor al, 4
mov ecx, dword [esi + 0x344]
mov byte [esi + ecx + 0x35e], al
inc dword [esi + 0x344]
mov eax, 0x533e05b3
jmp 0x1002044e
mov eax, dword [esi + 0x210]
mov byte [esi + 0x362], 0
mov byte [esi + 0x363], 0
mov eax, dword [esi + 0x374]
mov byte [eax], 0
mov eax, 0xb65ec69d
jmp 0x1002044e
mov eax, dword [esi + 0x344]
cmp eax, 4
mov eax, 0x6892d390
mov ecx, 0xe65e6efb
cmovb eax, ecx
jmp 0x1002044e
mov eax, dword [esi + 0x50]
mov al, byte [eax]
mov byte [esi + 0x31], al
mov eax, dword [esi + 0x58]
mov al, byte [eax]
mov ecx, dword [esi + 0x54]
cmp byte [ecx], 0
mov byte [esi + 0x32], al
mov eax, dword [esi + 0xb0]
mov eax, 0x27f80f15
mov ecx, 0xd3f8d67
cmovne eax, ecx
jmp 0x10020182
mov eax, dword [esi + 0x4c]
mov byte [eax], 1
mov eax, 0xa7b0cefc
jmp 0x10020182
mov byte [esi + 0x35c], 1
mov byte [esi + 0x35d], 0x12
mov byte [esi + 0x35e], 0x74
mov byte [esi + 0x35f], 0x7b
mov byte [esi + 0x360], 0x71
mov byte [esi + 0x361], 0x77
lea eax, [esi + 0x364]
mov dword [esi + 0x210], eax
mov ecx, 0x17b6b8fa
lea eax, [esi + 0x362]
cmp ecx, 0xcee7b5fd
je 0x100209b8
cmp ecx, 0x17b6b8fa
jne 0x100205bf
mov byte [eax], 0
inc eax
cmp eax, dword [esi + 0x210]
mov ecx, 0x17b6b8fa
mov edx, 0xcee7b5fd
cmove ecx, edx
jmp 0x100205bf
lea ecx, [esi + 0x1d0]
call fcn.100087f0
mov eax, 0x27f80f15
jmp 0x10020182
lea eax, [esi + 0x140]
mov dword [esi + 0x374], eax
mov eax, dword [esi + 0x374]
mov al, byte [eax]
mov byte [esi + 0x344], al
mov eax, 0x394b3102
cmp eax, 0x394b3101
jg 0x10020663
cmp eax, 0xb65ec69d
je 0x10020ac9
cmp eax, 0xe65e6efb
je 0x10020692
cmp eax, 0x1d80e98d
jne 0x10020620
lea eax, [esi + 0x35c]
mov dword [esi + 0x210], eax
mov eax, dword [esi + 0x210]
mov dword [esi + 0x35c], 0
mov eax, 0x533e05b3
jmp 0x10020620
cmp eax, 0x6892d390
je 0x100206d0
cmp eax, 0x533e05b3
je 0x100206f7
cmp eax, 0x394b3102
jne 0x10020620
test byte [esi + 0x344], 1
mov eax, 0x1d80e98d
mov ecx, 0xb65ec69d
cmove eax, ecx
jmp 0x10020620
mov eax, dword [esi + 0x35c]
mov cl, byte [esi + eax + 0x142]
mov eax, dword [esi + 0x35c]
mov dl, byte [esi + 0x141]
inc al
xor al, dl
xor al, cl
xor al, 4
mov ecx, dword [esi + 0x35c]
mov byte [esi + ecx + 0x142], al
inc dword [esi + 0x35c]
mov eax, 0x533e05b3
jmp 0x10020620
mov eax, dword [esi + 0x210]
mov byte [esi + 0x146], 0
mov byte [esi + 0x147], 0
mov eax, dword [esi + 0x374]
mov byte [eax], 0
mov eax, 0xb65ec69d
jmp 0x10020620
mov eax, dword [esi + 0x35c]
cmp eax, 4
mov eax, 0x6892d390
mov ecx, 0xe65e6efb
cmovb eax, ecx
jmp 0x10020620
mov dword [esi + 0x114], 6
mov eax, dword [esi + 0x3c]
mov byte [eax], 0
mov eax, 0xb6d9ac00
jmp 0x10020182
mov eax, 0x5e52e67f
jmp 0x10020182
xor edi, edi
mov dword [esi + 0x210], edi
mov dword [esi + 0x220], edi
mov dword [esi + 0x224], 0xf
mov byte [esi + 0x210], 0
lea eax, [esi + 0x35e]
push eax
call fcn.1009ee80
add esp, 4
lea ecx, [esi + 0x210]
mov ebx, ecx
push eax
lea eax, [esi + 0x35e]
push eax
call fcn.10007b00
lea ecx, [esi + 0x134]
push ebx
lea eax, [esi + 0x374]
push eax
call fcn.1003f0f2
mov eax, dword [esi + 0x374]
add eax, 0x28
mov dword [esi + 0x1b8], edi
mov dword [esi + 0x1c8], edi
mov dword [esi + 0x1cc], edi
lea ecx, [esi + 0x1b8]
push eax
call fcn.10007eb6
mov ecx, ebx
call fcn.100087f0
lea eax, [esi + 0x1a0]
mov dword [esi + 0xb8], eax
mov eax, dword [esi + 0xb8]
mov byte [esi + 0x210], 1
mov al, 0x12
mov byte [esi + 0x211], al
mov byte [esi + 0x212], al
mov byte [esi + 0x213], al
mov byte [esi + 0x214], al
mov byte [esi + 0x215], al
mov byte [esi + 0x216], al
mov byte [esi + 0x217], al
mov byte [esi + 0x218], al
mov byte [esi + 0x219], al
mov byte [esi + 0x21a], al
mov byte [esi + 0x21b], al
mov byte [esi + 0x21c], al
mov byte [esi + 0x21d], al
mov byte [esi + 0x21e], al
mov byte [esi + 0x21f], al
mov byte [esi + 0x220], al
mov byte [esi + 0x221], al
mov byte [esi + 0x222], al
mov byte [esi + 0x223], al
mov byte [esi + 0x224], al
mov byte [esi + 0x225], al
mov byte [esi + 0x226], al
mov byte [esi + 0x227], al
mov byte [esi + 0x228], al
mov byte [esi + 0x229], al
mov byte [esi + 0x22a], al
mov byte [esi + 0x22b], al
mov al, 0x28
mov byte [esi + 0x22c], al
mov cl, 0x2c
mov byte [esi + 0x22d], cl
mov byte [esi + 0x22e], cl
mov byte [esi + 0x22f], al
mov byte [esi + 0x230], al
mov al, 0x14
mov byte [esi + 0x231], al
mov byte [esi + 0x232], al
mov cl, 0x18
mov byte [esi + 0x233], cl
mov byte [esi + 0x234], cl
mov dl, 0x1c
mov byte [esi + 0x235], dl
mov byte [esi + 0x236], dl
mov byte [esi + 0x237], cl
mov byte [esi + 0x238], cl
mov byte [esi + 0x239], al
mov byte [esi + 0x23a], al
mov ah, 8
mov byte [esi + 0x23b], ah
mov byte [esi + 0x23c], ah
mov ch, 0xc
mov byte [esi + 0x23d], ch
mov byte [esi + 0x23e], ch
mov byte [esi + 0x23f], ah
mov byte [esi + 0x240], ah
mov byte [esi + 0x241], al
mov byte [esi + 0x242], al
mov byte [esi + 0x243], cl
mov byte [esi + 0x244], cl
mov byte [esi + 0x245], dl
mov al, 0x57
mov byte [esi + 0x246], al
mov cl, 0x55
mov byte [esi + 0x247], cl
mov byte [esi + 0x248], al
mov dl, 0x59
mov byte [esi + 0x249], dl
mov ah, 0x5f
mov byte [esi + 0x24a], ah
mov byte [esi + 0x24b], 0x5d
mov byte [esi + 0x24c], ah
mov byte [esi + 0x24d], dl
mov byte [esi + 0x24e], al
mov byte [esi + 0x24f], cl
mov byte [esi + 0x250], 0x46
mov byte [esi + 0x251], 0x3d
lea eax, [esi + 0x254]
mov dword [esi + 0x374], eax
mov ecx, 0xa0993f70
lea eax, [esi + 0x252]
cmp ecx, 0xd36ab51a
je 0x10020b3e
cmp ecx, 0xa0993f70
jne 0x1002098b
mov byte [eax], 0
inc eax
cmp eax, dword [esi + 0x374]
mov ecx, 0xa0993f70
mov edx, 0xd36ab51a
cmove ecx, edx
jmp 0x1002098b
lea eax, [esi + 0x35c]
mov dword [esi + 0x374], eax
mov eax, dword [esi + 0x374]
mov al, byte [eax]
mov byte [esi + 0x32c], al
mov eax, 0x394b3102
cmp eax, 0x394b3101
jg 0x10020a1a
cmp eax, 0xb65ec69d
je 0x10020c4b
cmp eax, 0xe65e6efb
je 0x10020a49
cmp eax, 0x1d80e98d
jne 0x100209d7
lea eax, [esi + 0x344]
mov dword [esi + 0x210], eax
mov eax, dword [esi + 0x210]
mov dword [esi + 0x344], 0
mov eax, 0x533e05b3
jmp 0x100209d7
cmp eax, 0x6892d390
je 0x10020a87
cmp eax, 0x533e05b3
je 0x10020aae
cmp eax, 0x394b3102
jne 0x100209d7
test byte [esi + 0x32c], 1
mov eax, 0x1d80e98d
mov ecx, 0xb65ec69d
cmove eax, ecx
jmp 0x100209d7
mov eax, dword [esi + 0x344]
mov cl, byte [esi + eax + 0x35e]
mov eax, dword [esi + 0x344]
mov dl, byte [esi + 0x35d]
inc al
xor al, dl
xor al, cl
xor al, 4
mov ecx, dword [esi + 0x344]
mov byte [esi + ecx + 0x35e], al
inc dword [esi + 0x344]
mov eax, 0x533e05b3
jmp 0x100209d7
mov eax, dword [esi + 0x210]
mov byte [esi + 0x362], 0
mov byte [esi + 0x363], 0
mov eax, dword [esi + 0x374]
mov byte [eax], 0
mov eax, 0xb65ec69d
jmp 0x100209d7
mov eax, dword [esi + 0x344]
cmp eax, 4
mov eax, 0x6892d390
mov ecx, 0xe65e6efb
cmovb eax, ecx
jmp 0x100209d7
xor eax, eax
mov dword [esi + 0x1d0], eax
mov dword [esi + 0x1e0], eax
mov dword [esi + 0x1e4], 0xf
mov byte [esi + 0x1d0], 0
lea edi, [esi + 0x142]
push edi
call fcn.1009ee80
add esp, 4
lea ebx, [esi + 0x1d0]
mov ecx, ebx
push eax
push edi
call fcn.10007b00
mov ecx, dword [esi + 0x44]
push ebx
call fcn.1003f044
mov dword [esi + 0x128], eax
mov ecx, dword [esi + 0x44]
mov ecx, dword [ecx]
cmp eax, ecx
mov dword [esi + 0x124], ecx
mov al, 1
mov ecx, dword [esi + 0x58]
mov byte [ecx], al
mov ecx, dword [esi + 0x54]
mov byte [ecx], al
mov eax, dword [esi + 0x50]
sete byte [eax]
mov eax, 0x264b1066
jmp 0x10020182
lea eax, [esi + 0x210]
mov dword [esi + 0x35c], eax
mov eax, dword [esi + 0x35c]
mov al, byte [eax]
mov byte [esi + 0x32c], al
mov eax, 0xe43fb2d7
cmp eax, 0xe43fb2d6
jg 0x10020ba0
cmp eax, 0x81694b05
je 0x10020bcb
cmp eax, 0x96f62a83
je 0x10020cd9
cmp eax, 0xc30a661e
jne 0x10020b5d
lea eax, [esi + 0x344]
mov dword [esi + 0x374], eax
mov eax, dword [esi + 0x374]
mov dword [esi + 0x344], 0
mov eax, 0x81694b05
jmp 0x10020b5d
cmp eax, 0x66aec847
je 0x10020be6
cmp eax, 0x65b41fc2
je 0x10020c24
cmp eax, 0xe43fb2d7
jne 0x10020b5d
test byte [esi + 0x32c], 1
mov eax, 0xc30a661e
mov ecx, 0x96f62a83
cmove eax, ecx
jmp 0x10020b5d
mov eax, dword [esi + 0x344]
cmp eax, 0x40
mov eax, 0x65b41fc2
mov ecx, 0x66aec847
cmovb eax, ecx
jmp 0x10020b5d
mov eax, dword [esi + 0x344]
mov cl, byte [esi + eax + 0x212]
mov eax, dword [esi + 0x344]
mov dl, byte [esi + 0x211]
inc al
xor al, dl
xor al, cl
xor al, 0x40
mov ecx, dword [esi + 0x344]
mov byte [esi + ecx + 0x212], al
inc dword [esi + 0x344]
mov eax, 0x81694b05
jmp 0x10020b5d
mov eax, dword [esi + 0x374]
mov byte [esi + 0x252], 0
mov byte [esi + 0x253], 0
mov eax, dword [esi + 0x35c]
mov byte [eax], 0
mov eax, 0x96f62a83
jmp 0x10020b5d
xor eax, eax
mov dword [esi + 0x210], eax
mov dword [esi + 0x220], eax
mov dword [esi + 0x224], 0xf
mov byte [esi + 0x210], 0
lea edi, [esi + 0x35e]
push edi
call fcn.1009ee80
add esp, 4
lea ebx, [esi + 0x210]
mov ecx, ebx
push eax
push edi
call fcn.10007b00
lea ecx, [esi + 0x134]
push ebx
lea eax, [esi + 0x374]
push eax
call fcn.1003f0f2
mov eax, dword [esi + 0x374]
add eax, 0x28
lea edi, [esi + 0x170]
mov ecx, edi
push eax
call section..text
mov ecx, ebx
call fcn.100087f0
mov ecx, edi
push 0x100be517
call fcn.1003ee18
test eax, eax
mov eax, 0xdda03d6f
mov ecx, 0xc6781444
cmove eax, ecx
jmp 0x10020182
xor eax, eax
mov dword [esi + 0x188], eax
mov dword [esi + 0x198], eax
mov dword [esi + 0x19c], 0xf
mov byte [esi + 0x188], 0
lea edi, [esi + 0x212]
push edi
call fcn.1009ee80
add esp, 4
lea ecx, [esi + 0x188]
push eax
push edi
call fcn.10007b00
mov eax, 0x83e20875
cmp eax, 0xfdea0027
jg 0x10020d8a
cmp eax, 0xc60c6421
jle 0x10020e5e
cmp eax, 0xdfaa1a6c
jg 0x10020eeb
cmp eax, 0xc60c6422
je 0x10021008
cmp eax, 0xcc7d3320
je 0x10021085
cmp eax, 0xdc6a2b00
jne 0x10020d19
xor eax, eax
mov dword [esi + 0x1a0], eax
mov dword [esi + 0x1b0], eax
mov dword [esi + 0x1b4], 0xf
mov byte [esi + 0x1a0], 0
lea ecx, [esi + 0x1a0]
push eax
push 0x100be687
call fcn.10007b00
mov eax, 0xac79cc2f
jmp 0x10020d19
cmp eax, 0x4044dbf1
jle 0x10020e9d
cmp eax, 0x638e86e6
jg 0x10020f65
cmp eax, 0x4044dbf2
je 0x100210c5
cmp eax, 0x4a59c3a7
je 0x100210dd
cmp eax, 0x4daaefe3
jne 0x10020d19
lea eax, [esi + 0x150]
mov dword [esi + 0xbc], eax
mov eax, dword [esi + 0xbc]
lea ecx, [esi + 0x35c]
mov dword [esi + 0xc0], ecx
mov eax, dword [esi + 0xc0]
xor ebx, ebx
mov dword [esi + 0x35c], ebx
mov dword [esi + 0x36c], ebx
mov dword [esi + 0x370], 0xf
mov byte [esi + 0x35c], 0
mov eax, dword [esi + 0x1c8]
lea eax, [eax + eax*2]
shr eax, 2
push eax
call fcn.10008c72
lea ecx, [esi + 0x344]
mov dword [esi + 0xc4], ecx
mov eax, dword [esi + 0xc4]
mov dword [esi + 0x344], ebx
mov dword [esi + 0x354], ebx
mov dword [esi + 0x358], ebx
lea eax, [esi + 0x188]
push eax
call fcn.10007eb6
cmp dword [esi + 0x198], ebx
mov eax, 0xea37197e
mov ecx, 0x638e86e7
cmove eax, ecx
jmp 0x10020d19
cmp eax, 0xada9d86b
jle 0x10020f9e
cmp eax, 0xada9d86c
je 0x100210fb
cmp eax, 0xae4f47f6
je 0x10021113
cmp eax, 0xc340a291
jne 0x10020d19
mov eax, dword [esi + 0x38]
mov edi, dword [esi + 0x18]
add edi, 4
mov eax, 0xdfaa1a6d
jmp 0x10020d19
cmp eax, 0x1d784612
jle 0x10020fce
cmp eax, 0x1d784613
je 0x1002113b
cmp eax, 0x266d9d7e
je 0x10021169
cmp eax, 0x27d037a4
jne 0x10020d19
mov eax, dword [esi + 0x200]
mov ecx, dword [esi + 0x204]
shl eax, 2
shr ecx, 4
or ecx, eax
movsx eax, cl
lea ecx, [esi + 0x35c]
jmp 0x10021444
cmp eax, 0xdfaa1a6d
je 0x10021195
cmp eax, 0xea27a091
je 0x100211b3
cmp eax, 0xea37197e
jne 0x10020d19
lea ecx, [esi + 0x314]
mov dword [esi + 0xc8], ecx
mov eax, dword [esi + 0xc8]
xor ebx, ebx
mov dword [esi + 0x314], ebx
mov dword [esi + 0x324], ebx
mov dword [esi + 0x328], ebx
lea eax, [esi + 0x1b8]
push eax
call fcn.10007eb6
mov eax, dword [esi + 0x324]
and eax, 3
mov dword [esi + 0xcc], eax
cmp dword [esi + 0xcc], ebx
mov eax, 0x266d9d7e
mov ecx, 0xcc7d3320
cmove eax, ecx
jmp 0x10020d19
cmp eax, 0x638e86e7
je 0x1002121a
cmp eax, 0x69199ad8
je 0x10021406
cmp eax, 0x6d965cdf
jne 0x10020d19
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x3d
mov eax, 0xada9d86c
mov ecx, 0x4044dbf2
cmove eax, ecx
jmp 0x10020d19
cmp eax, 0x83e20875
je 0x10021454
cmp eax, 0xad1a5fc7
jne 0x1002164e
lea ecx, [esi + 0x314]
call fcn.10007c1e
mov dword [esi + 0x1c], eax
mov eax, 0xdfaa1a6d
xor edi, edi
jmp 0x10020d19
cmp eax, 0xfdea0028
je 0x1002146d
cmp eax, 0x41762b
jne 0x10020d19
mov eax, dword [esi + 8]
mov dword [esi + 0x28], eax
movzx eax, byte [esi + 0x354]
mov ecx, dword [esi + 0x28]
cmp ecx, eax
mov eax, 0xad1a5fc7
mov ecx, 0xae4f47f6
cmovl eax, ecx
jmp 0x10020d19
mov byte [esi + 0x154], 0
mov dword [esi + 0x150], 0
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
mov al, byte [eax + ecx]
mov byte [esi + 0x150], al
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
mov al, byte [eax + ecx + 1]
mov byte [esi + 0x151], al
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
mov al, byte [eax + ecx + 2]
lea ecx, [esi + 0x152]
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0xc]
mov byte [ecx], al
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
mov al, byte [eax + ecx + 3]
lea ecx, [esi + 0x153]
mov dword [esi + 4], ecx
mov ecx, dword [esi + 4]
mov byte [ecx], al
lea eax, [esi + 0x200]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x38]
mov eax, 0x4a59c3a7
mov dword [esi + 0x10], 0
jmp 0x10020d19
lea eax, [esi + 0x210]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x70]
push 0x100
push 0
push dword [esi + 0x70]
call fcn.1008c000
add esp, 0xc
lea ecx, [esi + 0x344]
call fcn.10007c1e
mov dword [esi + 0xf0], eax
mov eax, 0x41762b
mov dword [esi + 8], 0
jmp 0x10020d19
mov eax, dword [esi + 4]
cmp byte [eax], 0x3d
mov eax, 0xada9d86c
mov ecx, 0x27d037a4
cmove eax, ecx
jmp 0x10020d19
mov eax, dword [esi + 0x10]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x20]
cmp eax, 4
mov eax, 0x6d965cdf
mov ecx, 0x1d784613
cmovl eax, ecx
jmp 0x10020d19
mov eax, dword [esi + 4]
cmp byte [eax], 0x3d
mov eax, 0xea27a091
mov ecx, 0x69199ad8
cmove eax, ecx
jmp 0x10020d19
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0xf0]
mov edx, dword [esi + 0x28]
movzx ecx, byte [ecx + edx]
mov byte [esi + ecx + 0x210], al
mov eax, dword [esi + 0x28]
inc eax
mov dword [esi + 8], eax
mov eax, 0x41762b
jmp 0x10020d19
mov eax, dword [esi + 0x20]
movsx eax, byte [esi + eax + 0x150]
movzx eax, byte [esi + eax + 0x210]
mov ecx, dword [esi + 0x20]
mov dword [esi + ecx*4 + 0x200], eax
mov eax, dword [esi + 0x20]
inc eax
mov dword [esi + 0x10], eax
mov eax, 0x4a59c3a7
jmp 0x10020d19
mov ebx, 4
sub ebx, dword [esi + 0xcc]
mov ecx, 0x100c60f8
call fcn.10007bca
lea ecx, [esi + 0x314]
push ebx
push eax
call fcn.10008e94
mov eax, 0xcc7d3320
jmp 0x10020d19
mov dword [esi + 0x18], edi
mov eax, dword [esi + 0x18]
cmp eax, dword [esi + 0x324]
mov eax, 0xfdea0028
mov ecx, 0xc60c6422
cmovb eax, ecx
jmp 0x10020d19
mov eax, dword [esi + 0x200]
mov ecx, dword [esi + 0x204]
shl eax, 2
shr ecx, 4
or ecx, eax
movsx eax, cl
lea ebx, [esi + 0x35c]
mov ecx, ebx
push eax
call fcn.100091f2
mov ecx, dword [esi + 0x204]
mov eax, dword [esi + 0x208]
shl ecx, 4
shl eax, 2
sar eax, 4
lea edx, [ecx + 2]
xor edx, eax
and eax, ecx
or eax, edx
xor al, 2
movsx eax, al
mov ecx, ebx
push eax
call fcn.100091f2
mov eax, dword [esi + 0x208]
shl eax, 6
or eax, dword [esi + 0x20c]
movsx eax, al
jmp 0x10021442
mov byte [esi + 0x374], 1
mov al, 0x12
mov byte [esi + 0x375], al
mov byte [esi + 0x376], al
mov byte [esi + 0x377], al
mov byte [esi + 0x378], al
mov byte [esi + 0x379], al
mov byte [esi + 0x37a], al
mov byte [esi + 0x37b], al
mov byte [esi + 0x37c], al
mov byte [esi + 0x37d], al
mov byte [esi + 0x37e], al
mov byte [esi + 0x37f], al
mov byte [esi + 0x380], al
mov byte [esi + 0x381], al
mov byte [esi + 0x382], al
mov byte [esi + 0x383], al
mov byte [esi + 0x384], al
mov byte [esi + 0x385], al
mov byte [esi + 0x386], al
mov byte [esi + 0x387], al
mov byte [esi + 0x388], al
mov byte [esi + 0x389], al
mov byte [esi + 0x38a], al
mov byte [esi + 0x38b], al
mov byte [esi + 0x38c], al
mov byte [esi + 0x38d], al
mov byte [esi + 0x38e], al
mov byte [esi + 0x38f], al
mov al, 0x28
mov byte [esi + 0x390], al
mov cl, 0x2c
mov byte [esi + 0x391], cl
mov byte [esi + 0x392], cl
mov byte [esi + 0x393], al
mov byte [esi + 0x394], al
mov al, 0x14
mov byte [esi + 0x395], al
mov byte [esi + 0x396], al
mov cl, 0x18
mov byte [esi + 0x397], cl
mov byte [esi + 0x398], cl
mov dl, 0x1c
mov byte [esi + 0x399], dl
mov byte [esi + 0x39a], dl
mov byte [esi + 0x39b], cl
mov byte [esi + 0x39c], cl
mov byte [esi + 0x39d], al
mov byte [esi + 0x39e], al
mov ah, 8
mov byte [esi + 0x39f], ah
mov byte [esi + 0x3a0], ah
mov ch, 0xc
mov byte [esi + 0x3a1], ch
mov byte [esi + 0x3a2], ch
mov byte [esi + 0x3a3], ah
mov byte [esi + 0x3a4], ah
mov byte [esi + 0x3a5], al
mov byte [esi + 0x3a6], al
mov byte [esi + 0x3a7], cl
mov byte [esi + 0x3a8], cl
mov byte [esi + 0x3a9], dl
mov al, 0x57
mov byte [esi + 0x3aa], al
mov cl, 0x55
mov byte [esi + 0x3ab], cl
mov byte [esi + 0x3ac], al
mov dl, 0x59
mov byte [esi + 0x3ad], dl
mov ah, 0x5f
mov byte [esi + 0x3ae], ah
mov byte [esi + 0x3af], 0x5d
mov byte [esi + 0x3b0], ah
mov byte [esi + 0x3b1], dl
mov byte [esi + 0x3b2], al
mov byte [esi + 0x3b3], cl
mov byte [esi + 0x3b4], 0x46
mov byte [esi + 0x3b5], 0x3d
lea eax, [esi + 0x3b8]
mov dword [esi + 0x32c], eax
mov ecx, 0xa0993f70
lea eax, [esi + 0x3b6]
cmp ecx, 0xd36ab51a
je 0x100214ec
cmp ecx, 0xa0993f70
jne 0x100213d9
mov byte [eax], 0
inc eax
cmp eax, dword [esi + 0x32c]
mov ecx, 0xa0993f70
mov edx, 0xd36ab51a
cmove ecx, edx
jmp 0x100213d9
mov eax, dword [esi + 0x200]
mov ecx, dword [esi + 0x204]
shl eax, 2
shr ecx, 4
or ecx, eax
movsx eax, cl
lea ebx, [esi + 0x35c]
mov ecx, ebx
push eax
call fcn.100091f2
mov eax, dword [esi + 0x204]
mov ecx, dword [esi + 0x208]
shl eax, 4
shr ecx, 2
or ecx, eax
movsx eax, cl
mov ecx, ebx
push eax
call fcn.100091f2
mov eax, 0xc340a291
jmp 0x10020d19
cmp dword [esi + 0x1c8], 0
mov eax, 0x4daaefe3
mov ecx, 0xdc6a2b00
cmove eax, ecx
jmp 0x10020d19
movsd xmm0, qword [esi + 0x36c]
movsd qword [esi + 0x1b0], xmm0
movups xmm0, xmmword [esi + 0x35c]
movaps xmmword [esi + 0x1a0], xmm0
mov dword [esi + 0x36c], 0
mov dword [esi + 0x370], 0xf
mov byte [esi + 0x35c], 0
mov eax, dword [esi + 0x70]
lea ecx, [esi + 0x314]
call fcn.100087f0
mov eax, dword [esi + 0xc8]
lea ecx, [esi + 0x344]
call fcn.100087f0
mov eax, dword [esi + 0xc4]
lea ecx, [esi + 0x35c]
call fcn.100087f0
mov eax, dword [esi + 0xc0]
mov eax, dword [esi + 0xbc]
mov eax, 0xac79cc2f
jmp 0x10020d19
lea eax, [esi + 0x374]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x24]
mov al, byte [eax]
mov byte [esi + 0x33], al
mov eax, 0xe43fb2d7
cmp eax, 0xe43fb2d6
jg 0x10021545
cmp eax, 0x81694b05
je 0x1002156d
cmp eax, 0x96f62a83
je 0x100215ea
cmp eax, 0xc30a661e
jne 0x10021502
lea eax, [esi + 0x13c]
mov dword [esi + 0x32c], eax
mov eax, dword [esi + 0x32c]
mov dword [esi + 0x13c], 0
mov eax, 0x81694b05
jmp 0x10021502
cmp eax, 0x66aec847
je 0x10021588
cmp eax, 0x65b41fc2
je 0x100215c6
cmp eax, 0xe43fb2d7
jne 0x10021502
test byte [esi + 0x33], 1
mov eax, 0xc30a661e
mov ecx, 0x96f62a83
cmove eax, ecx
jmp 0x10021502
mov eax, dword [esi + 0x13c]
cmp eax, 0x40
mov eax, 0x65b41fc2
mov ecx, 0x66aec847
cmovb eax, ecx
jmp 0x10021502
mov eax, dword [esi + 0x13c]
mov cl, byte [esi + eax + 0x376]
mov eax, dword [esi + 0x13c]
mov dl, byte [esi + 0x375]
inc al
xor al, dl
xor al, cl
xor al, 0x40
mov ecx, dword [esi + 0x13c]
mov byte [esi + ecx + 0x376], al
inc dword [esi + 0x13c]
mov eax, 0x81694b05
jmp 0x10021502
mov eax, dword [esi + 0x32c]
mov byte [esi + 0x3b6], 0
mov byte [esi + 0x3b7], 0
mov eax, dword [esi + 0x24]
mov byte [eax], 0
mov eax, 0x96f62a83
jmp 0x10021502
xor eax, eax
mov dword [esi + 0x32c], eax
mov dword [esi + 0x33c], eax
mov dword [esi + 0x340], 0xf
mov byte [esi + 0x32c], 0
lea eax, [esi + 0x376]
push eax
call fcn.1009ee80
add esp, 4
mov ebx, edi
lea edi, [esi + 0x32c]
mov ecx, edi
push eax
lea eax, [esi + 0x376]
push eax
call fcn.10007b00
lea ecx, [esi + 0x344]
push edi
call fcn.1000105c
mov ecx, edi
mov edi, ebx
call fcn.100087f0
mov eax, 0xea37197e
jmp 0x10020d19
cmp eax, 0xac79cc2f
jne 0x10020d19
lea ecx, [esi + 0x188]
call fcn.100087f0
mov ecx, dword [esi + 0xd8]
call fcn.10007c1e
mov dword [esi + 0xdc], eax
mov ecx, dword [esi + 0x48]
call fcn.10007c1e
mov dword [esi + 0xe4], eax
mov eax, 0x3a37637b
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x68], ecx
mov dword [esi + 0x60], ecx
mov dword [esi + 0x64], ecx
cmp eax, 0x17ae4ec3
jg 0x100216d8
cmp eax, 0xa9375809
jle 0x10021721
cmp eax, 0xb4026c74
jle 0x10021785
cmp eax, 0xb4026c75
je 0x1002185c
cmp eax, 0xbd800b3e
je 0x10021870
cmp eax, 0xddd16690
jne 0x10021694
mov eax, 0x326ec90d
mov dword [esi + 0x5c], 0
jmp 0x10021694
cmp eax, 0x4a348ca1
jg 0x10021753
cmp eax, 0x326ec90c
jle 0x100217ab
cmp eax, 0x3a37637b
je 0x100222fc
cmp eax, 0x3c52bb01
jne 0x100223d5
lea ecx, [esi + 0x374]
call fcn.100087f0
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x38]
mov eax, 0x326ec90d
mov ecx, dword [esi + 0x68]
mov dword [esi + 0x5c], ecx
jmp 0x10021694
cmp eax, 0x96c9a054
jg 0x100217d9
cmp eax, 0x8b3b2e95
je 0x10022315
cmp eax, 0x922ab53c
jne 0x10021694
mov eax, 0x3c52bb01
mov dword [esi + 0x68], 0
jmp 0x10021694
cmp eax, 0x76a3652c
jg 0x10021815
cmp eax, 0x4a348ca2
je 0x10022324
cmp eax, 0x63c894b9
jne 0x10021694
mov eax, 0xa937580a
mov dword [esi + 0x64], 0
jmp 0x10021694
cmp eax, 0xa937580a
je 0x10022335
cmp eax, 0xac98ec41
jne 0x10021694
mov eax, 0x3c52bb01
mov ecx, dword [esi + 0x60]
mov dword [esi + 0x68], ecx
jmp 0x10021694
cmp eax, 0x17ae4ec4
je 0x1002234b
cmp eax, 0x1e4e6104
jne 0x10021694
mov eax, dword [esi + 0x24]
cmp eax, 0x11
mov eax, 0x17ae4ec4
mov ecx, 0x922ab53c
cmovge eax, ecx
jmp 0x10021694
cmp eax, 0x96c9a055
je 0x1002235c
cmp eax, 0xa7e33edc
jne 0x10021694
mov eax, dword [esi + 0x74]
mov dword [esi + 0x150], eax
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x150]
cmp ecx, eax
mov eax, 0x8b3b2e95
mov ecx, 0x76a3652d
cmovl eax, ecx
jmp 0x10021694
cmp eax, 0x76a3652d
je 0x10022375
cmp eax, 0x7e0db8c7
jne 0x10021694
mov eax, dword [esi + 0x20]
sub eax, dword [esi + 0x24]
lea edi, [esi + 0x374]
mov ecx, edi
push 0
push eax
call fcn.1003f25a
lea ecx, [esi + 0x158]
push edi
call section..text
mov eax, 0xac98ec41
mov cl, 1
mov dword [esi + 0x60], ecx
jmp 0x10021694
mov eax, dword [esi + 0x150]
inc eax
mov dword [esi + 0x74], eax
mov eax, 0xa7e33edc
jmp 0x10021694
lea eax, [esi + 0x210]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x38]
xor eax, eax
mov edi, 0xe6bb9322
cmp edi, 0xa78ce54
jg 0x100218c9
cmp edi, 0xe6bb9321
jg 0x10021948
cmp edi, 0x8ad99734
je 0x100219de
cmp edi, 0x910a3c41
jne 0x10021883
mov dword [esi + 0x35c], ebx
mov edi, dword [esi + 0x35c]
cmp edi, 0x2c
mov edi, 0x530001c9
mov ecx, 0xa78ce55
cmovb edi, ecx
jmp 0x10021883
cmp edi, 0x530001c8
jg 0x1002196f
cmp edi, 0xa78ce55
je 0x10021a26
cmp edi, 0x1c387444
jne 0x10021883
mov edi, dword [esi + 0x35c]
mov ebx, dword [esi + 0x35c]
mov cl, byte [esi + ebx*4 + 0x200]
xor cl, dh
mov byte [esi + edi*4 + 0x210], cl
mov cl, byte [esi + ebx*4 + 0x201]
xor cl, dl
mov byte [esi + edi*4 + 0x211], cl
mov cl, byte [esi + ebx*4 + 0x202]
xor cl, byte [esi + 8]
mov byte [esi + edi*4 + 0x212], cl
mov cl, byte [esi + ebx*4 + 0x203]
xor cl, byte [esi + 0x10]
mov byte [esi + edi*4 + 0x213], cl
mov ebx, dword [esi + 0x35c]
inc ebx
mov edi, 0x910a3c41
jmp 0x10021883
cmp edi, 0xe6bb9322
je 0x10021a9a
cmp edi, 0xe7ef7c49
jne 0x10021883
mov ebx, 4
mov edi, 0x910a3c41
jmp 0x10021883
cmp edi, 0x7e13c263
jne 0x10021abb
movzx ecx, byte [esi + 0x188]
mov dword [esi + 0x34], ecx
movzx ecx, byte [esi + 0x314]
mov edi, ebx
mov ebx, eax
mov al, byte [ecx + 0x100b508b]
movzx ecx, byte [esi + 0x32c]
mov cl, byte [ecx + 0x100b508b]
mov byte [esi + 8], cl
movzx ecx, byte [esi + 0x200]
mov cl, byte [ecx + 0x100b508b]
mov byte [esi + 0x10], cl
mov edx, dword [esi + 0x35c]
shr edx, 2
mov dh, byte [edx + 0x100b518b]
mov dl, al
mov eax, ebx
mov ebx, edi
mov ecx, dword [esi + 0x34]
xor dh, byte [ecx + 0x100b508b]
mov edi, 0x1c387444
jmp 0x10021883
mov eax, dword [esi + 0x344]
mov edi, dword [esi + 0xe4]
mov cl, byte [edi + eax*4]
mov byte [esi + eax*4 + 0x210], cl
mov cl, byte [edi + eax*4 + 1]
mov byte [esi + eax*4 + 0x211], cl
mov cl, byte [edi + eax*4 + 2]
mov byte [esi + eax*4 + 0x212], cl
mov cl, byte [edi + eax*4 + 3]
mov byte [esi + eax*4 + 0x213], cl
mov eax, dword [esi + 0x344]
inc eax
mov edi, 0xe6bb9322
jmp 0x10021883
mov ecx, dword [esi + 0x35c]
mov dl, byte [esi + ecx*4 + 0x20c]
mov dh, byte [esi + ecx*4 + 0x20d]
mov byte [esi + 0x200], dl
mov byte [esi + 0x188], dh
mov dl, byte [esi + ecx*4 + 0x20e]
mov byte [esi + 0x314], dl
mov cl, byte [esi + ecx*4 + 0x20f]
mov byte [esi + 0x32c], cl
test dword [esi + 0x35c], 3
mov edi, 0x1c387444
mov ecx, 0x7e13c263
cmove edi, ecx
mov dh, byte [esi + 0x200]
mov dl, byte [esi + 0x188]
mov cl, byte [esi + 0x314]
mov byte [esi + 8], cl
mov cl, byte [esi + 0x32c]
mov byte [esi + 0x10], cl
jmp 0x10021883
mov dword [esi + 0x344], eax
mov edi, dword [esi + 0x344]
cmp edi, 4
mov edi, 0xe7ef7c49
mov ecx, 0x8ad99734
cmovb edi, ecx
jmp 0x10021883
cmp edi, 0x530001c9
jne 0x10021883
mov eax, dword [esi + 0xdc]
movups xmm0, xmmword [eax]
lea eax, [esi + 0x214]
movups xmmword [eax + 0xac], xmm0
lea ebx, [esi + 0x374]
mov dword [esi + 0x28], ebx
mov eax, dword [esi + 0x28]
xor edi, edi
mov dword [esi + 0x374], edi
mov dword [esi + 0x384], edi
mov dword [esi + 0x388], edi
mov ecx, ebx
lea eax, [esi + 0x1a0]
push eax
call fcn.10007eb6
mov ecx, ebx
call fcn.10007c1e
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x384]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
mov dword [esi + 0xe0], ecx
lea ecx, [esi + 0x35c]
mov dword [esi + 0x200], ecx
mov ecx, dword [esi + 0x200]
mov ecx, 0x2eb7f937
cmp ecx, 0x8674790e
je 0x1002239f
cmp ecx, 0xd46d22c
je 0x10021b84
cmp ecx, 0x2eb7f937
jne 0x10021b41
mov dword [esi + 0x188], edi
mov dword [esi + 0x314], eax
mov ecx, dword [esi + 0x188]
cmp ecx, dword [esi + 0xe0]
mov ecx, 0x8674790e
mov edx, 0xd46d22c
cmovb ecx, edx
jmp 0x10021b41
mov eax, dword [esi + 0x200]
mov ecx, dword [esi + 0x314]
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
mov eax, dword [esi + 0x314]
mov dword [esi + 8], eax
xor eax, eax
mov edi, 0x10ec8d7b
cmp edi, 0x10ec8d7a
jg 0x10021bcf
cmp edi, 0xa5776661
je 0x10021c77
cmp edi, 0xbe626f02
je 0x10021c0c
cmp edi, 0xd69517c4
jne 0x10021ba6
jmp 0x10021c81
cmp edi, 0x72bfc1e0
je 0x10021c15
cmp edi, 0x21fd5294
je 0x10021c4f
cmp edi, 0x10ec8d7b
jne 0x10021ba6
mov byte [esi + 0xc], al
movzx edi, byte [esi + 0xc]
mov dword [esi + 0x32c], edi
mov edi, dword [esi + 0x32c]
cmp edi, 4
mov edi, 0xd69517c4
mov ecx, 0xbe626f02
cmovl edi, ecx
jmp 0x10021ba6
mov edi, 0x21fd5294
xor edx, edx
jmp 0x10021ba6
mov edx, dword [esi + 0x32c]
shl edx, 2
add edx, dword [esi + 0x344]
mov dl, byte [esi + edx + 0x2b0]
mov edi, dword [esi + 0x32c]
mov ebx, dword [esi + 0x344]
mov ecx, dword [esi + 8]
lea edi, [ecx + edi*4]
xor byte [ebx + edi], dl
mov dl, byte [esi + 4]
inc dl
mov edi, 0x21fd5294
jmp 0x10021ba6
mov byte [esi + 4], dl
movzx edi, byte [esi + 4]
mov dword [esi + 0x344], edi
mov edi, dword [esi + 0x344]
cmp edi, 4
mov edi, 0xa5776661
mov ecx, 0x72bfc1e0
cmovl edi, ecx
jmp 0x10021ba6
mov al, byte [esi + 0xc]
inc al
jmp 0x10021ba1
mov al, 9
mov edx, 0x6a7207c3
cmp edx, 0xed874ec0
je 0x10021cba
cmp edx, 0x722d971a
je 0x1002205a
cmp edx, 0x6a7207c3
jne 0x10021c88
mov byte [esi + 0x1c], al
cmp byte [esi + 0x1c], 0
mov edx, 0xed874ec0
mov ecx, 0x722d971a
cmove edx, ecx
jmp 0x10021c88
mov ecx, dword [esi + 8]
mov al, byte [ecx + 0xd]
mov dl, byte [ecx + 9]
mov byte [ecx + 0xd], dl
mov dl, byte [ecx + 5]
mov byte [ecx + 9], dl
mov dl, byte [ecx + 1]
mov ah, byte [ecx + 2]
mov byte [ecx + 5], dl
mov byte [ecx + 1], al
mov al, byte [ecx + 0xa]
mov byte [ecx + 2], al
mov byte [ecx + 0xa], ah
mov al, byte [ecx + 6]
mov dl, byte [ecx + 0xe]
mov byte [ecx + 6], dl
mov byte [ecx + 0xe], al
mov al, byte [ecx + 3]
mov dl, byte [ecx + 7]
mov byte [ecx + 3], dl
mov dl, byte [ecx + 0xb]
mov byte [ecx + 7], dl
mov dl, byte [ecx + 0xf]
mov byte [ecx + 0xb], dl
mov byte [ecx + 0xf], al
xor eax, eax
mov edi, 0x159f07d3
cmp edi, 0x159f07d2
jg 0x10021d59
cmp edi, 0x84e2f68b
je 0x10021ddd
cmp edi, 0xbb315cc1
je 0x10021dd3
cmp edi, 0xff411f72
jne 0x10021d0c
mov byte [esi + 4], dl
movzx edi, byte [esi + 4]
mov dword [esi + 0x344], edi
mov edi, dword [esi + 0x344]
cmp edi, 4
mov edi, 0xbb315cc1
mov ecx, 0x7bd5edac
cmovl edi, ecx
jmp 0x10021d0c
cmp edi, 0x7bd5edac
je 0x10021d99
cmp edi, 0x656ba118
je 0x10021dc7
cmp edi, 0x159f07d3
jne 0x10021d0c
mov byte [esi + 0xc], al
movzx edi, byte [esi + 0xc]
mov dword [esi + 0x32c], edi
mov edi, dword [esi + 0x32c]
cmp edi, 4
mov edi, 0x84e2f68b
mov ecx, 0x656ba118
cmovl edi, ecx
jmp 0x10021d0c
mov edx, dword [esi + 0x344]
mov edi, dword [esi + 0x32c]
mov ecx, dword [esi + 8]
lea edx, [ecx + edx*4]
movzx ebx, byte [edi + edx]
mov bl, byte [ebx + 0x100b5196]
mov byte [edi + edx], bl
mov dl, byte [esi + 4]
inc dl
mov edi, 0xff411f72
jmp 0x10021d0c
mov edi, 0xff411f72
xor edx, edx
jmp 0x10021d0c
mov al, byte [esi + 0xc]
inc al
jmp 0x10021d07
movzx eax, byte [esi + 0x1c]
shl eax, 4
mov dword [esi + 0x10], eax
xor edx, edx
mov edi, 0x10ec8d7b
cmp edi, 0x10ec8d7a
jg 0x10021e17
cmp edi, 0xa5776661
je 0x10021ec2
cmp edi, 0xbe626f02
je 0x10021e54
cmp edi, 0xd69517c4
jne 0x10021dee
jmp 0x10021ecc
cmp edi, 0x72bfc1e0
je 0x10021e5d
cmp edi, 0x21fd5294
je 0x10021e9a
cmp edi, 0x10ec8d7b
jne 0x10021dee
mov byte [esi + 0xc], dl
movzx edi, byte [esi + 0xc]
mov dword [esi + 0x32c], edi
mov edi, dword [esi + 0x32c]
cmp edi, 4
mov edi, 0xd69517c4
mov eax, 0xbe626f02
cmovl edi, eax
jmp 0x10021dee
mov edi, 0x21fd5294
xor ebx, ebx
jmp 0x10021dee
mov edi, dword [esi + 0x32c]
mov eax, dword [esi + 0x10]
lea edi, [eax + edi*4]
add edi, dword [esi + 0x344]
mov bl, byte [esi + edi + 0x210]
mov edi, dword [esi + 0x32c]
mov eax, dword [esi + 0x344]
mov ecx, dword [esi + 8]
lea edi, [ecx + edi*4]
xor byte [eax + edi], bl
mov bl, byte [esi + 4]
inc bl
mov edi, 0x21fd5294
jmp 0x10021dee
mov byte [esi + 4], bl
movzx edi, byte [esi + 4]
mov dword [esi + 0x344], edi
mov edi, dword [esi + 0x344]
cmp edi, 4
mov edi, 0xa5776661
mov eax, 0x72bfc1e0
cmovl edi, eax
jmp 0x10021dee
mov dl, byte [esi + 0xc]
inc dl
jmp 0x10021de9
xor eax, eax
mov edx, 0xe6c62235
cmp edx, 0x398cf114
je 0x10021f0d
cmp edx, 0x197b5386
je 0x10022050
cmp edx, 0xe6c62235
jne 0x10021ed3
mov dword [esi + 0x344], eax
mov edx, dword [esi + 0x344]
cmp edx, 4
mov edx, 0x197b5386
mov ecx, 0x398cf114
cmovl edx, ecx
jmp 0x10021ed3
mov eax, dword [esi + 0x344]
mov ecx, dword [esi + 8]
mov dh, byte [ecx + eax*4]
mov dl, byte [ecx + eax*4 + 1]
mov cl, byte [ecx + eax*4 + 2]
mov dword [esi + 0x34], eax
mov byte [esi + 3], dl
mov eax, ecx
mov bh, cl
xor bh, dl
mov ah, dh
xor cl, dh
mov byte [esi + 0x2e], cl
mov bl, dl
xor dl, dh
mov byte [esi + 0x17], dl
add ah, dh
sar dh, 7
and dh, 0x1b
xor dh, ah
mov cl, dh
add cl, dh
mov byte [esi + 0x10], cl
sar ah, 7
and ah, 0x1b
xor ah, cl
mov cl, byte [esi + 3]
add cl, cl
mov dl, bl
sar dl, 7
and dl, 0x1b
xor dl, cl
mov bl, cl
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0x34]
mov cl, byte [edi + ecx*4 + 3]
mov byte [esi + 3], cl
xor bh, cl
xor bh, dh
xor dh, al
mov ecx, eax
add al, al
sar cl, 7
and cl, 0x1b
xor cl, al
mov byte [esi + 0x2f], dl
xor bh, dl
xor bh, ah
mov ch, byte [esi + 0x2e]
xor ch, byte [esi + 3]
xor ch, dl
xor ch, cl
mov dl, cl
xor cl, byte [esi + 3]
xor cl, ah
add ah, ah
sar byte [esi + 0x10], 7
and byte [esi + 0x10], 0x1b
xor byte [esi + 0x10], ah
mov ah, byte [esi + 0x2f]
add ah, ah
sar bl, 7
and bl, 0x1b
xor bl, ah
xor ch, bl
xor dh, bl
add bl, bl
sar ah, 7
and ah, 0x1b
xor ah, bl
add dl, dl
sar al, 7
and al, 0x1b
xor al, dl
xor bh, al
xor cl, al
add al, al
sar dl, 7
and dl, 0x1b
xor dl, al
xor dl, ah
mov ah, byte [esi + 3]
mov al, ah
add ah, ah
sar al, 7
and al, 0x1b
xor al, ah
xor byte [esi + 0x17], al
add al, al
sar ah, 7
and ah, 0x1b
xor ah, al
xor ch, ah
xor dh, ah
add ah, ah
sar al, 7
and al, 0x1b
xor al, ah
xor bh, byte [esi + 0x10]
xor bh, dl
xor bh, al
mov byte [esi + 3], bh
mov edi, dword [esi + 0x34]
mov ebx, dword [esi + 8]
mov ah, byte [esi + 3]
mov byte [ebx + edi*4], ah
mov ah, ch
xor ah, byte [esi + 0x10]
xor ah, dl
xor ah, al
mov ebx, dword [esi + 0x34]
mov edi, dword [esi + 8]
mov byte [edi + ebx*4 + 1], ah
mov ah, byte [esi + 0x17]
xor ah, byte [esi + 0x10]
xor ah, dl
xor ah, al
xor cl, ah
mov byte [edi + ebx*4 + 2], cl
xor dh, ah
mov byte [edi + ebx*4 + 3], dh
mov eax, dword [esi + 0x344]
inc eax
jmp 0x10021ece
mov al, byte [esi + 0x1c]
dec al
jmp 0x10021c83
mov edi, dword [esi + 8]
mov al, byte [edi + 0xd]
mov cl, byte [edi + 9]
mov byte [edi + 0xd], cl
mov cl, byte [edi + 5]
mov byte [edi + 9], cl
mov cl, byte [edi + 1]
mov dl, byte [edi + 2]
mov byte [edi + 5], cl
mov byte [edi + 1], al
mov al, byte [edi + 0xa]
mov byte [edi + 2], al
mov byte [edi + 0xa], dl
mov al, byte [edi + 6]
mov cl, byte [edi + 0xe]
mov byte [edi + 6], cl
mov byte [edi + 0xe], al
mov al, byte [edi + 3]
mov cl, byte [edi + 7]
mov byte [edi + 3], cl
mov cl, byte [edi + 0xb]
mov byte [edi + 7], cl
mov cl, byte [edi + 0xf]
mov byte [edi + 0xb], cl
mov byte [edi + 0xf], al
xor eax, eax
mov edi, 0x159f07d3
cmp edi, 0x159f07d2
jg 0x100220f9
cmp edi, 0x84e2f68b
je 0x1002217d
cmp edi, 0xbb315cc1
je 0x10022173
cmp edi, 0xff411f72
jne 0x100220ac
mov byte [esi + 4], dl
movzx ecx, byte [esi + 4]
mov dword [esi + 0x344], ecx
mov ecx, dword [esi + 0x344]
cmp ecx, 4
mov edi, 0xbb315cc1
mov ecx, 0x7bd5edac
cmovl edi, ecx
jmp 0x100220ac
cmp edi, 0x7bd5edac
je 0x10022139
cmp edi, 0x656ba118
je 0x10022167
cmp edi, 0x159f07d3
jne 0x100220ac
mov byte [esi + 0xc], al
movzx ecx, byte [esi + 0xc]
mov dword [esi + 0x32c], ecx
mov ecx, dword [esi + 0x32c]
cmp ecx, 4
mov edi, 0x84e2f68b
mov ecx, 0x656ba118
cmovl edi, ecx
jmp 0x100220ac
mov ecx, dword [esi + 0x344]
mov edx, dword [esi + 0x32c]
mov edi, dword [esi + 8]
lea ecx, [edi + ecx*4]
movzx edi, byte [edx + ecx]
mov bl, byte [edi + 0x100b5196]
mov byte [edx + ecx], bl
mov dl, byte [esi + 4]
inc dl
mov edi, 0xff411f72
jmp 0x100220ac
mov edi, 0xff411f72
xor edx, edx
jmp 0x100220ac
mov al, byte [esi + 0xc]
inc al
jmp 0x100220a7
xor eax, eax
mov edi, 0x10ec8d7b
cmp edi, 0x10ec8d7a
jg 0x100221ad
cmp edi, 0xa5776661
je 0x10022255
cmp edi, 0xbe626f02
je 0x100221ea
cmp edi, 0xd69517c4
jne 0x10022184
jmp 0x1002225f
cmp edi, 0x72bfc1e0
je 0x100221f3
cmp edi, 0x21fd5294
je 0x1002222d
cmp edi, 0x10ec8d7b
jne 0x10022184
mov byte [esi + 0xc], al
movzx ecx, byte [esi + 0xc]
mov dword [esi + 0x32c], ecx
mov ecx, dword [esi + 0x32c]
cmp ecx, 4
mov edi, 0xd69517c4
mov ecx, 0xbe626f02
cmovl edi, ecx
jmp 0x10022184
mov edi, 0x21fd5294
xor edx, edx
jmp 0x10022184
mov ecx, dword [esi + 0x32c]
shl ecx, 2
add ecx, dword [esi + 0x344]
mov cl, byte [esi + ecx + 0x210]
mov edx, dword [esi + 0x32c]
mov edi, dword [esi + 0x344]
mov ebx, dword [esi + 8]
lea edx, [ebx + edx*4]
xor byte [edi + edx], cl
mov dl, byte [esi + 4]
inc dl
mov edi, 0x21fd5294
jmp 0x10022184
mov byte [esi + 4], dl
movzx ecx, byte [esi + 4]
mov dword [esi + 0x344], ecx
mov ecx, dword [esi + 0x344]
cmp ecx, 4
mov edi, 0xa5776661
mov ecx, 0x72bfc1e0
cmovl edi, ecx
jmp 0x10022184
mov al, byte [esi + 0xc]
inc al
jmp 0x1002217f
mov eax, dword [esi + 0x314]
xor ecx, ecx
mov edx, 0x4f675592
cmp edx, 0xa033e2a6
je 0x100222af
cmp edx, 0x2cb96f5
je 0x100222cf
cmp edx, 0x4f675592
jne 0x1002226c
mov byte [esi + 0x32c], cl
movzx edx, byte [esi + 0x32c]
mov dword [esi + 0x344], edx
mov edx, dword [esi + 0x344]
cmp edx, 0x10
mov edx, 0x2cb96f5
mov edi, 0xa033e2a6
cmovl edx, edi
jmp 0x1002226c
mov ecx, dword [esi + 0x344]
mov cl, byte [esi + ecx + 0x2c0]
mov edx, dword [esi + 0x344]
xor byte [eax + edx], cl
mov cl, byte [esi + 0x32c]
inc cl
jmp 0x10022267
mov eax, dword [esi + 0x200]
movups xmm0, xmmword [eax]
lea eax, [esi + 0x214]
movups xmmword [eax + 0xac], xmm0
mov eax, dword [esi + 0x314]
add eax, 0x10
mov edi, dword [esi + 0x188]
add edi, 0x10
jmp 0x10021b3c
cmp dword [esi + 0x1b0], 0
mov eax, 0x96c9a055
mov ecx, 0xddd16690
cmove eax, ecx
jmp 0x10021694
mov eax, 0xa937580a
mov cl, 1
mov dword [esi + 0x64], ecx
jmp 0x10021694
mov eax, 0xac98ec41
mov dword [esi + 0x60], 0
jmp 0x10021694
test byte [esi + 0x64], 1
mov eax, 0x7e0db8c7
mov ecx, 0x4a348ca2
cmove eax, ecx
jmp 0x10021694
mov eax, 0xa7e33edc
mov dword [esi + 0x74], 0
jmp 0x10021694
test byte [esi + 0x1b0], 0xf
mov eax, 0xddd16690
mov ecx, 0xbd800b3e
cmove eax, ecx
jmp 0x10021694
mov eax, dword [esi + 0x13c]
sub eax, dword [esi + 0x150]
mov ecx, dword [esi + 0x18]
movzx eax, byte [ecx + eax]
mov ecx, dword [esi + 0x24]
cmp ecx, eax
mov eax, 0x63c894b9
mov ecx, 0xb4026c75
cmove eax, ecx
jmp 0x10021694
mov eax, dword [esi + 0x200]
mov eax, dword [esi + 0x20]
dec eax
mov dword [esi + 0x13c], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x13c]
movzx eax, byte [eax + ecx]
mov dword [esi + 0x24], eax
cmp dword [esi + 0x24], 0
mov eax, 0x1e4e6104
mov ecx, 0x922ab53c
cmovle eax, ecx
jmp 0x10021694
cmp eax, 0x326ec90d
jne 0x10021694
test byte [esi + 0x5c], 1
mov eax, 0xba4dd9f9
mov ecx, 0x987feb03
cmovne eax, ecx
jmp 0x10020182
cmp eax, 0xb6d9ac00
jne 0x10020182
mov eax, dword [esi + 0x3c]
cmp byte [eax], 0
mov eax, dword [esi + 0x134]
mov edi, 0x2f3ae691
mov ecx, 0x1ae1e55b
cmovne edi, ecx
lea ecx, [esi + 0x134]
push dword [eax + 4]
push ecx
call fcn.1001040a
push 0x40
push dword [esi + 0x134]
call fcn.1000791c
add esp, 8
mov eax, dword [esi + 0x94]
mov esp, dword [esi + 0xd4]
jmp 0x1001f876
cmp edi, 0xb56d45ea
jne 0x1001f876
lea ecx, [esi + 0x100]
call fcn.1003eb18
mov eax, dword [esi + 0x88]
mov eax, dword [esi + 0x84]
push dword [esi + 0x110]
call fcn.10088ae0
add esp, 4
mov eax, dword [esi + 0x80]
mov eax, dword [esi + 0x7c]
lea ecx, [esi + 0x170]
call fcn.100087f0
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x3b8]
xor ecx, ebp
call fcn.100879aa
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c