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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x98
mov dword [esp + 0x1c], 0x20e02085
mov dword [esp + 0x20], 0x20d320d2
mov dword [esp + 0x24], 0x20c420e0
mov dword [esp + 0x28], 0x20c620d2
mov dword [esp + 0x2c], 0x20f5208d
mov dword [esp + 0x30], 0x20c320fe
mov dword [esp + 0x34], 0x20c320d9
mov dword [esp + 0x38], 0x20ca20ca
mov dword [esp + 0x3c], 0x20d320c2
mov dword [esp + 0x40], 0x20c120db
mov dword [esp + 0x44], 0x20e920d0
mov dword [esp + 0x48], 0x20c520e6
mov dword [esp + 0x4c], 0x20df20d7
mov dword [esp + 0x50], 0x20d720d3
mov dword [esp + 0x54], 0x20ce20d9
lea eax, [esp + 0x58]
mov word [esp + 0x58], 0x20be
xor ecx, ecx
nop
movzx edx, word [esp + ecx*2 + 0x1c]
lea esi, [ecx - 0x7ef9b260]
xor esi, edx
lea edx, [esi - 0x8326d01]
mov edi, edx
xor edx, 1
add edx, esi
add edx, 0xf7cd92ff
not esi
and esi, 1
and edi, 0xfffe
sub edx, edi
add edx, esi
mov word [esp + ecx*2 + 0x1c], dx
inc ecx
cmp ecx, 0x1f
jne case.default.0x421ccc
lea ebp, [esp + 0x5a]
lea edx, [esp + 0x1c]
mov edi, ebp
mov ecx, 0xf
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x96]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, esp
push edi
push 0
push 0
push 0x1e
push ebp
push 0
call dword [0x44531c]
xor ecx, ecx
cmp eax, 0xc0000023
setne cl
jmp dword [ecx*4 + 0x4401a4]
jmp dword [0x4401c0]
mov eax, dword [case.0x421ccc.4]
xor ebx, ebx
jmp eax
push esi
call fcn.00408010
add esp, 4
mov eax, ebx
add esp, 0x98
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 4], 0x57765799
mov dword [esp + 8], 0x577e577a
mov dword [esp + 0xc], 0x57675765
mov dword [esp + 0x10], 0x57665771
mov dword [esp + 0x14], 0x5774577c
mov dword [esp + 0x18], 0x57d85763
xor eax, eax
nop
nop
nop
nop
nop
nop
lea ecx, [eax - 0x2f1b]
xor cx, word [esp + eax*2 + 4]
add ecx, 0x78d8
mov word [esp + eax*2 + 4], cx
mov ecx, eax
or ecx, 1
add ecx, eax
not eax
or eax, 1
add eax, ecx
inc eax
cmp eax, 0xc
jb 0x421d30
lea eax, [esp + 4]
mov edx, eax
mov ecx, 6
lea ebx, [esp + 0x1c]
mov edi, ebx
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x34]
lea edx, [esp + 0x1c]
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
mov byte [esp + 0x14], 1
mov dword [esp + 4], ebx
mov dword [esp + 0xc], esi
push 0
push 0
push eax
push dword [esp + 0xb8]
call fcn.0041d740
add esp, 0x10
mov ebx, eax
jmp dword [0x4401d4]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4401cc]
xor ebx, ebx
jmp dword [0x4401d4]
mov ebx, dword [esp]
lea eax, [ebx + ebx]
test ebx, ebx
jns 0x421dde
mov eax, 0xffffffff
push eax
call fcn.00408000
add esp, 4
mov esi, eax
push edi
push ebx
push eax
push 0x1e
push ebp
push 0
call dword [0x44531c]
jmp dword [0x4401c4]
mov esi, dword [esp]
lea eax, [esi + esi]
test esi, esi
jns 0x421e0c
mov eax, 0xffffffff
push eax
call fcn.00408000
add esp, 4
push edi
push esi
push eax
push 0x1e
push ebp
push 0
call dword [0x44531c]
jmp case.0x421ccc.6
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x30]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x54]
call fcn.00439ef0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4401e4]
xor eax, eax
jmp 0x423543
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x40], 0
cmp ecx, dword [esp + 0x30]
setb al
xor edi, edi
jmp dword [eax*4 + 0x4401ec]
mov eax, dword [esp + 8]
mov word [eax], 0
mov eax, dword [esp + 0x40]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x4401f4]
movzx ecx, word [esp + 0x11e4]
xor ebx, ebx
mov edi, 0
test cx, cx
je 0x42347b
xor edi, edi
lea eax, [esp + 0x11e6]
jmp 0x423456
inc edi
xor eax, eax
cmp edi, dword [esp + 0x30]
setb al
jmp dword [eax*4 + 0x4401ec]
mov esi, dword [esp + 0x5c]
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x421fe3
mov eax, 0xffffffff
push eax
call fcn.00408000
add esp, 4
mov dword [esp + 0x58], esi
mov esi, eax
lea eax, [esp + 0x58]
push eax
push esi
push edi
push dword [esp + 0x40]
call fcn.00439bc0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4401fc]
jmp dword [0x44028c]
lea eax, [esp + 0x2c]
push dword [esp + 0x34]
push 0
push 0x20019
push eax
push esi
call fcn.00439a70
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x440204]
jmp dword [0x44028c]
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x76], 0x309e307b
mov dword [esp + 0x7a], 0x30ab309b
mov dword [esp + 0x7e], 0x30a83095
mov dword [esp + 0x82], 0x309b3093
mov dword [esp + 0x86], 0x308330aa
mov dword [esp + 0x8a], 0x30883097
mov dword [esp + 0x8e], 0x3087308c
mov dword [esp + 0x92], 0x30b2308b
mov dword [esp + 0x96], 0x304730b5
mov dword [esp + 0x9a], 0x308c3065
mov dword [esp + 0x9e], 0x30b830b9
mov dword [esp + 0xa2], 0x308a308d
mov dword [esp + 0xa6], 0x30813087
mov dword [esp + 0xaa], 0x307130b7
mov dword [esp + 0xae], 0x308630a1
mov dword [esp + 0xb2], 0x308630b6
mov dword [esp + 0xb6], 0x3084308f
mov dword [esp + 0xba], 0x30bc308c
mov dword [esp + 0xbe], 0x30a730b7
mov dword [esp + 0xc2], 0x308f30ac
mov dword [esp + 0xc6], 0x30b930b1
mov dword [esp + 0xca], 0x30ad30a9
mov dword [esp + 0xce], 0x309030a7
mov dword [esp + 0xd2], 0x305c30b8
mov dword [esp + 0xd6], 0x30503055
mov dword [esp + 0xda], 0x304a305d
mov dword [esp + 0xde], 0x304d304c
mov dword [esp + 0xe2], 0x3059305c
mov dword [esp + 0xe6], 0x305c305f
mov dword [esp + 0xea], 0x30203021
mov dword [esp + 0xee], 0x30d73023
mov dword [esp + 0xf2], 0x30373027
mov dword [esp + 0xf6], 0x302f302e
mov dword [esp + 0xfa], 0x30293039
mov dword [esp + 0xfe], 0x302a302a
mov dword [esp + 0x102], 0x3029302c
mov dword [esp + 0x106], 0x302d303c
mov dword [esp + 0x10a], 0x30373021
mov dword [esp + 0x10e], 0x30343034
mov dword [esp + 0x112], 0x30d93032
mov word [esp + 0x116], 0x3066
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [esp + eax*2 + 0x76]
lea edx, [eax - 0x4fe44ffa]
xor edx, ecx
mov ecx, edx
and ecx, 0x7fcf
xor edx, 0x7fcf
lea ecx, [edx + ecx*2]
inc ecx
mov word [esp + eax*2 + 0x76], cx
inc eax
cmp eax, 0x51
jne 0x422220
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]
mov ecx, 1
lea edi, [esp + 0x9b8]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x76], 0xa0e2a0c7
mov dword [esp + 0x7a], 0xa09fa0ef
mov dword [esp + 0x7e], 0xa09ca0e1
mov dword [esp + 0x82], 0xa0d7a0df
mov dword [esp + 0x86], 0xa0cfa0a6
mov dword [esp + 0x8a], 0xa0dca0c3
mov dword [esp + 0x8e], 0xa0d3a0d8
mov dword [esp + 0x92], 0xa0aea0d7
mov dword [esp + 0x96], 0xa11ba0a9
mov dword [esp + 0x9a], 0xa0c9a0f2
mov dword [esp + 0x9e], 0xa0fca0c2
mov dword [esp + 0xa2], 0xa0b3a0b5
mov dword [esp + 0xa6], 0xa0c6a0b0
mov dword [esp + 0xaa], 0xa0b1a0ca
mov dword [esp + 0xae], 0xa0c2a0d0
mov dword [esp + 0xb2], 0xa0baa0ba
mov dword [esp + 0xb6], 0xa0c4a0c3
mov dword [esp + 0xba], 0xa0d1a0c2
mov dword [esp + 0xbe], 0xa0c6a0d9
mov dword [esp + 0xc2], 0x9f359f3e
mov dword [esp + 0xc6], 0x9f449f3d
mov dword [esp + 0xca], 0x9ef59f47
mov dword [esp + 0xce], 0x9f329f1b
mov dword [esp + 0xd2], 0x9f4a9f4b
mov dword [esp + 0xd6], 0x9f3c9f3b
mov dword [esp + 0xda], 0x9f339f35
mov dword [esp + 0xde], 0x9eff9f39
mov dword [esp + 0xe2], 0x9f549f33
mov dword [esp + 0xe6], 0x9f509f20
mov dword [esp + 0xea], 0x9f569f5d
mov dword [esp + 0xee], 0x9f229f52
mov dword [esp + 0xf2], 0x9f359f25
mov dword [esp + 0xf6], 0x9f599f3a
mov dword [esp + 0xfa], 0x9f2b9f23
mov dword [esp + 0xfe], 0x9f239f27
mov dword [esp + 0x102], 0x9f629f15
mov dword [esp + 0x106], 0x9f3c9f0e
mov dword [esp + 0x10a], 0x9f619f61
mov dword [esp + 0x10e], 0x9f189f1a
mov dword [esp + 0x112], 0x9f129f17
mov dword [esp + 0x116], 0x9f229f06
mov dword [esp + 0x11a], 0x9f2a9f2f
mov dword [esp + 0x11e], 0x9f3c9f2b
mov dword [esp + 0x122], 0x9f279f26
mov dword [esp + 0x126], 0x9f379f32
mov dword [esp + 0x12a], 0x9f369f35
mov dword [esp + 0x12e], 0x9f369f37
mov dword [esp + 0x132], 0x9f0d9f39
mov dword [esp + 0x136], 0x9f299f39
mov dword [esp + 0x13a], 0x9f359f34
mov dword [esp + 0x13e], 0x9f3f9f2f
mov dword [esp + 0x142], 0x9f409f40
mov dword [esp + 0x146], 0x9f479f42
mov dword [esp + 0x14a], 0x9f479f56
mov dword [esp + 0x14e], 0x9f419f57
mov dword [esp + 0x152], 0x9f4e9f4e
mov dword [esp + 0x156], 0x9f679f4c
mov word [esp + 0x15a], 0x9e9c
xor eax, eax
nop
nop
nop
nop
movzx ecx, word [esp + eax*2 + 0x76]
mov edx, eax
and edx, 0x58
mov esi, eax
and esi, 2
mov edi, esi
xor edi, 2
imul edi, edx
or edx, 2
imul edx, esi
mov esi, eax
xor esi, 0x31855fda
add esi, edi
add esi, edx
xor esi, ecx
add esi, 0x73d5012f
mov ecx, esi
and ecx, 1
xor esi, 1
lea ecx, [esi + ecx*2]
mov word [esp + eax*2 + 0x76], cx
inc eax
cmp eax, 0x73
jne 0x4224f0
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], 0x5d7e5d9b
mov dword [esp + 0x7a], 0x5d4b5d7b
mov dword [esp + 0x7e], 0x5d485d75
mov dword [esp + 0x82], 0x5d7b5d73
mov dword [esp + 0x86], 0x5d635d4a
mov dword [esp + 0x8a], 0x5d675d8f
mov dword [esp + 0x8e], 0x5d6a5d64
mov dword [esp + 0x92], 0x5d605d67
mov dword [esp + 0x96], 0x5d965d7a
mov dword [esp + 0x9a], 0x5da75d9b
mov dword [esp + 0x9e], 0x5d775d9a
mov dword [esp + 0xa2], 0x5d585d83
mov dword [esp + 0xa6], 0x5d635d5a
mov dword [esp + 0xaa], 0x5c9e5c9f
mov dword [esp + 0xae], 0x5c8f5c99
mov dword [esp + 0xb2], 0x5ca75c84
mov dword [esp + 0xb6], 0x5c915c99
mov dword [esp + 0xba], 0x5c955c91
mov dword [esp + 0xbe], 0x5ca85c9f
mov dword [esp + 0xc2], 0x5c725c80
mov dword [esp + 0xc6], 0x5cab5cab
mov dword [esp + 0xca], 0x5c8e5c8c
mov dword [esp + 0xce], 0x5c885c8d
mov dword [esp + 0xd2], 0x5c7c5c98
mov dword [esp + 0xd6], 0x5c705c75
mov dword [esp + 0xda], 0x5c6a5c7d
mov dword [esp + 0xde], 0x5c6d5c6c
mov dword [esp + 0xe2], 0x5c795c7c
mov dword [esp + 0xe6], 0x5c7c5c7f
mov dword [esp + 0xea], 0x5c405c41
mov dword [esp + 0xee], 0x5cb75c43
mov dword [esp + 0xf2], 0x5c575c47
mov dword [esp + 0xf6], 0x5c4f5c4e
mov dword [esp + 0xfa], 0x5c495c59
mov dword [esp + 0xfe], 0x5c4a5c4a
mov dword [esp + 0x102], 0x5c495c4c
mov dword [esp + 0x106], 0x5c4d5c5c
mov dword [esp + 0x10a], 0x5c575c41
mov dword [esp + 0x10e], 0x5c545c54
mov dword [esp + 0x112], 0x5cb95c52
mov word [esp + 0x116], 0x5c06
mov eax, 0xae7
mov ecx, 0xf519
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [esp + eax*2 - 0x1558]
mov esi, edx
not esi
or esi, ecx
add esi, eax
and edx, ecx
or edx, esi
add edx, 0xffffa8d0
mov word [esp + eax*2 - 0x1558], dx
inc eax
dec ecx
cmp eax, 0xb38
jne 0x422730
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], 0x9b9b9bbc
mov dword [esp + 0x7a], 0x9b969b80
mov dword [esp + 0x7e], 0x9b959b9a
mov dword [esp + 0x82], 0x9b9e9b98
mov dword [esp + 0x86], 0x9b969b8d
mov dword [esp + 0x8a], 0x9b9a9ba4
mov dword [esp + 0x8e], 0x9b879b9b
mov dword [esp + 0x92], 0x9b959b9c
mov dword [esp + 0x96], 0x9b439b9d
mov dword [esp + 0x9a], 0x9b4a9b47
mov dword [esp + 0x9e], 0x9b9a9b45
mov dword [esp + 0xa2], 0x9bfd9ba8
mov dword [esp + 0xa6], 0x9bf69bfd
mov dword [esp + 0xaa], 0x9bf39bf4
mov dword [esp + 0xae], 0x9be29bf6
mov dword [esp + 0xb2], 0x9bf29bdf
mov dword [esp + 0xb6], 0x9be49bfe
mov dword [esp + 0xba], 0x9bf89bfa
mov dword [esp + 0xbe], 0x9bf59be0
mov dword [esp + 0xc2], 0x9bc79beb
mov dword [esp + 0xc6], 0x9bee9bec
mov dword [esp + 0xca], 0x9be39be7
mov dword [esp + 0xce], 0x9be59be2
mov dword [esp + 0xd2], 0x9bd99bf3
mov dword [esp + 0xd6], 0x9b259b22
mov dword [esp + 0xda], 0x9bd79b26
mov dword [esp + 0xde], 0x9bd09bd3
mov dword [esp + 0xe2], 0x9b1c9b27
mov dword [esp + 0xe6], 0x9b199b18
mov dword [esp + 0xea], 0x9b1d9b1a
mov dword [esp + 0xee], 0x9bca9b1c
mov dword [esp + 0xf2], 0x9be29b1c
mov dword [esp + 0xf6], 0x9bea9be9
mov dword [esp + 0xfa], 0x9b149be2
mov dword [esp + 0xfe], 0x9b179b15
mov dword [esp + 0x102], 0x9b0c9b17
mov dword [esp + 0x106], 0x9b089bfb
mov dword [esp + 0x10a], 0x9b0a9bfa
mov dword [esp + 0x10e], 0x9b099b0b
mov dword [esp + 0x112], 0x9bdc9b09
mov word [esp + 0x116], 0x9b31
mov eax, 0xee4dca29
mov ecx, 0x35d6
nop
nop
nop
nop
nop
nop
movzx esi, word [esp + eax*2 + 0x23646c24]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
mov esi, edx
xor esi, 0x4673
and edx, 0x398c
add edx, edx
sub edx, esi
add edx, 0xfffff52b
mov word [esp + eax*2 + 0x23646c24], dx
inc eax
dec ecx
cmp eax, 0xee4dca7a
jne 0x422950
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], 0x2cdd2cbe
mov dword [esp + 0x7a], 0x2cd42ca6
mov dword [esp + 0x7e], 0x2ceb2cd8
mov dword [esp + 0x82], 0x2c9c2ce6
mov dword [esp + 0x86], 0x2c902cef
mov dword [esp + 0x8a], 0x2c982c82
mov dword [esp + 0x8e], 0x2ce92c99
mov dword [esp + 0x92], 0x2c972c92
mov dword [esp + 0x96], 0x2ca52c9f
mov dword [esp + 0x9a], 0x2ca82ca0
mov dword [esp + 0x9e], 0x2c842ca7
mov dword [esp + 0xa2], 0x2cff2c96
mov dword [esp + 0xa6], 0x2cf02cff
mov dword [esp + 0xaa], 0x2cf12cf2
mov dword [esp + 0xae], 0x2c8c2cf4
mov dword [esp + 0xb2], 0x2cf02c91
mov dword [esp + 0xb6], 0x2c822cfc
mov dword [esp + 0xba], 0x2cfa2cfc
mov dword [esp + 0xbe], 0x2c8b2c82
mov dword [esp + 0xc2], 0x2ce52cf5
mov dword [esp + 0xc6], 0x2c882c8e
mov dword [esp + 0xca], 0x2c812c81
mov dword [esp + 0xce], 0x2c8b2c80
mov dword [esp + 0xd2], 0x2cdb2cfd
mov dword [esp + 0xd6], 0x2cc32cc0
mov dword [esp + 0xda], 0x2cd52cc0
mov dword [esp + 0xde], 0x2cce2cd1
mov dword [esp + 0xe2], 0x2cde2cd9
mov dword [esp + 0xe6], 0x2cdf2cda
mov dword [esp + 0xea], 0x2cdf2cdc
mov dword [esp + 0xee], 0x2ce42cde
mov dword [esp + 0xf2], 0x2cc02cd2
mov dword [esp + 0xf6], 0x2ccc2ccb
mov dword [esp + 0xfa], 0x2cd62cc4
mov dword [esp + 0xfe], 0x2ce92cd7
mov dword [esp + 0x102], 0x2cee2ce9
mov dword [esp + 0x106], 0x2cee2cf9
mov dword [esp + 0x10a], 0x2ce82cfc
mov dword [esp + 0x10e], 0x2ce72ce9
mov dword [esp + 0x112], 0x2cde2ce7
mov word [esp + 0x116], 0x2d33
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [esp + ecx*2 + 0x76]
mov edi, esi
not edi
mov edx, 0xde64
sub edx, ecx
or edi, edx
lea ebx, [ecx + edi]
add edi, ecx
add edi, 0x9d0d219c
and edx, esi
mov esi, edx
not esi
and esi, edi
xor edx, edi
add edx, ebx
add edx, 0x9d0d219c
sub edx, esi
add edx, 0xfffff328
mov word [esp + ecx*2 + 0x76], dx
lea edx, [ecx + ecx]
and edx, 2
xor ecx, 1
add ecx, edx
cmp ecx, 0x51
jb case.default.0x422c33
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]
lea edi, [esp + 0xb40]
mov ecx, 1
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 + 0x44021c]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x76], 0x12d612d7
xor ecx, ecx
nop
nop
movzx edx, word [esp + ecx*2 + 0x76]
mov esi, ecx
or esi, 0x56c8fde8
lea edi, [esi + esi]
neg edi
add edi, ecx
add edi, 0xfde7
xor edi, esi
and edi, edx
xor edi, esi
mov edx, edi
and edx, 0x10bf
add edx, edx
xor edi, 0xef40
sub edx, edi
mov word [esp + ecx*2 + 0x76], dx
lea ecx, [ecx + ecx*2]
xor ecx, 1
cmp ecx, 2
jb 0x422c50
mov ecx, dword [0x445320]
test ecx, ecx
je 0x4233f0
mov edx, dword [esp + 0x76]
xor esi, esi
mov edi, dword [0x445324]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb430e561
je 0x4233e4
inc esi
cmp ecx, esi
jne 0x422cb0
jmp 0x4233f0
mov ecx, dword [esp + 0x48]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x44021c]
mov dword [esp + 0x48], ecx
mov eax, dword [esp + ecx + 0x60]
mov dword [esp + 0x76], 0x128c128b
mov dword [esp + 0x7a], 0x128e128d
mov dword [esp + 0x7e], 0x1280128f
mov dword [esp + 0x82], 0x12ba1281
mov word [esp + 0x86], 0x12d3
xor ecx, ecx
nop
nop
nop
lea edx, [ecx - 0x4b3d]
xor dx, word [esp + ecx*2 + 0x76]
add edx, 0x59e8
mov word [esp + ecx*2 + 0x76], dx
inc ecx
cmp ecx, 9
jne 0x422d20
jmp dword [0x440224]
inc esi
xor eax, eax
cmp si, 0x35
setb al
jmp dword [eax*4 + 0x440234]
jmp dword [0x44023c]
mov word [ebx - 2], si
lea eax, [esp + 0x28]
lea ecx, [esp + 0xbe4]
push dword [esp + 0x2c]
push 0
push 0x20019
push eax
push ecx
call fcn.00439a70
add esp, 0x14
nop
nop
nop
nop
nop
mov word [ebx - 2], si
lea eax, [esp + 0x28]
lea ecx, [esp + 0xbe4]
push dword [esp + 0x2c]
push 0
push 0x20019
push eax
push ecx
call fcn.00439a70
add esp, 0x14
jmp dword [0x440244]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44024c]
mov dword [esp + 0x54], 0x800
mov dword [esp + 0x24], 0x400
xor edi, edi
mov dword [esp + 0x44], 0
jmp 0x422df1
inc edi
lea eax, [esp + 0x24]
lea ebx, [esp + 0xde4]
lea ecx, [esp + 0x50]
lea edx, [esp + 0x54]
push eax
push ebx
push ecx
push edx
push ebp
push edi
push dword [esp + 0x40]
call fcn.0043a230
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x440254]
test byte [esp + 0x44], 1
sete al
mov edx, dword [esp + 0x50]
cmp edx, 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44025c]
xor eax, eax
cmp edx, 3
sete al
jmp dword [eax*4 + 0x44027c]
mov dword [esp + 0xc], edi
mov dword [esp], esi
mov dword [esp + 0x12], 0x1b10190
mov dword [esp + 0x16], 0x1ab01b0
mov dword [esp + 0x1a], 0x1a801a0
mov dword [esp + 0x1e], 0x6801a3
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
lea eax, [ecx + 0x2499]
xor ax, word [esp + ecx*2 + 0x12]
add eax, 0xffffdb38
mov word [esp + ecx*2 + 0x12], ax
inc ecx
cmp ecx, 8
jne 0x422e80
movzx esi, word [esp + 0x12]
mov dword [esp + 4], ebp
test si, si
je 0x422efc
lea ecx, [esp + 0x76]
lea edi, [esp + 0x12]
mov dword [esp + 4], ecx
jmp 0x422ec8
movzx esi, word [edi]
test si, si
je 0x422efc
movzx eax, word [ecx]
test ax, ax
je 0x422ef4
mov ebp, edx
add ecx, 2
add edi, 2
mov edx, dword [esp + 4]
add edx, 2
cmp ax, si
je 0x422eea
mov dword [esp + 4], edx
mov ecx, edx
mov edx, ebp
je 0x422ec0
lea edi, [esp + 0x12]
jmp 0x422ec0
mov dword [esp + 4], 0
xor eax, eax
cmp dword [esp + 4], 0
setne al
jmp dword [eax*4 + 0x440264]
xor eax, eax
cmp edx, 3
sete al
lea ebp, [esp + 0x76]
mov esi, dword [esp]
mov edi, dword [esp + 0xc]
jmp dword [eax*4 + 0x44027c]
mov dword [esp], esi
mov dword [esp + 0x12], 0x64656473
mov dword [esp + 0x16], 0x64156416
mov dword [esp + 0x1a], 0x64276410
mov dword [esp + 0x1e], 0x645e642b
mov word [esp + 0x22], 0x65bb
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [esp + eax*2 + 0x12]
lea edx, [eax - 0xa0060a5]
and edx, ecx
add edx, edx
neg edx
add edx, eax
add edx, 0xf5ff9f5b
add ecx, edx
add ecx, 0x528
mov word [esp + eax*2 + 0x12], cx
lea ecx, [eax + eax]
and ecx, 2
xor eax, 1
add eax, ecx
cmp eax, 9
jb 0x422f60
movzx esi, word [esp + 0x12]
lea eax, [esp + 0x76]
test si, si
je 0x42306f
lea ecx, [esp + 0x76]
lea edx, [esp + 0x12]
mov eax, ecx
jmp 0x422fcc
movzx esi, word [edx]
test si, si
je 0x42306f
mov ebp, edi
movzx edi, word [ecx]
test di, di
je 0x42306b
add ecx, 2
add edx, 2
lea ebx, [eax + 2]
cmp di, si
je 0x422fec
mov eax, ebx
mov ecx, ebx
mov edi, ebp
je 0x422fc0
lea edx, [esp + 0x12]
jmp 0x422fc0
mov eax, dword [esp + 0x24]
cmp eax, 2
mov esi, dword [esp]
mov edi, dword [esp + 0xc]
jae 0x42301d
mov edx, dword [esp + 8]
lea ebp, [esp + 0x76]
jmp 0x423200
shr eax, 1
lea ecx, [eax - 1]
mov ebp, eax
and ebp, 3
je 0x423188
mov dword [esp + 4], ecx
xor esi, esi
lea ebx, [esp + 0xde4]
mov edx, dword [esp + 8]
nop
nop
movzx edi, word [ebx]
xor ecx, ecx
test di, di
setne cl
lea ebx, [ebx + ecx*2]
mov word [edx], di
add edx, 2
inc esi
cmp ebp, esi
jne 0x423040
sub eax, esi
mov esi, dword [esp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 4]
jmp 0x42318c
xor eax, eax
mov edi, ebp
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x440284]
inc edi
mov esi, dword [esp]
lea ebp, [esp + 0x76]
jmp 0x422df1
mov eax, dword [esp + 0x24]
cmp eax, 2
lea ebp, [esp + 0x76]
jae 0x4230a3
mov edx, dword [esp + 8]
mov esi, dword [esp]
jmp 0x423170
shr eax, 1
lea ebx, [eax - 1]
mov esi, eax
lea ecx, [esp + 0xde4]
and esi, 3
mov edx, dword [esp + 8]
je 0x4230fc
mov dword [esp + 4], ebx
mov dword [esp + 0xc], edi
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
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 0x4230d0
sub eax, edi
lea ebp, [esp + 0x76]
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 4]
cmp ebx, 3
mov esi, dword [esp]
jb 0x423170
mov dword [esp + 0xc], edi
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 0x423110
lea ebp, [esp + 0x76]
mov esi, dword [esp]
mov edi, dword [esp + 0xc]
mov word [edx], 0xa
add edx, 2
mov dword [esp + 8], edx
mov al, 1
mov dword [esp + 0x40], eax
inc edi
jmp 0x422df1
mov edx, dword [esp + 8]
cmp ecx, 3
lea ebp, [esp + 0x76]
jb 0x423200
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebp, edx
movzx ecx, word [ebx]
xor edx, edx
test cx, cx
setne dl
lea esi, [ebx + edx*2]
mov word [ebp], cx
movzx ecx, word [ebx + 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
lea edx, [ebp + 8]
lea ebx, [esi + ecx*2]
add eax, 0xfffffffc
jne 0x4231a0
lea ebp, [esp + 0x76]
mov esi, dword [esp]
mov edi, dword [esp + 0xc]
mov dword [edx], 0x20003a
add edx, 4
mov dword [esp + 8], edx
mov al, 1
mov dword [esp + 0x44], eax
inc edi
jmp 0x422df1
mov dword [esp], esi
mov eax, dword [esp + 0x28]
mov dword [esp + 0x12], 0x12d612d7
xor ecx, ecx
mov ebx, dword [esp + 0x4c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [esp + ecx*2 + 0x12]
mov esi, ecx
or esi, 0x56c8fde8
lea edi, [esi + esi]
neg edi
add edi, ecx
add edi, 0xfde7
xor edi, esi
and edi, edx
xor edi, esi
mov edx, edi
and edx, 0x10bf
add edx, edx
xor edi, 0xef40
sub edx, edi
mov word [esp + ecx*2 + 0x12], dx
lea ecx, [ecx + ecx*2]
xor ecx, 1
cmp ecx, 2
jb 0x423240
mov ecx, dword [0x445320]
test ecx, ecx
je 0x4232c0
mov edx, dword [esp + 0x12]
xor esi, esi
mov edi, dword [0x445324]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb430e561
je 0x4232b0
inc esi
cmp ecx, esi
jne 0x4232a0
jmp 0x4232c0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne case.default.0x4232cd
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [esp]
inc esi
xor eax, eax
cmp si, 0x35
setb al
jmp dword [eax*4 + 0x440234]
push eax
push 4
push ecx
push dword [0x445328]
call fcn.004371a0
add esp, 0x10
mov esi, dword [esp]
inc esi
xor eax, eax
cmp si, 0x35
setb al
jmp dword [eax*4 + 0x440234]
movzx edx, word [eax]
lea ecx, [esp + 0xbe4]
test dx, dx
je 0x423331
lea esi, [eax + 2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x423320
mov word [ecx], 0
movzx edx, word [esp + 0x76]
test dx, dx
je 0x423361
lea esi, [esp + 0x78]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x423350
mov word [ecx], 0
movzx ecx, word [eax]
lea ebx, [esp + 0xbe4]
test cx, cx
je 0x423391
lea edx, [eax + 2]
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], cx
add ebx, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x423380
mov word [ebx], 0
movzx ecx, word [esp + 0x76]
test cx, cx
je 0x4233c1
lea edx, [esp + 0x78]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], cx
add ebx, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4233b0
mov word [ebx], 0
jmp dword [0x440230]
mov si, 0x31
xor eax, eax
cmp si, 0x35
setb al
mov dword [esp + 0x4c], ebx
jmp dword [eax*4 + 0x440234]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x423418
nop
nop
nop
nop
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
jmp dword [0x44028c]
push esi
call fcn.00408010
add esp, 4
inc edi
xor eax, eax
cmp edi, dword [esp + 0x30]
setb al
jmp dword [eax*4 + 0x4401ec]
push eax
push 4
push ecx
push dword [0x445328]
call fcn.004371a0
add esp, 0x10
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
jmp dword [0x44028c]
mov ecx, edi
xor ecx, 1
and edi, 1
lea edi, [ecx + edi*2]
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x42347b
cmp cx, 0x7f
jbe 0x423440
movzx edx, cx
cmp edx, 0x7ff
ja 0x423470
add edi, 2
jmp 0x42344b
cmp cx, 0xffff
je 0x42344b
add edi, 3
jmp 0x42344b
lea ebp, [edi + 1]
push ebp
call fcn.00408000
add esp, 4
mov esi, eax
lea eax, [esp + 0x11e4]
push eax
push ebp
push esi
call fcn.00408dc0
add esp, 0xc
mov dword [esp + 0x76], 0xf5f4f1a2
mov dword [esp + 0x7a], 0xed87fefc
mov dword [esp + 0x7e], 0xee86f2fe
mov dword [esp + 0x82], 0xed8fd2c6
mov dword [esp + 0x86], 0xf683f287
mov dword [esp + 0x8a], 0xf28cd1c2
mov dword [esp + 0x8e], 0xfc8cf8f9
mov dword [esp + 0x92], 0xe986b382
mov word [esp + 0x96], 0x6187
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [ebx - 0x6045]
xor ax, word [esp + ebx*2 + 0x76]
add eax, 0x228
mov word [esp + ebx*2 + 0x76], ax
inc ebx
cmp ebx, 0x11
jne 0x423500
lea eax, [esp + 0x76]
mov ecx, dword [esp + 0x21f8]
push edi
push esi
push eax
call fcn.00408f40
jmp dword [0x440294]
push esi
mov esi, eax
call fcn.00408010
mov eax, esi
add esp, 4
and al, 1
add esp, 0x21e4
pop esi
pop edi
pop ebx
pop ebp
ret
int3
sbb al, 0x42
add cl, bl
sbb al, 0x42
add al, ah
sbb al, 0x42
add al, ah
sbb al, 0x42
add al, ah
sbb al, 0x42
add bl, ch
sbb al, 0x42
add ch, bh
sbb eax, 0x1dcf0042
inc edx
add byte [ebx - 0x2ffbde3], bh
sbb eax, 0x1dc70042
inc edx
add al, bh
sbb al, 0x42
add dl, ah
sbb al, 0x42
add bl, ch
sbb al, 0x42
add byte [esi], bl
pop ds
inc edx
add byte [edi + ebx + 0x42], cl
add byte [edi + ebx + 0x42], cl
add byte [ebx + 0x1f], dl
inc edx
add byte [edi + 0x1f], ch
inc edx
add cl, dl
pop ds
inc edx
add byte [ecx + 0x35], al
inc edx
add byte [ebx + 0x1100421f], cl
and byte [edx], al
and byte [eax], ah
inc edx
add byte [ebp + 0x20], al
inc edx
add byte [eax + 0x20], dl
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [esi + 0x35], cl
inc edx
add byte [ecx], al
add byte [eax], al
add byte [eax + 0x2c], al
sub al, 0x42
sub al, 0x42
add dh, ah
sub al, 0x42
add byte [esi + 0x33], ah
inc edx
add byte [eax], al
xor eax, dword [edx]
add byte [ebx], dh
inc edx
add ah, cl
xor eax, dword [edx]
shr byte [edx + eax*2], 1
sub al, 66
sub al, 0x42
add byte [ecx + 0x2d], ah
inc edx
add byte [eax + 0x6700422d], dl
sub eax, 0x2dba0042
inc edx
add byte [eax + 0x5000422d], dl
sub eax, 0x2dc60042
inc edx
add byte [eax], ah
xor al, byte [edx]
and ch, byte [esi]
inc edx
add byte [eax + 0x2e], al
inc edx
add byte [eax + 0x2e], dl
inc edx
add byte [0x422f], cl
xor byte [edx], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
dec esi
xor eax, 65602
add byte [eax], al
invalid