Function at 0x410705
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x440
mov eax, dword [0x43fba0]
mov dword [esp + 0x40], 0xc3adc18d
mov dword [esp + 0x44], 0xc7afc55e
mov dword [esp + 0x48], 0xcba6c9a4
mov dword [esp + 0x4c], 0xcfe1cdad
mov dword [esp + 0x50], 0xf3dcf1a5
mov dword [esp + 0x54], 0xf7d6f5a4
mov dword [esp + 0x58], 0xfb8df9d0
mov dword [esp + 0x5c], 0xff90fd95
mov dword [esp + 0x60], 0xe38de184
mov dword [esp + 0x64], 0xe775e573
mov dword [esp + 0x68], 0xeba4e9c8
mov dword [esp + 0x6c], 0xefceed98
mov dword [esp + 0x70], 0x13421141
mov dword [esp + 0x74], 0x1746153a
mov dword [esp + 0x78], 0x1b3a1943
mov dword [esp + 0x7c], 0x1f771d6b
mov dword [esp + 0x80], 0x354016e
mov dword [esp + 0x84], 0x75d0550
mov dword [esp + 0x88], 0xb920928
mov dword [esp + 0x8c], 0xf5a0d5a
mov dword [esp + 0x90], 0x33123119
mov dword [esp + 0x94], 0x37a63575
mov dword [esp + 0x98], 0x3b5639a8
mov dword [esp + 0x9c], 0x3f493d59
mov dword [esp + 0xa0], 0x23402145
mov dword [esp + 0xa4], 0x274f256f
mov dword [esp + 0xa8], 0x2b0529bc
mov dword [esp + 0xac], 0x2f7d2d79
mov dword [esp + 0xb0], 0x537c5107
mov dword [esp + 0xb4], 0x57005507
mov dword [esp + 0xb8], 0x5b725978
mov dword [esp + 0xbc], 0x5f165d17
mov dword [esp + 0xc0], 0x430f4134
mov dword [esp + 0xc4], 0x476a4508
mov dword [esp + 0xc8], 0x4b264968
mov dword [esp + 0xcc], 0x4f254d25
mov dword [esp + 0xd0], 0x73527115
mov dword [esp + 0xd4], 0x77137533
mov dword [esp + 0xd8], 0x7b11791b
mov dword [esp + 0xdc], 0x7f577d13
mov dword [esp + 0xe0], 0x63216140
mov dword [esp + 0xe4], 0x67f4650c
mov dword [esp + 0xe8], 0x6b076907
mov dword [esp + 0xec], 0x6f416d09
mov dword [esp + 0xf0], 0x93c391c1
mov dword [esp + 0xf4], 0x97b895cd
mov dword [esp + 0xf8], 0x9bb499c8
mov dword [esp + 0xfc], 0x9fb09dcc
mov dword [esp + 0x100], 0x83a281d0
mov dword [esp + 0x104], 0x87e785f7
mov dword [esp + 0x108], 0x8beb89ee
mov dword [esp + 0x10c], 0x8fe78d1e
mov dword [esp + 0x110], 0xb3e7b19f
mov dword [esp + 0x114], 0xb7e1b5e7
mov dword [esp + 0x118], 0xbbe9b996
mov dword [esp + 0x11c], 0xbfbebdea
mov word [esp + 0x120], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xe1
ja 0x40c4a3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x40]
add ecx, 0xd4276a50
xor ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 0x70
mov edx, dword [esp]
mov byte [esp + edx + 0x40], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xe2
jb 0x40c470
lea ebp, [esp + 0x40]
push 0
push 0
push 0
push 0
push ebp
call eax
mov ebx, eax
xor eax, eax
test ebx, ebx
setne al
xor esi, esi
xor edi, edi
jmp dword [eax*4 + 0x43acf0]
mov ecx, dword [esp + 0x454]
mov eax, dword [0x43fba4]
mov dword [esp + 0x40], 0x4f4e4887
mov word [esp + 0x44], 0
mov dword [esp], 0
mov edx, dword [esp]
cmp edx, 5
ja 0x40c520
mov edx, dword [esp]
mov esi, dword [esp]
movzx esi, byte [esp + esi + 0x40]
add edx, 0x144904f2
xor edx, esi
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x10]
add dl, 0x46
mov esi, dword [esp]
mov byte [esp + esi + 0x40], dl
inc dword [esp]
mov edx, dword [esp]
cmp edx, 6
jb case.default.0x40c537
movzx edx, word [esp + 0x40]
push 0
push edx
push ecx
push ebx
call eax
xor ecx, ecx
mov dword [esp + 8], eax
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43acf8]
xor edi, edi
xor esi, esi
jmp dword [0x43ad7c]
mov dword [esp + 4], ebx
mov edi, dword [0x43fba8]
mov dword [esp + 0xc], 0xc94acbcc
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 3
ja 0x40c5a3
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0xc]
add eax, 0xf95c8d3
xor eax, ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
add al, 0xe1
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0xc], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 4
jb 0x40c570
mov ebx, dword [esp + 0x458]
mov esi, dword [esp + 0xc]
jmp dword [0x43ad00]
mov dword [esp + 0x10], 0x41d74709
mov dword [esp + 0x14], 0x4dd743d1
mov dword [esp + 0x18], 0x49e14fe7
mov dword [esp + 0x1c], 0xb52a4b12
mov dword [esp + 0x20], 0xb117b715
mov dword [esp + 0x24], 0xbd1cb31d
mov dword [esp + 0x28], 0xb929bf1d
mov dword [esp + 0x2c], 0xa51bbb21
mov dword [esp + 0x30], 0xa13da706
mov dword [esp + 0x34], 0xade5a330
mov word [esp + 0x38], 0xafac
mov dword [esp + 0x3a], 0
mov word [esp + 0x3e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2f
ja 0x40c65e
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x10]
add eax, 0xf1a8da71
xor eax, ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
add al, 0xcb
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x30
jb 0x40c630
movzx eax, word [esp + 0x10]
test ax, ax
je 0x40c682
lea ebp, [esp + 0x40]
lea ecx, [esp + 0x12]
mov word [ebp], ax
add ebp, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c670
mov word [ebp], 0
movzx eax, word [0x43fcda]
test ax, ax
je 0x40c6b6
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebp + ecx], ax
movzx eax, word [ecx + 0x43fcdc]
add ecx, 2
test ax, ax
jne 0x40c6a0
add ebp, ecx
mov word [ebp], 0
lea eax, [esp + 0x40]
push 0x20000000
push 0xffffffffffffffff
push eax
push esi
call dword [0x43fbb4]
mov ecx, dword [esp + 0x45c]
mov eax, ecx
neg eax
mov eax, 0
sbb eax, eax
push 0
mov edx, dword [esp + 0x468]
push edx
push edx
push dword [esp + 0x46c]
push eax
push ecx
mov ebp, esi
xor esi, esi
push ebp
call dword [0x43fbb8]
xor ecx, ecx
test eax, eax
setne cl
xor edi, edi
jmp dword [ecx*4 + 0x43ad20]
jmp dword [0x43ad28]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43ad98]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x43ada0]
jmp dword [0x43ada8]
mov dword [eax], edi
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x43adb8]
lea eax, [esp + 0x40]
push eax
push ebp
call dword [0x43fbc0]
test eax, eax
setne cl
mov eax, dword [esp + 0x40]
test eax, eax
setne dl
and dl, cl
movzx ecx, dl
jmp dword [ecx*4 + 0x43ad40]
mov esi, ebx
add eax, ebx
inc eax
push eax
push edi
call fcn.00433a10
add esp, 8
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x43ad48]
mov dword [esp + 0x10], 0
mov ecx, eax
add ecx, esi
lea edx, [esp + 0x10]
push edx
push dword [esp + 0x44]
push ecx
push ebp
mov edi, eax
call dword [0x43fbc4]
add esi, dword [esp + 0x10]
mov ebx, esi
mov eax, 1
jmp dword [eax*4 + 0x43ad50]
xor eax, eax
jmp dword [eax*4 + 0x43ad50]
jmp dword [eax*4 + 0x43ad58]
jmp 0x40c750
xor eax, eax
test edi, edi
setne al
mov esi, ebx
jmp dword [eax*4 + 0x43ad60]
mov byte [edi + esi], 0
mov ebx, dword [esp + 4]
jmp case.0x40c4bf.12
push ebx
call dword [0x43fbcc]
push ebx
call dword [0x43fbcc]
jmp dword [0x43ad84]
mov ebx, esi
mov esi, dword [esp + 0x46c]
mov eax, dword [esp + 0x468]
mov ecx, dword [case.0x40c4bf.26]
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
test eax, eax
setne cl
xor esi, esi
xor edi, edi
jmp dword [ecx*4 + 0x43ad38]
push ebp
call dword [0x43fbcc]
jmp 0x40c9b8
mov dword [esp + 0x40], 0
xor ebx, ebx
xor edi, edi
jmp 0x40c750
push 0
push ebp
call dword [0x43fbbc]
push 0
push ebp
call dword [0x43fbbc]
jmp dword [0x43ad34]
mov dword [esi], ebx
nop
nop
nop
nop
nop
jmp dword [0x43adc8]
test edi, edi
setne al
add esp, 0x440
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, eax
movzx eax, byte [0x43fcd8]
mov ebx, dword [esp + 4]
jmp dword [eax*4 + 0x43ad18]
mov dword [esp + 0x40], 0xb7458978
mov dword [esp + 0x44], 0xb34eb54b
mov word [esp + 0x48], 0xb1b0
mov dword [esp + 0x4a], 0
mov byte [esp + 0x4e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xe
ja 0x40c90e
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x40]
add eax, 0x3498105e
xor eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0x2a
mov ecx, dword [esp]
mov byte [esp + ecx + 0x40], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xf
jb 0x40c8e0
push esi
push 0
push 0
push 0
push ebx
push ebp
push dword [esp + 0x20]
call edi
jmp dword [0x43ad08]
mov dword [esp + 0x40], 0xb7458978
mov dword [esp + 0x44], 0xb34eb54b
mov word [esp + 0x48], 0xb1b0
mov dword [esp + 0x4a], 0
mov byte [esp + 0x4e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xe
ja 0x40c98e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x40]
add eax, 0x3498105e
xor eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0x2a
mov ecx, dword [esp]
mov byte [esp + ecx + 0x40], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xf
jb 0x40c960
push esi
push 0
push 0
push 0
push ebx
push ebp
push dword [esp + 0x20]
call edi
jmp case.0x40c537.2
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43ad10]
xor esi, esi
xor edi, edi
mov ebx, dword [esp + 4]
push dword [esp + 8]
call dword [0x43fbcc]
jmp dword [0x43ad7c]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x43adb8]
push edi
call fcn.00431bc0
add esp, 4
push edi
call fcn.00431bc0
add esp, 4
jmp dword [0x43adb4]
xor eax, eax
mov ecx, dword [ebp + 0x20]
test ecx, ecx
setg al
mov ebx, dword [ebp - 0x28]
jmp dword [eax*4 + 0x43ae18]
mov esi, dword [0x43fbb0]
mov ebx, dword [ebp - 0x18]
jmp dword [0x43ae20]
xor eax, eax
mov edx, dword [ebp + 0xc]
mov ecx, edx
neg ecx
sbb eax, eax
push 0
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push edx
mov edi, dword [ebp - 0x18]
push edi
call dword [0x43fbb8]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43ae68]
xor ebx, ebx
jmp 0x40d392
mov esi, edi
mov edi, dword [ebp + 0x18]
jmp dword [0x43ae74]
mov dword [ebp - 0x24], eax
mov ebx, dword [0x43fba8]
mov eax, dword [ebp - 0x30]
mov dword [eax], 0xf8e0908
mov dword [eax + 4], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 7
ja 0x40cabc
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [eax + edx]
add ecx, 0x280faa02
xor ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
add cl, 0xf6
mov edx, dword [ebp - 0x10]
mov byte [eax + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 8
jb 0x40ca90
mov ecx, dword [eax]
mov esi, dword [ebp - 0x18]
mov dword [esi], 0x81d787d4
mov dword [esi + 4], 0x8dde83dd
mov word [esi + 8], 0x8f8c
mov dword [esi + 0xa], 0
mov byte [esi + 0xe], 0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0xe
ja 0x40cb25
nop
nop
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
movzx esi, byte [eax + esi]
add edx, 0x5b36c6a1
xor edx, esi
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x14]
add dl, 0xdb
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov byte [eax + esi], dl
mov esi, dword [ebp - 0x18]
inc dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
cmp edx, 0xf
jb 0x40caf0
push ecx
push 0
push 0
push 0
push dword [ebp + 8]
push esi
mov esi, dword [ebp - 0x24]
push esi
call ebx
xor ecx, ecx
mov dword [ebp - 0x18], eax
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43ae00]
xor ebx, ebx
jmp 0x40d39c
jmp dword [0x43ae10]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43adf0]
xor ebx, ebx
jmp 0x40cbe2
mov ecx, dword [0x43fba4]
mov dword [esi], 0xc3c2c01b
mov byte [esi + 4], 0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 4
ja 0x40cbbc
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [esi + ebx]
add edx, 0xcc85bc50
xor edx, ebx
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x14]
add dl, 0x70
mov ebx, dword [ebp - 0x10]
mov byte [esi + ebx], dl
inc dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
cmp edx, 5
jb 0x40cb90
movzx edx, word [esi]
push 0
push edx
push 0x43fbd4
mov dword [ebp - 0x2c], eax
push eax
call ecx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43adf8]
xor ebx, ebx
jmp 0x40d3a3
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
sub esp, 0xe0
mov eax, esp
sub esp, 8
mov esi, esp
sub esp, 8
mov dword [ebp - 0x30], esp
sub esp, 0x10
mov dword [ebp - 0x18], esp
sub esp, 0x200
mov dword [ebp - 0x1c], esp
sub esp, 0x2c
mov dword [ebp - 0x20], esp
sub esp, 8
mov edi, esp
push eax
mov dword [ebp - 0x28], esp
mov ecx, dword [0x43fba0]
mov dword [eax], 0x239d21fd
mov dword [eax + 4], 0x279f25ae
mov dword [eax + 8], 0x3b863984
mov dword [eax + 0xc], 0x3fc13d9d
mov dword [eax + 0x10], 0x33cc31c5
mov dword [eax + 0x14], 0x37d635c4
mov dword [eax + 0x18], 0xbdd09f0
mov dword [eax + 0x1c], 0xfb00db5
mov dword [eax + 0x20], 0x3bd01a4
mov dword [eax + 0x24], 0x7b505b3
mov dword [eax + 0x28], 0x1bc419f8
mov dword [eax + 0x2c], 0x1ffe1dc8
mov dword [eax + 0x30], 0x13e211e1
mov dword [eax + 0x34], 0x17e615ea
mov dword [eax + 0x38], 0xeb0ae923
mov dword [eax + 0x3c], 0xef57ed3b
mov dword [eax + 0x40], 0xe314e15e
mov dword [eax + 0x44], 0xe72de510
mov dword [eax + 0x48], 0xfb72f918
mov dword [eax + 0x4c], 0xff0afd0a
mov dword [eax + 0x50], 0xf312f109
mov dword [eax + 0x54], 0xf746f535
mov dword [eax + 0x58], 0xcb76c978
mov dword [eax + 0x5c], 0xcf19cd69
mov dword [eax + 0x60], 0xc360c165
mov dword [eax + 0x64], 0xc77fc51f
mov dword [eax + 0x68], 0xdb25d96c
mov dword [eax + 0x6c], 0xdf2ddd29
mov dword [eax + 0x70], 0xd32cd127
mov dword [eax + 0x74], 0xd720d527
mov dword [eax + 0x78], 0xab52a948
mov dword [eax + 0x7c], 0xaf76ad77
mov dword [eax + 0x80], 0xa37fa174
mov dword [eax + 0x84], 0xa75aa578
mov dword [eax + 0x88], 0xbb06b958
mov dword [eax + 0x8c], 0xbf05bd05
mov dword [eax + 0x90], 0xb352b115
mov dword [eax + 0x94], 0xb713b573
mov dword [eax + 0x98], 0x8b31892b
mov dword [eax + 0x9c], 0x8f778d33
mov dword [eax + 0xa0], 0x83418160
mov dword [eax + 0xa4], 0x8734853c
mov dword [eax + 0xa8], 0x9b279927
mov dword [eax + 0xac], 0x9f619d39
mov dword [eax + 0xb0], 0x93639161
mov dword [eax + 0xb4], 0x9768955d
mov dword [eax + 0xb8], 0x6b946998
mov dword [eax + 0xbc], 0x6f906d9c
mov dword [eax + 0xc0], 0x63826190
mov dword [eax + 0xc4], 0x67c765b7
mov dword [eax + 0xc8], 0x7bdb79de
mov dword [eax + 0xcc], 0x7fc77dce
mov dword [eax + 0xd0], 0x7387718f
mov dword [eax + 0xd4], 0x77817587
mov dword [eax + 0xd8], 0x4bb949b6
mov dword [eax + 0xdc], 0x4f4e4dba
mov word [eax + 0xe0], 0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0xe1
ja 0x40ce3f
nop
nop
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [eax + ebx]
add edx, 0xc0376648
xor edx, ebx
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x14]
add dl, 0x98
mov ebx, dword [ebp - 0x10]
mov byte [eax + ebx], dl
inc dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
cmp edx, 0xe2
jb 0x40ce10
push 0
push 0
push 0
push 0
push eax
call ecx
jmp dword [0x43ade8]
push eax
sub esp, 0xe0
mov eax, esp
mov ecx, dword [0x43fba0]
mov dword [eax], 0x239d21fd
mov dword [eax + 4], 0x279f25ae
mov dword [eax + 8], 0x3b863984
mov dword [eax + 0xc], 0x3fc13d9d
mov dword [eax + 0x10], 0x33cc31c5
mov dword [eax + 0x14], 0x37d635c4
mov dword [eax + 0x18], 0xbdd09f0
mov dword [eax + 0x1c], 0xfb00db5
mov dword [eax + 0x20], 0x3bd01a4
mov dword [eax + 0x24], 0x7b505b3
mov dword [eax + 0x28], 0x1bc419f8
mov dword [eax + 0x2c], 0x1ffe1dc8
mov dword [eax + 0x30], 0x13e211e1
mov dword [eax + 0x34], 0x17e615ea
mov dword [eax + 0x38], 0xeb0ae923
mov dword [eax + 0x3c], 0xef57ed3b
mov dword [eax + 0x40], 0xe314e15e
mov dword [eax + 0x44], 0xe72de510
mov dword [eax + 0x48], 0xfb72f918
mov dword [eax + 0x4c], 0xff0afd0a
mov dword [eax + 0x50], 0xf312f109
mov dword [eax + 0x54], 0xf746f535
mov dword [eax + 0x58], 0xcb76c978
mov dword [eax + 0x5c], 0xcf19cd69
mov dword [eax + 0x60], 0xc360c165
mov dword [eax + 0x64], 0xc77fc51f
mov dword [eax + 0x68], 0xdb25d96c
mov dword [eax + 0x6c], 0xdf2ddd29
mov dword [eax + 0x70], 0xd32cd127
mov dword [eax + 0x74], 0xd720d527
mov dword [eax + 0x78], 0xab52a948
mov dword [eax + 0x7c], 0xaf76ad77
mov dword [eax + 0x80], 0xa37fa174
mov dword [eax + 0x84], 0xa75aa578
mov dword [eax + 0x88], 0xbb06b958
mov dword [eax + 0x8c], 0xbf05bd05
mov dword [eax + 0x90], 0xb352b115
mov dword [eax + 0x94], 0xb713b573
mov dword [eax + 0x98], 0x8b31892b
mov dword [eax + 0x9c], 0x8f778d33
mov dword [eax + 0xa0], 0x83418160
mov dword [eax + 0xa4], 0x8734853c
mov dword [eax + 0xa8], 0x9b279927
mov dword [eax + 0xac], 0x9f619d39
mov dword [eax + 0xb0], 0x93639161
mov dword [eax + 0xb4], 0x9768955d
mov dword [eax + 0xb8], 0x6b946998
mov dword [eax + 0xbc], 0x6f906d9c
mov dword [eax + 0xc0], 0x63826190
mov dword [eax + 0xc4], 0x67c765b7
mov dword [eax + 0xc8], 0x7bdb79de
mov dword [eax + 0xcc], 0x7fc77dce
mov dword [eax + 0xd0], 0x7387718f
mov dword [eax + 0xd4], 0x77817587
mov dword [eax + 0xd8], 0x4bb949b6
mov dword [eax + 0xdc], 0x4f4e4dba
mov word [eax + 0xe0], 0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0xe1
ja 0x40d07f
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x10]
movzx esi, byte [eax + esi]
add edx, 0xc0376648
xor edx, esi
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x14]
add dl, 0x98
mov esi, dword [ebp - 0x10]
mov byte [eax + esi], dl
inc dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
cmp edx, 0xe2
jb 0x40d050
push 0
push 0
push 0
push 0
push eax
call ecx
jmp case.0x40c4bf.61
movzx eax, byte [0x43fcd8]
mov esi, dword [ebp + 0x1c]
jmp dword [eax*4 + 0x43ae50]
jmp dword [0x43ae58]
mov edx, dword [ebp - 0x20]
mov dword [edx], 0x239d21e3
mov dword [edx + 4], 0x279d259b
mov dword [edx + 8], 0x3b9f3981
mov dword [edx + 0xc], 0x3fde3df6
mov dword [edx + 0x10], 0x339d319f
mov dword [edx + 0x14], 0x37903597
mov dword [edx + 0x18], 0xbb709a7
mov dword [edx + 0x1c], 0xfa10dbb
mov dword [edx + 0x20], 0x38b01a2
mov dword [edx + 0x24], 0x7cb05b4
mov dword [edx + 0x28], 0x1918
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x2b
ja 0x40d13a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edx + ecx]
add eax, 0xf9f69648
xor eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
add al, 0x98
mov ecx, dword [ebp - 0x10]
mov byte [edx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x2c
jb 0x40d110
movzx ecx, word [edx]
mov eax, dword [ebp - 0x1c]
test cx, cx
je 0x40d161
mov eax, dword [ebp - 0x20]
lea edx, [eax + 2]
mov eax, dword [ebp - 0x1c]
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x40d150
mov word [eax], 0
movzx ecx, word [0x43fcda]
test cx, cx
je 0x40d195
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax + edx], cx
movzx ecx, word [edx + 0x43fcdc]
add edx, 2
test cx, cx
jne 0x40d180
add eax, edx
mov word [eax], 0
mov eax, dword [0x43fbb4]
mov edx, edi
mov dword [edi], 0x97b68988
mov word [edi + 4], 0
mov byte [edi + 6], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 6
ja 0x40d1ee
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [edi + edx]
add ecx, 0x445b9e1e
xor ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
add cl, 0x6a
mov edx, dword [ebp - 0x10]
mov byte [edi + edx], cl
mov edx, edi
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 7
jb 0x40d1c0
push dword [edx]
push 0xffffffffffffffff
push dword [ebp - 0x1c]
push dword [ebp - 0x18]
call eax
jmp case.0x40c4bf.90
push dword [edx]
push 0xffffffffffffffff
push dword [ebp - 0x1c]
push dword [ebp - 0x18]
call eax
jmp dword [0x43ae64]
mov edx, dword [ebp - 0x20]
mov dword [edx], 0x239d21e3
mov dword [edx + 4], 0x279d259b
mov dword [edx + 8], 0x3b9f3981
mov dword [edx + 0xc], 0x3fde3df6
mov dword [edx + 0x10], 0x339d319f
mov dword [edx + 0x14], 0x37903597
mov dword [edx + 0x18], 0xbb709a7
mov dword [edx + 0x1c], 0xfa10dbb
mov dword [edx + 0x20], 0x38b01a2
mov dword [edx + 0x24], 0x7cb05b4
mov dword [edx + 0x28], 0x1918
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x2b
ja 0x40d29a
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edx + ecx]
add eax, 0xf9f69648
xor eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
add al, 0x98
mov ecx, dword [ebp - 0x10]
mov byte [edx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x2c
jb 0x40d270
movzx ecx, word [edx]
mov eax, dword [ebp - 0x1c]
test cx, cx
je 0x40d2c1
mov eax, dword [ebp - 0x20]
lea edx, [eax + 2]
mov eax, dword [ebp - 0x1c]
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x40d2b0
mov word [eax], 0
movzx ecx, word [0x43fcda]
test cx, cx
je 0x40d2f5
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax + edx], cx
movzx ecx, word [edx + 0x43fcdc]
add edx, 2
test cx, cx
jne 0x40d2e0
add eax, edx
mov edx, edi
lea ecx, [edi + 4]
mov word [eax], 0
mov eax, dword [0x43fbb4]
mov dword [edi], 0x97b68988
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 6
ja 0x40d200
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [edi + edx]
add ecx, 0x445b9e1e
xor ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
add cl, 0x6a
mov edx, dword [ebp - 0x10]
mov byte [edi + edx], cl
mov edx, edi
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 7
jb 0x40d330
jmp 0x40d200
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
mov edi, esi
jmp dword [ecx*4 + 0x43ae80]
push 0
push edi
call dword [0x43fbbc]
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x43ae88]
jmp 0x40d392
mov bl, 1
mov esi, dword [ebp - 0x24]
push edi
call dword [0x43fbcc]
push esi
call dword [0x43fbcc]
push dword [ebp - 0x2c]
call dword [0x43fbcc]
jmp 0x40cbe2
mov eax, dword [case.0x40cb40.6]
mov ebx, dword [ebp - 0x28]
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [ebx], 0
push ebx
push dword [ebp + 0x1c]
push edi
push esi
call dword [0x43fbc8]
mov dword [ebx], 0
push ebx
push dword [ebp + 0x1c]
push edi
push esi
call dword [0x43fbc8]
jmp dword [0x43ae78]
push ecx
push ecx
push ecx
push ecx
push ebx
call esi
mov ecx, dword [ebp + 0x20]
push ecx
push ecx
push ecx
push ecx
push ebx
call esi
mov ecx, dword [ebp + 0x20]
jmp dword [0x43ae28]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x43b664]
mov word [esp + 0x48], 0x1f85
mov word [ebx + 4], 0
mov dword [ebx], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x410354
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x48]
add eax, 0x4e1e9685
xor eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
add al, 0x67
mov ecx, dword [esp]
mov byte [esp + ecx + 0x48], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x410320
push edi
push esi
call fcn.00402d70
add esp, 8
mov dword [esp + 0x18], eax
mov word [esp + 0x48], 0x1f8c
mov byte [ebx + 4], 0
mov dword [ebx], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 6
ja 0x4103db
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x48]
lea edx, [eax + ecx]
add edx, 0xbbb2c005
add eax, 0xbbb2c005
and eax, ecx
mov ecx, edx
xor ecx, eax
add ecx, eax
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
add al, 0xe7
mov ecx, dword [esp]
mov byte [esp + ecx + 0x48], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 7
jb 0x410390
push edi
push esi
call fcn.00402d70
add esp, 8
mov dword [esp + 0x20], eax
mov dword [esp], 0xc753
mov dword [esp + 0xb4], 0
mov eax, dword [esp + 0xb4]
cmp eax, 3
ja 0x410450
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb4]
movzx ecx, byte [esp + ecx]
add eax, 0x1a7c1eb1
xor eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0x8b
mov ecx, dword [esp + 0xb4]
mov byte [esp + ecx], al
inc dword [esp + 0xb4]
mov eax, dword [esp + 0xb4]
cmp eax, 4
jb 0x410410
mov eax, esp
push eax
push esi
call fcn.00402fd0
add esp, 8
mov dword [esp + 0x24], eax
mov word [esp + 0x48], 0xfb7a
mov byte [ebx + 2], 0
mov word [ebx], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x4104b4
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x48]
add eax, 0xac7652b
xor eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
add al, 0x29
mov ecx, dword [esp]
mov byte [esp + ecx + 0x48], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x410480
push edi
push esi
call fcn.00402d70
add esp, 8
mov dword [esp + 0xb0], eax
mov word [esp + 0x48], 0xcb50
mov byte [ebx + 2], 0
mov word [ebx], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x410524
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x48]
add eax, 0x83b3d633
xor eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
inc al
mov ecx, dword [esp]
mov byte [esp + ecx + 0x48], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x4104f0
push edi
push esi
call fcn.00402ea0
add esp, 8
mov dword [esp], 0x22b2c6
fnstcw word [esp + 0x10e]
movzx eax, word [esp + 0x10e]
or eax, 0xc00
mov word [esp + 0x11e], ax
fldcw word [esp + 0x11e]
fistp dword [esp + 0x13c]
fldcw word [esp + 0x10e]
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x28], eax
mov dword [esp + 0xb4], 0
mov eax, dword [esp + 0xb4]
cmp eax, 3
ja 0x4105e7
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb4]
movzx edx, byte [esp + ecx]
lea ecx, [eax + edx]
add ecx, 0x8981b0f8
add eax, 0x8981b0f8
and eax, edx
mov edx, ecx
not edx
and edx, eax
add edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0x28
mov ecx, dword [esp + 0xb4]
mov byte [esp + ecx], al
inc dword [esp + 0xb4]
mov eax, dword [esp + 0xb4]
cmp eax, 4
jb 0x410590
mov eax, esp
push eax
push esi
call fcn.00402ea0
add esp, 8
xor ebx, ebx
mov edi, 0xfffffffe
mov eax, dword [esp + 0x18]
nop
nop
add edi, 2
cmp byte [eax + ebx], 0
lea ebx, [ebx + 1]
jne 0x410600
fnstcw word [esp + 0x10c]
movzx eax, word [esp + 0x10c]
or eax, 0xc00
mov word [esp + 0x11c], ax
fldcw word [esp + 0x11c]
fistp dword [esp + 0x138]
fldcw word [esp + 0x10c]
mov eax, dword [esp + 0x138]
mov dword [esp + 0x34], eax
lea eax, [edi + 2]
test ebx, ebx
jns 0x410654
mov eax, 0xffffffff
push eax
call fcn.004095a0
add esp, 4
mov dword [esp + 0x48], 0
add edi, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x1c], eax
cmp eax, edi
mov ecx, dword [esp + 0x18]
jae 0x4106c4
lea esi, [ecx + ebx]
dec esi
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc], eax
cmp ecx, esi
jae 0x4106c4
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc], eax
cmp byte [ecx], 0
je 0x4106c4
lea eax, [esp + 0x48]
push eax
push esi
push ecx
mov ebx, ecx
call fcn.0040d410
add esp, 0xc
movzx ecx, word [esp + 0x48]
mov edx, dword [esp + 0xc]
mov word [edx], cx
add edx, 2
mov dword [esp + 0xc], edx
cmp edx, edi
jae 0x4106c4
add ebx, eax
cmp ebx, esi
mov ecx, ebx
jb 0x41068f
mov eax, dword [esp + 0xc]
mov word [eax], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
lea ecx, [esp + 0xb4]
mov esi, dword [esp + 0x1c]
push esi
call fcn.00431c50
jmp dword [0x43b67c]
push esi
call fcn.004095b0
add esp, 4
lea ecx, [esp + 0xb4]
push 0x400
call fcn.00431e70
not eax
shr eax, 0x1f
lea ebx, [esp + 0x4a]
jmp dword [eax*4 + 0x43b684]
jmp dword [0x43b614]
push dword [esp + 0x20]
call fcn.004095b0
add esp, 4
lea esi, [esp + 0x48]
mov ecx, esi
call fcn.0040a760
mov ecx, esi
call fcn.00409ee0
mov eax, dword [case.0x40f06f.1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov edi, dword [esp + 0x12c]
inc edi
mov ecx, eax
nop
nop
nop
nop
nop
nop
nop
mov esi, ecx
inc ecx
cmp byte [esi], 0
jne 0x4112c0
mov ecx, esi
mov dword [esp + 0x24], eax
sub ecx, eax
mov eax, ecx
mov dword [esp + 0x128], ecx
lea edi, [ecx + 1]
lea eax, [edi + edi]
mov dword [esp + 0x124], eax
mov dword [esp + 0x28], edi
jmp dword [0x43b5ec]
mov eax, 0xffffffff
test edi, edi
js 0x411300
mov eax, dword [esp + 0x124]
push eax
call fcn.004095a0
add esp, 4
mov dword [esp + 0xb4], 0
lea ecx, [eax + edi*2]
add ecx, 0xfffffffe
mov edi, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], ecx
cmp eax, ecx
jae 0x411390
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x24], esi
jae 0x411390
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x128]
add eax, ebx
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x18]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x411390
lea eax, [esp + 0xb4]
push eax
push dword [esp + 0x20]
push ebx
call fcn.0040d410
add esp, 0xc
movzx ecx, word [esp + 0xb4]
mov word [edi], cx
add edi, 2
cmp edi, dword [esp + 0xc]
jae 0x411390
add ebx, eax
cmp ebx, esi
jb 0x411350
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
cmp dword [esp + 0x44], 0
setg al
mov word [edi], 0
push 0
push eax
push dword [esp + 0x48]
push dword [esp + 0xbc]
push dword [esp + 0x28]
push dword [esp + 0x34]
push dword [esp + 0x4c]
lea edi, [esp + 0x64]
push edi
call fcn.00417d30
add esp, 0x20
mov edi, dword [esp + 0x28]
jmp dword [0x43b5f8]
lea ebx, [esp + 0x4a]
mov esi, dword [esp + 0x120]
mov edi, dword [esp + 0x18]
jmp dword [0x43b5fc]
jmp dword [0x43b604]
push edi
call fcn.004095b0
add esp, 4
jmp dword [0x43b60c]
int3
enter 0x40, 0xffffffffffffffc6
les eax, [eax]
lds eax, ds:[eax]
dec eax
lds eax, [eax]
stosb byte es:[edi], al
enter 64, 0x23
leave
inc eax
add byte [edx + 0x230040c9], ah
leave
inc eax
add byte [eax - 0x69ffbf37], dh
enter 0x40, 0xffffffffffffffcf
mov byte [eax], 0xb4
lds eax, [eax]
inc esp
enter 64, 0x10
mov dword [eax], case.0x40c4bf.14
popal
enter 64, 0x61
enter 0x40, 0x32
enter 0x40, 0x44
enter 0x40, 0x50
enter 0x40, 0xffffffffffffffe5
mov dword [eax], case.0x40c4bf.21
xchg ebx, eax
mov dword [eax], case.0x40c4bf.23
in eax, 0xc7
inc eax
add cl, bl
mov dword [eax], case.0x40c4bf.26
loopne 0x43ad25
inc eax
add cl, bh
mov dword [eax], case.0x40c4bf.29
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
cmc
mov dword [eax], 1
inc edi
inc eax
add byte [esi], al
enter 0x40, 0xffffffffffffffff
mov dword [eax], case.0x40c4bf.0
xor al, cl
inc eax
add byte [eax], dh
enter 0x40, 0x30
enter 0x40, 0x16
mov dword [eax], case.0x40c4bf.42
cmp bh, al
inc eax
add al, cl
leave
inc eax
add byte [edx], dh
mov dword [eax], case.0x40c4bf.46
salc
leave
inc eax
add dh, dl
leave
inc eax
add al, cl
leave
inc eax
add byte [eax + 0x790040c8], al
enter 0x40, 0xffffffffffffff80
enter 0x40, 0xffffffffffffff80
enter 0x40, 0xffffffffffffff86
enter 0x40, 0xffffffffffffff80
enter 0x40, 1
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [esi], dl
mov dword [eax], 1
push eax
into
inc eax
add ah, ch
retf