Function at 0x422e12
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21e4
call fcn.00407e90
mov dword [esp + 0xde4], 0x288556f9
mov dword [esp + 0xde8], 0x2cec2aec
mov dword [esp + 0xdec], 0x20fc2ef4
mov dword [esp + 0xdf0], 0x24f122f5
mov dword [esp + 0xdf4], 0x388b268c
mov dword [esp + 0xdf8], 0x3ce83aec
mov dword [esp + 0xdfc], 0x30ed3ef8
mov word [esp + 0xe00], 0x3231
lea eax, [esp + 0xde4]
mov ecx, 0x42
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [eax]
mov edi, ecx
or edi, esi
and esi, ecx
lea edx, [esi + esi]
not edx
add edx, esi
and edx, edi
mov bl, 0x17
sub bl, dl
mov byte [eax], bl
inc eax
dec ecx
cmp ecx, 0x24
jne case.default.0x422db4
lea eax, [esp + 0x28]
lea ecx, [esp + 0xde4]
push 0
push 0
push 0x20019
push eax
mov dword [esp + 0x10], ecx
push ecx
call fcn.0043c7d0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x443008]
lea eax, [esp + 0x58]
lea ecx, [esp + 0x5c]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x48]
call fcn.0043cb90
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443010]
xor eax, eax
jmp 0x42448a
mov dword [esp + 0x38], 0
mov eax, dword [case.0x422db4.7]
xor edi, edi
jmp case.0x422db4.5
push ebx
call fcn.00407fc0
add esp, 4
inc edi
mov eax, dword [case.0x422db4.7]
jmp eax
xor eax, eax
cmp edi, dword [esp + 0x5c]
setb al
mov ecx, dword [esp]
jmp dword [eax*4 + 0x443028]
mov esi, dword [esp + 0x58]
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x422e37
mov eax, 0xffffffff
push eax
call fcn.00407fb0
add esp, 4
mov ebx, eax
mov dword [esp + 0x54], esi
lea eax, [esp + 0x54]
push eax
push ebx
push edi
push dword [esp + 0x34]
call fcn.0043c8f0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443038]
jmp dword [0x443088]
lea eax, [esp + 0x40]
push dword [esp + 0x28]
push 0
push 0x20019
push eax
push ebx
call fcn.0043c7d0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443040]
jmp dword [0x443088]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x76], 0x83eb81cd
mov dword [esp + 0x7a], 0x87f485e7
mov dword [esp + 0x7e], 0x8bf989e7
mov dword [esp + 0x82], 0x8fe88de3
mov dword [esp + 0x86], 0x93ce91e4
mov dword [esp + 0x8a], 0x97ff95c3
mov dword [esp + 0x8e], 0x9bfe99f6
mov dword [esp + 0x92], 0x9fe99df3
mov dword [esp + 0x96], 0xa382a1d3
mov dword [esp + 0x9a], 0xa7c3a5e9
mov dword [esp + 0x9e], 0xabd9a9db
mov dword [esp + 0xa2], 0xafc9adcd
mov dword [esp + 0xa6], 0xb3dcb1d9
mov dword [esp + 0xaa], 0xb796b5d3
mov dword [esp + 0xae], 0xbbcfb9eb
mov dword [esp + 0xb2], 0xbfcdbdde
mov dword [esp + 0xb6], 0xc3b1c1b9
mov dword [esp + 0xba], 0xc7a3c5b0
mov dword [esp + 0xbe], 0xcb96c9a5
mov dword [esp + 0xc2], 0xcfbccd9c
mov dword [esp + 0xc6], 0xd3b4d1bf
mov dword [esp + 0xca], 0xd7bad5bd
mov dword [esp + 0xce], 0xdba9d9bd
mov dword [esp + 0xd2], 0xdfe7dd80
mov dword [esp + 0xd6], 0xe3d5e1d3
mov dword [esp + 0xda], 0xe7a5e5d1
mov dword [esp + 0xde], 0xebace9ae
mov dword [esp + 0xe2], 0xefdaeddc
mov dword [esp + 0xe6], 0xf3c1f1c1
mov dword [esp + 0xea], 0xf7c7f5c5
mov dword [esp + 0xee], 0xfb9ef9c9
mov dword [esp + 0xf2], 0xffbcfdcf
mov dword [esp + 0xf6], 0x33a0138
mov dword [esp + 0xfa], 0x7360545
mov dword [esp + 0xfe], 0xb3b0938
mov dword [esp + 0x102], 0xf3a0d3c
mov dword [esp + 0x106], 0x13201152
mov dword [esp + 0x10a], 0x17201555
mov dword [esp + 0x10e], 0x1b2d192e
mov dword [esp + 0x112], 0x1f421d2a
mov word [esp + 0x116], 0x2120
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x76]
xor cl, al
add cl, 0x80
mov byte [esp + eax + 0x76], cl
inc eax
cmp eax, 0xa2
jne 0x423060
lea edi, [esp + 0x918]
lea eax, [esp + 0x76]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x116]
lea edi, [esp + 0x9b8]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x76], 0x82188032
mov dword [esp + 0x7a], 0x86178420
mov dword [esp + 0x7e], 0xfa6af818
mov dword [esp + 0x82], 0xfe5bfc64
mov dword [esp + 0x86], 0xf25df06b
mov dword [esp + 0x8a], 0xf66cf444
mov dword [esp + 0x8e], 0xea4de869
mov dword [esp + 0x92], 0xee7aec74
mov dword [esp + 0x96], 0xe281e07c
mov dword [esp + 0x9a], 0xe651e45d
mov dword [esp + 0x9e], 0xda9ad84b
mov dword [esp + 0xa2], 0xde4fdc4e
mov dword [esp + 0xa6], 0xd274d04d
mov dword [esp + 0xaa], 0xd641d44d
mov dword [esp + 0xae], 0xca6cc861
mov dword [esp + 0xb2], 0xce5ecc59
mov dword [esp + 0xb6], 0xc25ec056
mov dword [esp + 0xba], 0xc669c45d
mov dword [esp + 0xbe], 0x3aa03870
mov dword [esp + 0xc2], 0x3e993ca5
mov dword [esp + 0xc6], 0x32a630a0
mov dword [esp + 0xca], 0x365534a0
mov dword [esp + 0xce], 0x2a8c288a
mov dword [esp + 0xd2], 0x2ebe2cb8
mov dword [esp + 0xd6], 0x2286208e
mov dword [esp + 0xda], 0x26bb24ba
mov dword [esp + 0xde], 0x1a791880
mov dword [esp + 0xe2], 0x1e881ca8
mov dword [esp + 0xe6], 0x128210bd
mov dword [esp + 0xea], 0x1686149a
mov dword [esp + 0xee], 0xaac0883
mov dword [esp + 0xf2], 0xea10c96
mov dword [esp + 0xf6], 0x29300bf
mov dword [esp + 0xfa], 0x6a3049c
mov dword [esp + 0xfe], 0x7ae5789e
mov dword [esp + 0x102], 0x7eee7cde
mov dword [esp + 0x106], 0x72ce70d3
mov dword [esp + 0x10a], 0x76e174e6
mov dword [esp + 0x10e], 0x6af668eb
mov dword [esp + 0x112], 0x6ef66cf4
mov dword [esp + 0x116], 0x622860c3
mov dword [esp + 0x11a], 0x66326430
mov dword [esp + 0x11e], 0x5a1a5832
mov dword [esp + 0x122], 0x5e1b5c1d
mov dword [esp + 0x126], 0x5205500f
mov dword [esp + 0x12a], 0x56065402
mov dword [esp + 0x12e], 0x4a184806
mov dword [esp + 0x132], 0x4ee94c1a
mov dword [esp + 0x136], 0x4203401c
mov dword [esp + 0x13a], 0x460d440b
mov dword [esp + 0x13e], 0xbae9b806
mov dword [esp + 0x142], 0xbeecbceb
mov dword [esp + 0x146], 0xb2e5b0ef
mov dword [esp + 0x14a], 0xb6e7b4f1
mov dword [esp + 0x14e], 0xaaffa8f6
mov dword [esp + 0x152], 0xaefaacfd
mov dword [esp + 0x156], 0xa20da0f9
mov word [esp + 0x15a], 0xa4a3
mov eax, 0xe58c0937
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x1a73f73f]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x48
mov byte [esp + eax + 0x1a73f73f], cl
inc eax
cmp eax, 0xe58c0a1d
jne 0x423320
lea edi, [esp + 0x9ba]
lea eax, [esp + 0x76]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x15a]
mov ecx, 1
lea edi, [esp + 0xa9e]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x76], 0x861c847e
mov dword [esp + 0x7a], 0xba2bb864
mov dword [esp + 0x7e], 0xbe2ebc24
mov dword [esp + 0x82], 0xb257b020
mov dword [esp + 0x86], 0xb659b427
mov dword [esp + 0x8a], 0xaa4fa848
mov dword [esp + 0x8e], 0xae34ac4d
mov dword [esp + 0x92], 0xa244a04c
mov dword [esp + 0x96], 0xa674a44f
mov dword [esp + 0x9a], 0x5a875874
mov dword [esp + 0x9e], 0x5eb15c8b
mov dword [esp + 0xa2], 0x52c450a0
mov dword [esp + 0xa6], 0x56c954c7
mov dword [esp + 0xaa], 0x4ad648c8
mov dword [esp + 0xae], 0x4ea14cd0
mov dword [esp + 0xb2], 0x42d340bf
mov dword [esp + 0xb6], 0x46a344dc
mov dword [esp + 0xba], 0x7ae578de
mov dword [esp + 0xbe], 0x7eee7c9e
mov dword [esp + 0xc2], 0x728e7093
mov dword [esp + 0xc6], 0x76e174e6
mov dword [esp + 0xca], 0x6af668eb
mov dword [esp + 0xce], 0x6ef66cf4
mov dword [esp + 0xd2], 0x62a86083
mov dword [esp + 0xd6], 0x66b264b0
mov dword [esp + 0xda], 0x1ada18b2
mov dword [esp + 0xde], 0x1edb1cdd
mov dword [esp + 0xe2], 0x12c510cf
mov dword [esp + 0xe6], 0x16c614c2
mov dword [esp + 0xea], 0xad808c6
mov dword [esp + 0xee], 0xee90cda
mov dword [esp + 0xf2], 0x2c300dc
mov dword [esp + 0xf6], 0x6cd04cb
mov dword [esp + 0xfa], 0x3ae938c6
mov dword [esp + 0xfe], 0x3eec3ceb
mov dword [esp + 0x102], 0x32e530ef
mov dword [esp + 0x106], 0x36e734f1
mov dword [esp + 0x10a], 0x2aff28f6
mov dword [esp + 0x10e], 0x2efa2cfd
mov dword [esp + 0x112], 0x22cd20f9
mov word [esp + 0x116], 0x2423
xor eax, eax
nop
nop
mov ecx, eax
add cl, 0x5b
xor cl, byte [esp + eax + 0x76]
add cl, 0x28
mov byte [esp + eax + 0x76], cl
inc eax
cmp eax, 0xa2
jne 0x423530
lea edi, [esp + 0x876]
lea eax, [esp + 0x76]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x116]
lea edi, [esp + 0x916]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x76], 0xd248d062
mov dword [esp + 0x7a], 0xd647d470
mov dword [esp + 0x7e], 0xca5ac848
mov dword [esp + 0x82], 0xce6bcc54
mov dword [esp + 0x86], 0xc26dc05b
mov dword [esp + 0x8a], 0xc663c47c
mov dword [esp + 0x8e], 0x3aa03861
mov dword [esp + 0x92], 0x3e983c98
mov dword [esp + 0x96], 0x32603093
mov dword [esp + 0x9a], 0x366b3467
mov dword [esp + 0x9e], 0x2a852867
mov dword [esp + 0xa2], 0x2eb82c94
mov dword [esp + 0xa6], 0x22bd20bb
mov dword [esp + 0xaa], 0x26ba24bc
mov dword [esp + 0xae], 0x1ab518bc
mov dword [esp + 0xb2], 0x1e8f1cab
mov dword [esp + 0xb6], 0x12b71080
mov dword [esp + 0xba], 0x1689148a
mov dword [esp + 0xbe], 0xa9a08b2
mov dword [esp + 0xc2], 0xeb20ca7
mov dword [esp + 0xc6], 0x295009a
mov dword [esp + 0xca], 0x69a049f
mov dword [esp + 0xce], 0x7ae27898
mov dword [esp + 0xd2], 0x7e347cd7
mov dword [esp + 0xd6], 0x7226702c
mov dword [esp + 0xda], 0x76367426
mov dword [esp + 0xde], 0x6a2f6831
mov dword [esp + 0xe2], 0x6e396c3b
mov dword [esp + 0xe6], 0x6232603e
mov dword [esp + 0xea], 0x66346432
mov dword [esp + 0xee], 0x5afd5836
mov dword [esp + 0xf2], 0x5e1f5c08
mov dword [esp + 0xf6], 0x52195017
mov dword [esp + 0xfa], 0x56055412
mov dword [esp + 0xfe], 0x4a184807
mov dword [esp + 0x102], 0x4e194c1b
mov dword [esp + 0x106], 0x4213400d
mov dword [esp + 0x10a], 0x46134402
mov dword [esp + 0x10e], 0xbaeeb811
mov dword [esp + 0x112], 0xbe11bced
mov word [esp + 0x116], 0xb0bf
xor eax, eax
nop
mov ecx, eax
and ecx, 0xe5
mov edx, eax
and edx, 2
mov esi, edx
xor esi, 2
imul esi, ecx
or ecx, 2
imul ecx, edx
mov edx, eax
xor edx, 0xe7
add edx, esi
add edx, ecx
xor dl, byte [esp + eax + 0x76]
add dl, 0xc8
mov byte [esp + eax + 0x76], dl
inc eax
cmp eax, 0xa2
jne 0x423730
mov dword [esp + 0x44], ebx
lea eax, [esp + 0xb42]
lea edx, [esp + 0x76]
mov edi, eax
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edx, [esp + 0x116]
lea edi, [esp + 0xbe2]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x76], 0x892187cb
mov dword [esp + 0x7a], 0x8d1e8b29
mov dword [esp + 0x7e], 0xf1638f21
mov dword [esp + 0x82], 0xf552f35d
mov dword [esp + 0x86], 0xf944f762
mov dword [esp + 0x8a], 0xfd5afbb5
mov dword [esp + 0x8e], 0xe149ff58
mov dword [esp + 0x92], 0xe541e341
mov dword [esp + 0x96], 0xe9b9e75a
mov dword [esp + 0x9a], 0xed82ebbf
mov dword [esp + 0x9e], 0xd16cefbe
mov dword [esp + 0xa2], 0xd541d39d
mov dword [esp + 0xa6], 0xd974d742
mov dword [esp + 0xaa], 0xdd73db75
mov dword [esp + 0xae], 0xc17cdf75
mov dword [esp + 0xb2], 0xc556c372
mov dword [esp + 0xb6], 0xc96ec769
mov dword [esp + 0xba], 0xcd60cb63
mov dword [esp + 0xbe], 0x31a3cf6b
mov dword [esp + 0xc2], 0x357b338e
mov dword [esp + 0xc6], 0x39ac37a3
mov dword [esp + 0xca], 0x3d933b96
mov dword [esp + 0xce], 0x218b3f91
mov dword [esp + 0xd2], 0x257d239e
mov dword [esp + 0xd6], 0x297f2775
mov dword [esp + 0xda], 0x2d6f2b7f
mov dword [esp + 0xde], 0x11562f68
mov dword [esp + 0xe2], 0x15401342
mov dword [esp + 0xe6], 0x194b1747
mov dword [esp + 0xea], 0x1d4d1b4b
mov dword [esp + 0xee], 0x1a41f4f
mov dword [esp + 0xf2], 0x5460351
mov dword [esp + 0xf6], 0x950075e
mov dword [esp + 0xfa], 0xd5c0b4b
mov dword [esp + 0xfe], 0x71210f5e
mov dword [esp + 0x102], 0x75207322
mov dword [esp + 0x106], 0x792a7734
mov dword [esp + 0x10a], 0x7d2a7b3b
mov dword [esp + 0x10e], 0x61377f28
mov dword [esp + 0x112], 0x65d86334
mov word [esp + 0x116], 0x6766
mov ecx, 0x44e06b36
nop
nop
movzx edx, byte [esp + ecx - 0x44e06ac0]
xor edx, ecx
mov esi, edx
and esi, 0x40e0264d
mov ebx, edx
and ebx, 2
mov edi, ebx
xor edi, 2
imul edi, esi
or esi, 2
imul esi, ebx
mov ebx, edx
and ebx, 0x4f
add ebx, ebx
sub edx, ebx
add edx, edi
add edx, esi
add dl, 0x50
mov byte [esp + ecx - 0x44e06ac0], dl
inc ecx
cmp ecx, 0x44e06bd8
jne 0x423960
lea edx, [esp + 0xaa0]
lea ebp, [esp + 0x76]
mov esi, ebp
mov edi, edx
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea esi, [esp + 0x116]
mov ecx, 1
lea edi, [esp + 0xb40]
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
lea ecx, [esp + 0x918]
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x9ba]
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0x876]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], edx
xor ecx, ecx
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x443048]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x76], 0x898a8b8c
mov ecx, 0x7260b95b
mov edx, 0xd9f46a4
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx - 0x7260b8e5]
mov esi, edi
and esi, 0xffffffd6
xor esi, 0xc6d3a4d6
mov ebx, edi
xor ebx, 0xc6d3a4d6
or edi, 0x29
and edi, ebx
add esi, edi
and edi, 0xffffffd6
sub esi, edi
mov ebx, ecx
and ebx, 0x4240a056
or ebx, 0x8001929
mov edi, edx
and edi, 0x90c4221
or edi, 0x4283a406
xor edi, ebx
xor edi, esi
mov ebx, edi
xor ebx, 0xb57c42d0
lea esi, [ebx*2 - 0x260b95b2]
add ebx, 0x6cfa3527
and esi, 2
or edi, 0xfe
mov ebp, esi
and ebp, ebx
or ebx, 1
and ebx, edi
or ebx, esi
add ebx, ebp
mov byte [esp + ecx - 0x7260b8e5], bl
inc ecx
dec edx
cmp ecx, 0x7260b95f
jne 0x423a30
mov ecx, dword [0x448334]
test ecx, ecx
mov ebx, dword [esp + 0x44]
je 0x4241a4
mov edx, dword [esp + 0x76]
xor esi, esi
mov edi, dword [0x448338]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb430e561
je 0x42419c
inc esi
cmp ecx, esi
jne 0x423ae0
jmp 0x4241a4
mov ecx, dword [esp + 0x48]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x443048]
mov dword [esp + 0x48], ecx
mov eax, dword [esp + ecx + 0x60]
mov dword [esp + 0x76], 0x304f3e4d
mov dword [esp + 0x7a], 0x34433241
mov dword [esp + 0x7e], 0x8473645
mov dword [esp + 0x82], 0xca30a79
mov word [esp + 0x86], 0xe0d
mov ecx, 0xb88bb995
mov edx, 0x6a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx + 0x477446e1]
mov esi, edx
xor esi, ecx
and esi, edi
xor esi, ecx
lea edi, [esi + 0x3ba23357]
mov ebx, edi
and ebx, 1
and edi, 0xfe
and esi, 1
or esi, edi
lea ebx, [esi + ebx*2]
mov byte [esp + ecx + 0x477446e1], bl
inc ecx
dec edx
cmp ecx, 0xb88bb9a7
jne 0x423b60
movzx ecx, word [eax]
lea esi, [esp + 0xbe4]
test cx, cx
je 0x423bc1
add eax, 2
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x423bb0
mov word [esi], 0
movzx eax, word [esp + 0x76]
test ax, ax
je 0x423bf1
lea ecx, [esp + 0x78]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x423be0
mov word [esi], 0
mov di, 0x31
xor eax, eax
cmp di, 0x35
setb al
mov dword [esp + 0x30], esi
jmp dword [eax*4 + 0x443050]
inc edi
xor eax, eax
cmp di, 0x35
setb al
jmp dword [eax*4 + 0x443050]
mov word [esi - 2], di
lea eax, [esp + 0x3c]
lea ecx, [esp + 0xbe4]
push dword [esp + 0x40]
push 0
push 0x20019
push eax
push ecx
call fcn.0043c7d0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443058]
mov dword [esp + 0x34], edi
mov dword [esp + 0x50], 0x800
mov dword [esp + 0x24], 0x400
xor esi, esi
mov dword [esp + 8], 0
jmp 0x423c81
inc esi
lea eax, [esp + 0x24]
lea edi, [esp + 0x1de4]
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x50]
push eax
push edi
push ecx
push edx
push ebp
push esi
push dword [esp + 0x54]
call fcn.0043ce50
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443060]
test byte [esp + 8], 1
sete al
mov edx, dword [esp + 0x4c]
cmp edx, 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x443068]
xor eax, eax
cmp edx, 3
sete al
jmp dword [eax*4 + 0x443078]
mov dword [esp + 0x20], edx
mov dword [esp + 4], esi
mov dword [esp + 0xe], 0x73117131
mov dword [esp + 0x12], 0x77197517
mov dword [esp + 0x16], 0x7b14790d
mov dword [esp + 0x1a], 0x7f7e7d08
mov ecx, 0x41486af0
nop
nop
nop
movzx edx, byte [esp + ecx - 0x41486ae2]
mov eax, ecx
or eax, edx
mov esi, ecx
xor esi, edx
add esi, edx
sub esi, eax
not edx
and edx, ecx
or edx, esi
add dl, 0x80
mov byte [esp + ecx - 0x41486ae2], dl
inc ecx
cmp ecx, 0x41486b00
jne 0x423d10
movzx ebx, word [esp + 0xe]
test bx, bx
je 0x423d8c
lea ecx, [esp + 0x76]
lea esi, [esp + 0xe]
mov ebp, ecx
jmp 0x423d68
movzx ebx, word [esi]
test bx, bx
je 0x423d8c
movzx eax, word [ecx]
test ax, ax
je 0x423d8a
add esi, 2
add ecx, 2
lea edx, [ebp + 2]
cmp ax, bx
je 0x423d82
mov ebp, edx
mov ecx, edx
je 0x423d60
lea esi, [esp + 0xe]
jmp 0x423d60
xor ebp, ebp
xor eax, eax
test ebp, ebp
setne al
jmp dword [eax*4 + 0x443070]
xor eax, eax
cmp dword [esp + 0x20], 3
sete al
lea ebp, [esp + 0x76]
mov esi, dword [esp + 4]
jmp dword [eax*4 + 0x443078]
mov dword [esp + 4], esi
mov dword [esp + 0xe], 0x3ddd3bca
mov dword [esp + 0x12], 0x21b33fad
mov dword [esp + 0x16], 0x25cb23b5
mov dword [esp + 0x1a], 0x29cc27b4
mov word [esp + 0x1e], 0x2b2a
lea eax, [esp + 0xe]
mov ecx, 0x6c10f895
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [eax]
mov edx, ecx
or edx, esi
lea edi, [ecx - 0x6c10f800]
and edi, esi
not edx
or edx, edi
lea esi, [edx + 0xaf]
not edx
and edx, 1
xor esi, 1
lea edx, [esi + edx*2]
mov byte [eax], dl
inc eax
dec ecx
cmp ecx, 0x6c10f883
jne 0x423df0
movzx esi, word [esp + 0xe]
lea eax, [esp + 0x76]
test si, si
je 0x423f6b
lea ecx, [esp + 0x76]
lea edx, [esp + 0xe]
mov eax, ecx
jmp 0x423e4c
movzx esi, word [edx]
test si, si
je 0x423f6b
movzx edi, word [ecx]
test di, di
je 0x423f69
add edx, 2
add ecx, 2
lea ebx, [eax + 2]
cmp di, si
je 0x423e6a
mov eax, ebx
mov ecx, ebx
je 0x423e40
lea edx, [esp + 0xe]
jmp 0x423e40
mov eax, dword [esp + 0x24]
cmp eax, 2
mov esi, dword [esp + 4]
jae 0x423e95
mov ebp, dword [esp]
jmp 0x423f47
shr eax, 1
lea ecx, [eax - 1]
mov edx, eax
and edx, 3
je 0x423ee7
mov dword [esp + 8], ecx
xor esi, esi
lea edi, [esp + 0x1de4]
mov ebp, dword [esp]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, word [edi]
xor ecx, ecx
test bx, bx
setne cl
lea edi, [edi + ecx*2]
mov word [ebp], bx
add ebp, 2
inc esi
cmp edx, esi
jne 0x423ec0
mov dword [esp], ebp
sub eax, esi
mov esi, dword [esp + 4]
mov ecx, dword [esp + 8]
cmp ecx, 3
mov ebp, dword [esp]
jb 0x423f47
nop
movzx ecx, word [edi]
xor edx, edx
test cx, cx
setne dl
lea esi, [edi + edx*2]
mov word [ebp], cx
movzx ecx, word [edi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [esi + edx*2]
mov word [ebp + 2], cx
movzx ecx, word [esi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea esi, [edi + edx*2]
mov word [ebp + 4], cx
movzx edx, word [edi + edx*2]
xor ecx, ecx
test dx, dx
setne cl
mov word [ebp + 6], dx
add ebp, 8
lea edi, [esi + ecx*2]
add eax, 0xfffffffc
jne 0x423ef0
mov esi, dword [esp + 4]
mov word [ebp], 0x3a
mov word [ebp + 2], 0x20
add ebp, 4
mov dword [esp], ebp
mov al, 1
mov dword [esp + 8], eax
inc esi
lea ebp, [esp + 0x76]
jmp 0x423c81
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x443080]
mov esi, dword [esp + 4]
jmp case.0x424195.10
mov eax, dword [esp + 0x24]
cmp eax, 2
jae 0x423f93
mov edx, dword [esp]
jmp 0x424049
shr eax, 1
lea edi, [eax - 1]
mov esi, eax
lea ecx, [esp + 0x1de4]
and esi, 3
mov edx, dword [esp]
je 0x423fd8
mov dword [esp + 0x20], edi
xor edi, edi
nop
movzx ebx, word [ecx]
mov ebp, edx
xor edx, edx
test bx, bx
setne dl
lea ecx, [ecx + edx*2]
mov edx, ebp
mov word [ebp], bx
add edx, 2
inc edi
cmp esi, edi
jne 0x423fb0
sub eax, edi
lea ebp, [esp + 0x76]
mov edi, dword [esp + 0x20]
cmp edi, 3
mov esi, dword [esp + 4]
jb 0x42404d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebp, edx
movzx edx, word [ecx]
xor ebx, ebx
test dx, dx
setne bl
lea esi, [ecx + ebx*2]
mov word [ebp], dx
movzx ecx, word [ecx + ebx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [esi + edx*2]
mov word [ebp + 2], cx
movzx ecx, word [esi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea esi, [edi + edx*2]
mov word [ebp + 4], cx
movzx edx, word [edi + edx*2]
xor ecx, ecx
test dx, dx
setne cl
mov word [ebp + 6], dx
lea edx, [ebp + 8]
lea ecx, [esi + ecx*2]
add eax, 0xfffffffc
jne 0x423ff0
lea ebp, [esp + 0x76]
mov esi, dword [esp + 4]
mov word [edx], 0xa
add edx, 2
mov dword [esp], edx
mov al, 1
mov dword [esp + 0x38], eax
jmp case.0x424195.10
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xe], 0x898a8b8c
mov ecx, 0x7260b95b
mov edx, 0xd9f46a4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx - 0x7260b94d]
mov esi, edi
and esi, 0xffffffd6
xor esi, 0xc6d3a4d6
mov ebx, edi
xor ebx, 0xc6d3a4d6
or edi, 0x29
and edi, ebx
add esi, edi
and edi, 0xffffffd6
sub esi, edi
mov ebx, ecx
and ebx, 0x4240a056
or ebx, 0x8001929
mov edi, edx
and edi, 0x90c4221
or edi, 0x4283a406
xor edi, ebx
xor edi, esi
mov ebx, edi
xor ebx, 0xb57c42d0
lea esi, [ebx*2 - 0x260b95b2]
add ebx, 0x6cfa3527
and esi, 2
or edi, 0xfe
mov ebp, esi
and ebp, ebx
or ebx, 1
and ebx, edi
or ebx, esi
add ebx, ebp
mov byte [esp + ecx - 0x7260b94d], bl
inc ecx
dec edx
cmp ecx, 0x7260b95f
jne 0x424090
mov ecx, dword [0x448334]
test ecx, ecx
je 0x424150
mov edx, dword [esp + 0xe]
xor esi, esi
mov edi, dword [0x448338]
nop
nop
nop
cmp dword [edi + esi*8], 0xb430e561
je 0x424140
inc esi
cmp ecx, esi
jne 0x424130
jmp 0x424150
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne case.default.0x424166
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 0x34]
inc edi
xor eax, eax
cmp di, 0x35
setb al
lea ebp, [esp + 0x76]
mov esi, dword [esp + 0x30]
jmp dword [eax*4 + 0x443050]
push eax
push 4
push ecx
push dword [0x44833c]
call fcn.0043a070
add esp, 0x10
mov edi, dword [esp + 0x34]
inc edi
xor eax, eax
cmp di, 0x35
setb al
lea ebp, [esp + 0x76]
mov esi, dword [esp + 0x30]
jmp dword [eax*4 + 0x443050]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x4241ae
mov edi, dword [esp + 0x2c]
jmp dword [0x443088]
push eax
push 4
push ecx
push dword [0x44833c]
call fcn.0043a070
add esp, 0x10
mov edi, dword [esp + 0x2c]
jmp dword [0x443088]
mov word [ecx], 0
mov eax, dword [esp + 0x38]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x443030]
jmp dword [0x443090]
movzx ecx, word [esp + 0xde4]
xor edi, edi
test cx, cx
je 0x42423b
lea eax, [esp + 0xde6]
jmp 0x42420c
inc edi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x42423b
cmp cx, 0x7f
jbe 0x424200
movzx edx, cx
cmp edx, 0x7ff
ja 0x424230
add edi, 2
jmp 0x424201
cmp cx, 0xffff
je 0x424201
add edi, 3
jmp 0x424201
mov eax, edi
xor eax, 1
mov ebx, edi
and ebx, 0xfffffffe
add ebx, ebx
sub ebx, eax
push ebx
call fcn.00407fb0
add esp, 4
mov esi, eax
lea eax, [esp + 0xde4]
push eax
push ebx
push esi
call fcn.00408fb0
add esp, 0xc
mov dword [esp + 0x76], 0x350807d7
mov dword [esp + 0x7a], 0x93d3833
mov dword [esp + 0x7e], 0x122e3037
mov dword [esp + 0x82], 0x1111cced
mov dword [esp + 0x86], 0x2227282a
mov dword [esp + 0x8a], 0x221e3be5
mov dword [esp + 0x8e], 0x545c2628
mov dword [esp + 0x92], 0x6d609d61
mov word [esp + 0x96], 0xf762
mov eax, 0x2ee4958d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + eax - 0x2ee49517]
lea edx, [eax - 0x2ee494e7]
and edx, ebx
mov ebp, edx
or ebp, 0xfffffffd
inc ebp
mov ecx, edx
and ecx, 0xfffffffd
imul ecx, ebp
mov ebp, edx
and ebp, 2
or edx, 2
imul edx, ebp
add ecx, ebx
sub ecx, edx
add ecx, eax
mov edx, ecx
xor edx, 0x18
and ecx, 0x67
add ecx, ecx
sub ecx, edx
inc cl
mov byte [esp + eax - 0x2ee49517], cl
inc eax
cmp eax, 0x2ee495af
jne 0x4242d0
lea eax, [esp + 0x76]
mov ecx, dword [esp + 0x21f8]
push edi
push esi
push eax
call fcn.00409110
nop
movzx ecx, word [esp + 0xde4]
test cx, cx
je 0x424390
lea eax, [esp + 0xde6]
xor edi, edi
jmp 0x42435c
inc edi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x424392
cmp cx, 0x7f
jbe 0x424350
movzx edx, cx
cmp edx, 0x7ff
ja 0x424380
add edi, 2
jmp 0x424351
cmp cx, 0xffff
je 0x424351
add edi, 3
jmp 0x424351
xor edi, edi
lea ebx, [edi + 1]
push ebx
call fcn.00407fb0
add esp, 4
mov esi, eax
lea eax, [esp + 0xde4]
push eax
push ebx
push esi
call fcn.00408fb0
add esp, 0xc
mov dword [esp + 0x76], 0x350807d7
mov dword [esp + 0x7a], 0x93d3833
mov dword [esp + 0x7e], 0x122e3037
mov dword [esp + 0x82], 0x1111cced
mov dword [esp + 0x86], 0x2227282a
mov dword [esp + 0x8a], 0x221e3be5
mov dword [esp + 0x8e], 0x545c2628
mov dword [esp + 0x92], 0x6d609d61
mov word [esp + 0x96], 0xf762
mov eax, 0x2ee4958d
movzx ebx, byte [esp + eax - 0x2ee49517]
lea edx, [eax - 0x2ee494e7]
and edx, ebx
mov ebp, edx
or ebp, 0xfffffffd
inc ebp
mov ecx, edx
and ecx, 0xfffffffd
imul ecx, ebp
mov ebp, edx
and ebp, 2
or edx, 2
imul edx, ebp
add ecx, ebx
sub ecx, edx
add ecx, eax
mov edx, ecx
xor edx, 0x18
and ecx, 0x67
add ecx, ecx
sub ecx, edx
inc cl
mov byte [esp + eax - 0x2ee49517], cl
inc eax
cmp eax, 0x2ee495af
jne 0x424410
lea eax, [esp + 0x76]
mov ecx, dword [esp + 0x21f8]
push edi
push esi
push eax
call fcn.00409110
jmp dword [0x443098]
jmp dword [0x4430a0]
push esi
mov esi, eax
call fcn.00407fc0
mov eax, esi
add esp, 4
and al, 1
add esp, 0x21e4
pop esi
pop edi
pop ebx
pop ebp
ret