Function at 0x423cc7
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x454
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x54], 0xa827aa22
mov dword [esp + 0x58], 0xa406a634
mov dword [esp + 0x5c], 0xa071a230
mov dword [esp + 0x60], 0x9c179e3c
mov dword [esp + 0x64], 0x989b9a00
mov byte [esp + 0x68], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x14
ja 0x420563
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x54]
add eax, 0xf5bf7cd3
xor eax, ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
add al, 0x82
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x54], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x15
jb case.default.0x420576
lea edi, [esp + 0x54]
lea ecx, [esp + 0x3c]
push edi
call fcn.0043a9c0
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x445ea0]
lea ecx, [esp + 0x3c]
push 0x410
call fcn.0043ac00
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x445ea8]
mov eax, dword [case.0x420576.1]
xor ebx, ebx
nop
nop
jmp eax
mov dword [esp + 0x54], 0xbbd0a9aa
mov dword [esp + 0x58], 0xa1b9dcb7
mov dword [esp + 0x5c], 0xbdb6b2de
mov dword [esp + 0x60], 0xc6adb7d2
mov dword [esp + 0x64], 0x512823c9
mov dword [esp + 0x68], 0x4e2f272a
mov dword [esp + 0x6c], 0x434a2f45
mov dword [esp + 0x70], 0x472c4524
mov dword [esp + 0x74], 0x3723273d
mov dword [esp + 0x78], 0x5f300426
mov dword [esp + 0x7c], 0xfa09303e
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x2b
ja 0x420643
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x54]
add eax, 0x26cb3ef
xor eax, ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
add al, 0x20
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x54], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x2c
jb 0x420610
lea eax, [esp + 0x30]
lea ecx, [esp + 0x3c]
push 0
push 0x2b
push edi
push eax
call fcn.0043b1f0
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
xor eax, eax
cmp ebx, esi
sete al
jmp dword [eax*4 + 0x445ec0]
mov eax, esi
xor eax, ebx
mov ecx, ebx
not ecx
and ecx, esi
add ecx, ecx
sub ecx, eax
sar ecx, 2
imul eax, ecx, 0x421
push eax
call fcn.00409840
add esp, 4
mov dword [esp + 0x28], 0
xor ecx, ecx
cmp ebx, esi
setne cl
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x50], esi
jmp dword [ecx*4 + 0x445ec8]
mov ebx, dword [esp + 0x28]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x445ed0]
mov esi, dword [esp + 0x24]
jmp dword [0x445f40]
add ebx, 4
xor eax, eax
mov esi, dword [esp + 0x50]
cmp ebx, esi
setne al
jmp dword [eax*4 + 0x445ec8]
mov esi, dword [ebx]
push 0x400
push 0
push edi
call fcn.004098c0
add esp, 0xc
lea eax, [esp + 4]
lea ecx, [esp + 0x3c]
push eax
push 0x400
push edi
push esi
call fcn.0043b090
cmp eax, 0xc0000000
setae al
cmp dword [esp + 4], 0
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x445ed8]
mov eax, 1
jmp dword [eax*4 + 0x445ee0]
xor eax, eax
jmp dword [eax*4 + 0x445ee0]
mov byte [esp + 0x453], 0
movzx eax, byte [esp + 0x54]
xor ebp, ebp
test al, al
je 0x420771
mov ecx, edi
nop
nop
cmp al, 0x2e
je 0x42076f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x420760
jmp 0x420771
mov ebp, ecx
xor eax, eax
test ebp, ebp
setne al
jmp dword [eax*4 + 0x445ee8]
movzx ecx, byte [ebp + 1]
inc ebp
xor eax, eax
test cl, cl
je 0x4207a2
mov edx, ebp
nop
nop
nop
nop
cmp cl, 0x2e
je 0x4207a0
movzx ecx, byte [edx + 1]
inc edx
test cl, cl
jne 0x420790
jmp 0x4207a2
mov eax, edx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x445ef0]
mov dword [esp + 0x4c], ebx
mov esi, eax
xor esi, ebp
mov ebx, ebp
not ebx
and ebx, eax
add ebx, ebx
mov ecx, ebx
sub ecx, esi
lea edx, [ecx + ecx*2]
shr edx, 2
movzx eax, byte [ebp + ecx - 1]
cmp eax, 0x3d
je 0x4207d9
cmp eax, 0x2e
jne 0x4207da
dec edx
movzx eax, byte [ebp + ecx - 2]
cmp eax, 0x3d
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], ecx
je 0x4207f1
cmp eax, 0x2e
jne 0x4207f2
dec edx
mov dword [esp + 0x48], edx
lea eax, [edx + 1]
push eax
call fcn.00409840
add esp, 4
mov dword [esp + 0x18], eax
cmp ebx, esi
jne 0x42086a
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x18]
mov byte [esi + eax], 0
push esi
call fcn.00402ac0
add esp, 4
mov ebp, eax
mov ebx, dword [esp + 0x4c]
jmp dword [0x445ef8]
push esi
call fcn.00409850
add esp, 4
push ebp
call fcn.004033d0
add esp, 4
mov ecx, dword [case.0x4207a9.7]
lea edi, [esp + 0x54]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x445f10]
mov esi, dword [esp + 0x10]
jmp dword [0x445f34]
xor edi, edi
mov esi, 2
jmp 0x420892
lea eax, [esi + 4]
add esi, 2
mov edi, ebx
cmp esi, ecx
mov esi, eax
jae 0x42080a
mov ebp, dword [esp + 0x20]
movzx eax, byte [ebp + esi - 2]
push eax
call fcn.00415dc0
add esp, 4
mov ebx, eax
movzx eax, byte [ebp + esi - 1]
push eax
call fcn.00415dc0
add esp, 4
shl bl, 2
mov ecx, eax
shr cl, 4
and cl, 3
or cl, bl
lea ebx, [edi + 1]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x2c], edi
mov byte [edx + edi], cl
mov ecx, dword [esp + 0x1c]
cmp esi, ecx
jae 0x420880
mov byte [esp + 3], al
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + esi]
push eax
call fcn.00415dc0
mov ecx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
je 0x420880
mov bh, byte [esp + 3]
shl bh, 4
mov byte [esp + 3], al
shr al, 2
and al, 0xf
or al, bh
mov edi, dword [esp + 0x2c]
lea ebx, [edi + 2]
mov edx, dword [esp + 0x18]
mov byte [edx + edi + 1], al
lea eax, [esi + 1]
cmp eax, ecx
jae 0x420880
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00415dc0
mov ecx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
movzx edx, byte [esp + 3]
je 0x420880
shl dl, 6
add al, dl
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x2c]
mov byte [edx + ebx + 2], al
add ebx, 3
jmp 0x420880
mov dword [esp + 4], 0xfa156760
mov byte [esp + 8], 0
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x14]
cmp ecx, 4
ja 0x4209b5
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x14]
movzx edx, byte [esp + edx + 4]
add ecx, 0xbf9b60aa
xor ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0xa9
mov edx, dword [esp + 0x14]
mov byte [esp + edx + 4], cl
inc dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
cmp ecx, 5
jb 0x420980
lea ecx, [esp + 4]
push ecx
push eax
call fcn.00403320
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x445f18]
mov edx, dword [esp + 0x10]
jmp dword [0x445f20]
movzx ecx, byte [eax]
test cl, cl
mov edx, dword [esp + 0x10]
je 0x4209fb
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x4209f0
mov word [edx], 0x203a
add edx, 2
jmp dword [0x445f20]
inc esi
mov al, 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], esi
jmp dword [0x445f34]
push ebp
call fcn.00403640
add esp, 4
mov dword [esp + 0x10], esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebp
call fcn.00403640
add esp, 4
jmp dword [0x445f38]
movzx eax, byte [esp + 0x54]
mov esi, edx
test al, al
je 0x420a5b
lea ecx, [esp + 0x55]
mov esi, edx
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x420a50
mov byte [esi], 0xa
jmp dword [0x445f2c]
movzx eax, byte [esp + 0x54]
mov esi, edx
mov ecx, edx
test al, al
je 0x420a8b
lea edx, [esp + 0x55]
mov ecx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x420a80
mov byte [ecx], 0xa
mov edx, esi
jmp case.0x4209ca.2
xor edi, edi
test ebx, ebx
jne 0x420b75
jmp 0x420b82
mov edx, dword [esp + 0x10]
mov byte [edx], 0
mov dword [esp + 0x54], 0x68757240
mov dword [esp + 0x58], 0x7c6a636c
mov dword [esp + 0x5c], 0x79637b60
mov dword [esp + 0x60], 0x77655bbe
mov dword [esp + 0x64], 0x40a47d70
mov dword [esp + 0x68], 0x767e7b66
mov dword [esp + 0x6c], 0x6469b46e
mov dword [esp + 0x70], 0x9e6b
mov byte [esp + 0x74], 0
mov esi, dword [esp + 0x24]
sub edx, esi
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x20
ja 0x420b43
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx + 0x54]
add eax, 0xf3abac2
xor eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0xbf
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x54], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x21
jb 0x420b10
lea eax, [esp + 0x54]
mov ecx, dword [esp + 0x468]
push edx
push esi
push eax
call fcn.0040a250
mov ebx, eax
jmp dword [0x445f40]
jmp dword [0x445f48]
and bl, 1
mov edi, ebx
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
test ebx, ebx
je 0x420b82
cmp ebx, esi
je 0x420b82
push ebx
call fcn.00409850
add esp, 4
mov ebx, edi
lea ecx, [esp + 0x3c]
call fcn.0043ad70
mov eax, ebx
add esp, 0x454
pop esi
pop edi
pop ebx
pop ebp
ret
push esi
call fcn.00409850
add esp, 4
push esi
call fcn.00409850
add esp, 4
jmp dword [0x445f54]
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x445fa0]
mov ecx, edi
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x420bf0
sub eax, edi
cmp eax, 0xffffffd9
jge 0x420f96
mov eax, 0xffffffff
jmp 0x420f99
jmp dword [0x445fb4]
xor eax, eax
jmp 0x421b03
xor ebx, ebx
test ecx, ecx
sete bl
xor edx, edx
jmp dword [ebx*4 + 0x445f98]
jmp dword [edx*4 + 0x445f58]
mov dword [esp + 0x2c], 0xdb0ad97a
mov dword [esp + 0x30], 0xa76da515
mov dword [esp + 0x34], 0xa37da16d
mov dword [esp + 0x38], 0xaf7ead7e
mov dword [esp + 0x3c], 0xab0ca975
mov dword [esp + 0x40], 0xb777b57d
mov dword [esp + 0x44], 0xb378b17b
mov dword [esp + 0x48], 0xbf6abd79
mov dword [esp + 0x4c], 0xbb1cb971
mov dword [esp + 0x50], 0x87558567
mov dword [esp + 0x54], 0x835c8148
mov dword [esp + 0x58], 0x8f4f8d5b
mov dword [esp + 0x5c], 0x8b47895c
mov dword [esp + 0x60], 0x974a952e
mov dword [esp + 0x64], 0x93249135
mov dword [esp + 0x68], 0x9f339d2c
mov dword [esp + 0x6c], 0x9b45993a
mov dword [esp + 0x70], 0x67cb6526
mov dword [esp + 0x74], 0x63d761c5
mov word [esp + 0x78], 0x6d62
mov dword [esp + 0x7a], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x51
ja 0x420d20
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x2c]
add ecx, 0x2f801cbb
xor ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0x9b
mov edx, dword [esp]
mov byte [esp + edx + 0x2c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x52
jb 0x420cf0
lea ecx, [esp + 0x1c]
lea ebp, [esp + 0x2c]
push 0
push 0
push eax
push ecx
push ebp
call fcn.0043f140
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x445f60]
lea ebx, [esp + 0x94]
lea eax, [esp + 0x28]
push ebx
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x3c]
call fcn.0043f5b0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x445f68]
mov ecx, dword [esp + 0x94]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x420d88
mov eax, 0xffffffff
push eax
call fcn.00409840
add esp, 4
mov esi, eax
mov dword [esp + 0x2c], 0xe82996cc
mov dword [esp + 0x30], 0xec5fea5a
mov dword [esp + 0x34], 0xe053ee4c
mov dword [esp + 0x38], 0xe4b3e25d
mov dword [esp + 0x3c], 0xf853e644
mov dword [esp + 0x40], 0xfcfbfa41
mov dword [esp + 0x44], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1b
ja 0x420e0e
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x2c]
add eax, 0x4261773d
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0x58
mov ecx, dword [esp]
mov byte [esp + ecx + 0x2c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1c
jb 0x420de0
push ebx
push esi
push 0
push ebp
push dword [esp + 0x2c]
call fcn.0043fc40
add esp, 0x14
shr eax, 0x1f
mov edi, esi
jmp dword [eax*4 + 0x445f70]
xor edi, edi
jmp dword [0x445f78]
push esi
call fcn.00409850
add esp, 4
nop
nop
nop
nop
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], 0x5e59585b
lea ecx, [esp + 0x30]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x420ea0
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x2c]
add ecx, 0xdffcae61
xor ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0xc5
mov edx, dword [esp]
mov byte [esp + edx + 0x2c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x420e70
mov ecx, dword [0x449d78]
test ecx, ecx
je case.default.0x420f17
mov edx, dword [esp + 0x2c]
xor esi, esi
mov ebx, dword [0x449d7c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x625b6034
je 0x420eeb
inc esi
cmp ecx, esi
jne 0x420ec0
jmp case.default.0x420f17
mov ecx, 4
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x445f90]
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
je case.default.0x420f17
push eax
push 1
push dword [0x449d80]
push ecx
call fcn.0043c880
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x445f80]
push ebp
call fcn.0043e710
add esp, 4
cmp dword [esp + 0x2c], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x445f88]
xor ecx, ecx
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x445f90]
mov ecx, 2
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x445f90]
mov ecx, 2
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x445f90]
add eax, 0x26
push eax
call fcn.00409840
add esp, 4
mov ebp, eax
mov dword [esp + 0x2c], 0x6d0b6f12
mov dword [esp + 0x30], 0x91029301
mov dword [esp + 0x34], 0x95fd97fc
mov dword [esp + 0x38], 0x99e49bf1
mov dword [esp + 0x3c], 0x9d0f9ff9
mov dword [esp + 0x40], 0x81ea8310
mov dword [esp + 0x44], 0x85ef87ef
mov dword [esp + 0x48], 0x89128bd8
mov dword [esp + 0x4c], 0x8de68fea
mov dword [esp + 0x50], 0xb3b2
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x27
ja 0x42103e
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 + 0x2c]
add eax, 0x9131e5fc
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0x6e
mov ecx, dword [esp]
mov byte [esp + ecx + 0x2c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x28
jb 0x421010
movzx ecx, word [edi]
mov eax, ebp
test cx, cx
je 0x421061
lea edx, [edi + 2]
mov eax, ebp
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x421050
mov word [eax], 0
movzx ecx, word [esp + 0x2c]
test cx, cx
je 0x421091
lea edx, [esp + 0x2e]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x421080
mov word [eax], 0
jmp dword [0x445fb8]
push edi
call fcn.00409850
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x445fc8]
xor eax, eax
cmp word [ebp], 0x5b
sete al
jmp dword [eax*4 + 0x445fd0]
mov dword [esp + 0x2c], 0x7eb960bc
mov dword [esp + 0x30], 0x7a867c99
mov dword [esp + 0x34], 0x76857888
mov dword [esp + 0x38], 0x7284748f
mov dword [esp + 0x3c], 0xeeb7088
mov dword [esp + 0x40], 0xafa0cf0
mov dword [esp + 0x44], 0x6fd08fb
mov dword [esp + 0x48], 0x2fa04f2
mov dword [esp + 0x4c], 0x1e950033
mov dword [esp + 0x50], 0x1ae11ce1
mov dword [esp + 0x54], 0x1819
mov byte [esp + 0x58], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2c
ja 0x42116e
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 + 0x2c]
add eax, 0x7a9140ae
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0x31
mov ecx, dword [esp]
mov byte [esp + ecx + 0x2c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2d
jb 0x421140
lea eax, [esp + 0x2c]
push 0
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea ebx, [esp + 0x1c]
push 0x60
push 3
push 0x120089
push ebx
push ebp
call fcn.0043e920
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x445fd8]
xor esi, esi
xor edi, edi
jmp dword [0x446048]
push ebp
call fcn.00409850
add esp, 4
xor eax, eax
cmp esi, edi
sete al
jmp dword [eax*4 + 0x446060]
xor eax, eax
test esi, esi
jne 0x421ac9
jmp 0x421b03
mov dword [esp + 0x90], ebp
lea eax, [esp + 0x28]
push 0
push eax
push dword [esp + 0x24]
call fcn.0043ecb0
add esp, 0xc
not eax
shr eax, 0x1f
xor edi, edi
xor ebp, ebp
jmp dword [eax*4 + 0x445fe0]
mov esi, dword [esp + 0x28]
lea eax, [esi + 1]
push eax
call fcn.00409840
add esp, 4
push 0
push esi
mov dword [esp + 0x88], eax
push eax
push dword [esp + 0x28]
call fcn.0043edb0
add esp, 0x10
not eax
shr eax, 0x1f
xor edi, edi
xor ebp, ebp
jmp dword [eax*4 + 0x445fe8]
mov edi, dword [esp + 0x80]
jmp dword [0x445ff4]
mov esi, dword [esp + 0x28]
mov byte [edi + esi], 0
push 0x20
call fcn.00409840
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov ecx, eax
push esi
push edi
call fcn.00423de0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 0x28]
mov byte [edi + esi], 0
push 0x20
call fcn.00409840
add esp, 4
mov ebx, eax
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov ecx, eax
push esi
push edi
call fcn.00423de0
jmp dword [0x445ffc]
mov dword [esp + 0x84], ebx
movzx eax, al
xor edi, edi
xor ebp, ebp
jmp dword [eax*4 + 0x446000]
mov dword [esp + 0x2c], 0xeffcf613
mov dword [esp + 0x30], 0x20cfc13
mov dword [esp + 0x34], 0xffbf7cf
mov dword [esp + 0x38], 0xe4c1081a
mov dword [esp + 0x3c], 0x6f30c1c
mov dword [esp + 0x40], 0xecedccdb
mov dword [esp + 0x44], 0x71c041f
mov dword [esp + 0x48], 0x8517
mov byte [esp + 0x4c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x20
ja 0x42137e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x2c]
add eax, 0xe0d26ffc
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0x64
mov ecx, dword [esp]
mov byte [esp + ecx + 0x2c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x21
jb 0x421350
lea eax, [esp + 0x2c]
mov ecx, dword [esp + 0x84]
push eax
call fcn.00423fd0
xor ecx, ecx
test eax, eax
setne cl
xor ebp, ebp
jmp dword [ecx*4 + 0x446008]
jmp dword [0x446018]
mov esi, dword [esp + 0x84]
mov ecx, esi
call fcn.00424130
push esi
call fcn.00409850
add esp, 4
nop
nop
nop
nop
jmp dword [0x44602c]
jmp dword [0x446030]
push dword [esp + 0x80]
call fcn.00409850
add esp, 4
mov ebx, edi
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], 0x5e59585b
mov word [esp + 0x30], 0
mov byte [esp + 0x32], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x421440
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 + 0x2c]
add ecx, 0xdffcae61
xor ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0xc5
mov edx, dword [esp]
mov byte [esp + edx + 0x2c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x421410
mov ecx, dword [0x449d78]
test ecx, ecx
je 0x42147c
mov edx, dword [esp + 0x2c]
xor esi, esi
mov edi, dword [0x449d7c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x421470
inc esi
cmp ecx, esi
jne 0x421460
jmp 0x42147c
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x421980
mov edi, ebx
mov esi, ebp
lea ebx, [esp + 0x1c]
mov ebp, dword [esp + 0x90]
jmp dword [0x446048]
xor eax, eax
cmp esi, edi
sete al
jmp dword [eax*4 + 0x446060]
mov eax, edi
mov dword [esp + 0x14], esi
sub eax, esi
sar eax, 3
mov ecx, eax
and ecx, 0x421
mov edx, eax
or eax, 0x421
imul eax, ecx
xor ecx, 0x421
and edx, 0xfffffbde
imul edx, ecx
add eax, edx
push eax
call fcn.00409840
add esp, 4
mov dword [esp + 0x20], eax
mov eax, dword [0x449d74]
mov dword [esp + 0x2c], 0x9f289d7d
mov dword [esp + 0x30], 0x9b05990f
mov dword [esp + 0x34], 0x97009539
mov dword [esp + 0x38], 0x93009155
mov dword [esp + 0x3c], 0x8f308d02
mov dword [esp + 0x40], 0x8b04892d
mov dword [esp + 0x44], 0x875b8529
mov dword [esp + 0x48], 0x832d8122
mov dword [esp + 0x4c], 0x7fe37d0e
mov dword [esp + 0x50], 0x7bef79dd
mov dword [esp + 0x54], 0x77e075de
mov dword [esp + 0x58], 0x73ed71e7
mov dword [esp + 0x5c], 0x6ff86dd1
mov dword [esp + 0x60], 0x6be669b8
mov dword [esp + 0x64], 0x67fa65f6
mov word [esp + 0x68], 0x6166
mov dword [esp + 0x6a], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x41
ja 0x4215b0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x2c]
add ecx, 0xea557b5f
xor ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 3
mov edx, dword [esp]
mov byte [esp + edx + 0x2c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x42
jb 0x421580
lea ecx, [esp + 0x2c]
push ebx
push 0
push 0
push 0x1e
push ecx
push 0
call eax
mov esi, dword [esp + 0x1c]
test esi, esi
jns 0x4215cf
mov eax, 0xffffffff
jmp 0x4215d2
lea eax, [esi + esi]
push eax
call fcn.00409840
add esp, 4
mov ebp, eax
mov eax, dword [0x449d74]
mov dword [esp + 0x2c], 0xfdb6e39f
mov dword [esp + 0x30], 0xf943ff4d
mov dword [esp + 0x34], 0xf54efb5b
mov dword [esp + 0x38], 0xf146f7b7
mov dword [esp + 0x3c], 0xcdaef340
mov dword [esp + 0x40], 0xc942cf6f
mov dword [esp + 0x44], 0xc5b5cb6b
mov dword [esp + 0x48], 0xc16bc760
mov dword [esp + 0x4c], 0xdd7dc34c
mov dword [esp + 0x50], 0xd969df7f
mov dword [esp + 0x54], 0xd56edb7c
mov dword [esp + 0x58], 0xd16bd765
mov dword [esp + 0x5c], 0x2d66d373
mov dword [esp + 0x60], 0x29a02f5a
mov dword [esp + 0x64], 0x25942b94
mov word [esp + 0x68], 0x2724
mov dword [esp + 0x6a], 0
mov byte [esp + 0x6e], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x42
ja 0x4216b0
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x2c]
add ecx, 0x6a081f4d
xor ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0x53
mov edx, dword [esp]
mov byte [esp + edx + 0x2c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x43
jb 0x421680
push ebx
push esi
push ebp
push 0x1e
lea ecx, [esp + 0x3c]
push ecx
push 0
call eax
lea eax, [esp + 0x28]
push 0x60
push 3
push 0x120089
push eax
push ebp
call fcn.0043e920
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446068]
xor ebx, ebx
mov eax, dword [esp + 0x20]
mov dword [esp + 8], eax
mov esi, dword [esp + 0x14]
jmp dword [0x446140]
lea eax, [esp + 0x94]
push 0
push eax
push dword [esp + 0x30]
call fcn.0043ecb0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
mov esi, dword [esp + 0x20]
mov dword [esp + 8], esi
jmp dword [eax*4 + 0x446070]
mov ebx, dword [esp + 0x94]
lea eax, [ebx + 1]
push eax
call fcn.00409840
add esp, 4
push 0
push ebx
mov dword [esp + 0x88], eax
push eax
push dword [esp + 0x34]
call fcn.0043edb0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
mov dword [esp + 8], esi
jmp dword [eax*4 + 0x446078]
mov ebx, dword [esp + 0x94]
mov eax, dword [esp + 0x80]
mov byte [eax + ebx], 0
push 0x20
call fcn.00409840
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [esp + 0x9c], eax
mov ecx, eax
push ebx
push dword [esp + 0x84]
call fcn.00423de0
movzx eax, al
xor ebx, ebx
mov dword [esp + 8], esi
jmp dword [eax*4 + 0x446080]
mov dword [esp + 0x18], edi
mov dword [esp + 0x2c], 0xe01fe702
mov dword [esp + 0x30], 0x13ef1de2
mov dword [esp + 0x34], 0x101a042e
mov dword [esp + 0x38], 0x153009f9
mov dword [esp + 0x3c], 0xf7020df3
mov dword [esp + 0x40], 0xfaf82f3a
mov dword [esp + 0x44], 0xf80805fd
mov dword [esp + 0x48], 0xf8f4f5d6
mov dword [esp + 0x4c], 0x96fc
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x23
ja 0x42186a
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 + 0x2c]
lea edx, [eax + 0xe4]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0x9c6f93e4
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0x6d
mov ecx, dword [esp]
mov byte [esp + ecx + 0x2c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x24
jb 0x421830
mov ecx, dword [esp + 0x9c]
lea eax, [esp + 0x2c]
push eax
call fcn.00423fd0
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x98], 0
mov edx, dword [esp + 0x20]
mov dword [esp + 8], edx
jmp dword [ecx*4 + 0x446088]
mov eax, dword [case.0x4216da.6]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x98]
nop
nop
nop
nop
jmp eax
jmp dword [0x446130]
mov esi, dword [esp + 0x9c]
mov ecx, esi
call fcn.00424130
push esi
call fcn.00409850
add esp, 4
jmp dword [0x446138]
jmp dword [0x446138]
push dword [esp + 0x80]
call fcn.00409850
add esp, 4
mov dword [esp + 0x18], edi
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], 0x5e59585b
mov word [esp + 0x30], 0
mov byte [esp + 0x32], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x421950
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x2c]
add ecx, 0xdffcae61
xor ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0xc5
mov edx, dword [esp]
mov byte [esp + edx + 0x2c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x421920
mov ecx, dword [0x449d78]
test ecx, ecx
je 0x4219b3
mov edx, dword [esp + 0x2c]
xor esi, esi
mov edi, dword [0x449d7c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x4219a7
inc esi
cmp ecx, esi
jne 0x421970
jmp 0x4219b3
push eax
push 1
push dword [0x449d80]
push ecx
call fcn.0043c880
add esp, 0x10
mov edi, ebx
mov esi, ebp
lea ebx, [esp + 0x1c]
mov ebp, dword [esp + 0x90]
jmp dword [0x446048]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x421b0e
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
jmp dword [0x446140]
jmp dword [0x446148]
push ebp
call fcn.00409850
add esp, 4
push ebp
call fcn.00409850
add esp, 4
jmp dword [0x446150]
jmp dword [0x446164]
mov eax, ebx
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x446168]
mov ebx, dword [esp + 0x20]
jmp dword [0x446170]
mov ebp, dword [esp + 8]
mov byte [ebp], 0
mov dword [esp + 0x2c], 0x77484915
mov dword [esp + 0x30], 0x4b7f7871
mov dword [esp + 0x34], 0x566e5075
mov dword [esp + 0x38], 0x60507013
mov dword [esp + 0x3c], 0x7f196665
mov dword [esp + 0x40], 0x616b605b
mov dword [esp + 0x44], 0x2b245f5b
mov dword [esp + 0x48], 0xb526
mov ebx, dword [esp + 0x20]
sub ebp, ebx
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1f
ja 0x421a9d
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x2c]
lea edx, [eax - 0x715f37d9]
add eax, ecx
add eax, 0x8ea0c827
not ecx
or edx, ecx
sub ecx, edx
lea eax, [eax + ecx*2]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0xf
mov ecx, dword [esp]
mov byte [esp + ecx + 0x2c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x20
jb 0x421a60
mov ecx, dword [esp + 0xb4]
push ebp
push ebx
lea eax, [esp + 0x34]
push eax
call fcn.0040a250
jmp dword [0x446170]
push ebx
mov ebx, eax
call fcn.00409850
mov eax, ebx
add esp, 4
and al, 1
test esi, esi
je 0x421b03
cmp esi, edi
je 0x421b03
mov ebp, eax
mov ebx, esi
jmp 0x421ae7
add esi, 8
cmp esi, edi
je 0x421af8
mov eax, dword [esi]
test eax, eax
je 0x421ae0
push eax
call fcn.00409850
add esp, 4
jmp 0x421ae0
push ebx
call fcn.00409850
add esp, 4
mov eax, ebp
add esp, 0xa0
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
push 1
push dword [0x449d80]
push ecx
call fcn.0043c880
add esp, 0x10
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
jmp dword [0x446140]
add eax, 8
xor edi, edi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor ebp, ebp
xor esi, esi
xor edx, edx
jmp dword [eax*4 + 0x446010]
mov eax, 0xffffffff
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea ecx, [eax + eax]
not ecx
add ecx, eax
mov eax, dword [esp + 0x24]
mov dword [esi + eax + 4], ecx
add edi, 8
mov ecx, dword [esp + 0x8c]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov ebp, esi
mov edx, dword [esp + 0x20]
jmp dword [eax*4 + 0x446010]
mov ebp, dword [ecx]
mov ebx, edi
sub ebx, esi
cmp edi, edx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x24], ebx
jne 0x421c3a
mov eax, ebx
sar eax, 3
mov ecx, ebx
shr ecx, 2
and ecx, 2
xor eax, 1
add eax, ecx
mov dword [esp + 0x20], edx
mov ecx, edx
sub ecx, esi
sar ecx, 3
mov edi, ecx
shr edi, 1
add edi, ecx
cmp edi, eax
ja 0x421bd4
mov edi, eax
lea eax, [edi*8]
push eax
call fcn.00409840
add esp, 4
mov dword [esp + 0x14], eax
test esi, esi
je 0x421c2f
mov ebx, dword [esp + 0x20]
cmp esi, ebx
mov edx, dword [esp + 0x14]
je 0x421c22
xor eax, eax
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + eax]
mov dword [edx + eax], ecx
mov ecx, dword [esi + eax + 4]
mov dword [edx + eax + 4], ecx
mov dword [esi + eax], 0
lea ecx, [esi + eax]
add ecx, 8
add eax, 8
cmp ecx, ebx
jne 0x421c00
push esi
call fcn.00409850
add esp, 4
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
lea edx, [esi + edi*8]
mov edi, esi
add edi, ebx
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], edi
mov dword [esi + ebx], 0
mov dword [esp + 0x14], esi
mov dword [esi + ebx + 4], 0
mov ebx, 0xffffffff
xor eax, eax
nop
nop
nop
nop
mov esi, eax
cmp byte [ebp + ebx + 1], 0
lea ebx, [ebx + 1]
lea eax, [eax + 1]
jne 0x421c60
lea edi, [ebx + 1]
push edi
mov dword [esp + 0xc], edi
call fcn.00409840
add esp, 4
mov edx, eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov dword [eax + ecx], edx
mov eax, edx
mov ecx, edi
shr ecx, 2
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, dword [esp + 8]
mov edx, ecx
and edx, 0xfffffffc
add eax, edx
mov edi, eax
add edx, ebp
shr ecx, 1
and ecx, 1
mov eax, edx
mov dword [esp + 0x88], edi
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
test bl, 1
jne 0x421ce1
mov ecx, dword [esp + 8]
and ecx, 2
movzx eax, byte [edx + ecx]
mov edx, dword [esp + 0x88]
mov byte [edx + ecx], al
test ebx, ebx
je 0x421b49
cmp ebx, 1
jne 0x421ced
mov eax, 0xffffffff
jmp 0x421d40
and esi, 0xfffffffe
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
shr ecx, 8
xor al, byte [ebp]
movzx eax, al
mov eax, dword [eax*4 + 0x4415c0]
mov edx, eax
and edx, ecx
add ecx, eax
add edx, edx
sub ecx, edx
mov eax, ecx
shr eax, 8
xor cl, byte [ebp + 1]
add ebp, 2
movzx ecx, cl
mov ecx, dword [ecx*4 + 0x4415c0]
mov edx, ecx
and edx, eax
add eax, ecx
add edx, edx
sub eax, edx
add esi, 0xfffffffe
jne 0x421d00
mov edi, dword [esp + 0x18]
test bl, 1
mov esi, dword [esp + 0x14]
je 0x421b60
mov ecx, eax
shr ecx, 8
xor al, byte [ebp]
movzx eax, al
mov eax, dword [eax*4 + 0x4415c0]
mov edx, eax
and edx, ecx
add ecx, eax
add edx, edx
sub ecx, edx
mov eax, ecx
jmp 0x421b60
add eax, 8
mov dword [esp + 0x98], 0
mov esi, dword [eax]
xor eax, eax
test esi, esi
setne al
mov dword [esp + 8], edx
mov dword [esp + 0x84], ebp
jmp dword [eax*4 + 0x446090]
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x446090]
mov edx, dword [esi]
cmp dword [esi + 0x18], 3
mov edi, 0
jne case.default.0x421dd2
mov edi, dword [esi + 0x10]
test edx, edx
setne al
test edi, edi
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446098]
mov dword [esp + 0x90], edx
mov dword [esp + 0x88], esi
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
mov esi, eax
inc eax
cmp byte [esi], 0
jne case.default.0x421e1a
sub esi, edi
inc esi
shr esi, 1
lea eax, [esi + 1]
push eax
call fcn.00409840
add esp, 4
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
mov dword [esp + 0x8c], eax
jmp dword [edx*4 + 0x4460a0]
inc edi
mov byte [eax], dl
inc eax
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x4460a0]
lea edx, [ecx - 0x30]
cmp edx, 0xa
jb 0x421e52
mov edx, 0xffffffff
or ecx, 0x20
lea ebx, [ecx - 0x61]
cmp ebx, 6
jae case.default.0x421e6d
add ecx, 0xffffffa9
mov edx, ecx
movsx ecx, byte [edi + 1]
xor ebx, ebx
test ecx, ecx
setne bl
jmp dword [ebx*4 + 0x4460a8]
lea ebp, [ecx - 0x30]
cmp ebp, 0xa
jb 0x421e81
mov ebp, 0xffffffff
or ecx, 0x20
lea ebx, [ecx - 0x61]
cmp ebx, 6
jae case.default.0x421ea6
add ecx, 0xffffffa9
mov ebp, ecx
shl edx, 4
or edx, ebp
add edi, 2
mov byte [eax], dl
inc eax
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x4460a0]
mov byte [eax], 0
mov dword [esp + 0x24], 0
push 0
push 0x10
push 0
push dword [esp + 0x9c]
call fcn.004241d0
add esp, 0x10
xor ecx, ecx
mov edi, dword [esp + 0x14]
cmp edi, dword [esp + 0x18]
setne cl
jmp dword [ecx*4 + 0x4460b0]
mov ecx, dword [edi]
mov dword [esp + 0x24], ecx
xor ecx, ecx
jmp dword [ecx*4 + 0x4460c0]
add edi, 8
xor ebx, ebx
cmp edi, dword [esp + 0x18]
setne bl
jmp dword [ebx*4 + 0x4460b0]
mov ebx, dword [edi + 4]
mov ebp, ebx
shr ebp, 0x1c
shl ebx, 4
or ebx, 1
xor ebp, edx
xor ebx, eax
xor ecx, ecx
or ebx, ebp
sete cl
jmp dword [ecx*4 + 0x4460b8]
mov ecx, 1
jmp dword [ecx*4 + 0x4460c0]
xor eax, eax
mov ebx, dword [esp + 0x24]
test ebx, ebx
setne al
jmp dword [eax*4 + 0x4460c8]
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x8c]
jmp dword [0x446108]
mov dword [esp + 0x2c], esi
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x30], edi
mov eax, 0xffffffff
mov ebp, dword [esp + 0x84]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx + eax + 1], 0
lea eax, [eax + 1]
jne 0x421f90
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
mov eax, dword [case.0x421895.21]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [esp], 0
jmp dword [0x4460e8]
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x449d84]
call fcn.0043df10
add esp, 8
mov ecx, esp
lea edx, [esp + 0xc]
push ecx
push 1
push 0
push 0
push edx
push 0
lea ecx, [esp + 0x44]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4460f0]
mov esi, dword [esp + 0x88]
jmp dword [0x446108]
mov edi, dword [esp + 8]
jmp dword [0x4460f8]
jmp dword [0x446114]
inc esi
mov al, 1
mov dword [esp + 0x98], eax
mov dword [esp + 8], esi
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x8c]
jmp dword [0x446108]
movzx ecx, byte [ebx]
mov eax, edi
test cl, cl
je 0x42206b
lea edx, [ebx + 1]
mov eax, edi
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x422060
mov word [eax], 0x203a
add eax, 2
mov ebx, dword [esp]
test ebx, ebx
je 0x4220b1
mov ecx, dword [esp + 4]
mov esi, ebx
and esi, 3
je 0x4220b5
mov edi, ebx
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [ecx]
cmp dl, 1
sbb ecx, 0xffffffff
mov byte [eax + ebx], dl
inc ebx
cmp esi, ebx
jne 0x422090
add eax, ebx
mov edx, edi
sub edx, ebx
mov ebx, edi
mov esi, eax
mov edi, dword [esp + 8]
jmp 0x4220b7
mov esi, eax
jmp 0x4220f9
mov edx, ebx
cmp ebx, 4
jb 0x4220f9
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
lea esi, [eax + 4]
mov byte [eax + 3], bl
mov eax, esi
add edx, 0xfffffffc
jne 0x4220c0
mov byte [esi], 0xa
push 0xe050b307
push dword [0x449d6c]
call fcn.0043df10
add esp, 8
push dword [esp + 4]
call eax
mov ebx, dword [esp + 0x24]
jmp dword [0x446104]
movzx ecx, byte [ebx]
mov eax, edi
test cl, cl
je 0x42213b
lea edx, [ebx + 1]
mov eax, edi
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x422130
mov word [eax], 0x203a
add eax, 2
mov ebx, dword [esp]
test ebx, ebx
je 0x422181
mov ecx, dword [esp + 4]
mov esi, ebx
and esi, 3
je 0x422185
mov edi, ebx
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [ecx]
cmp dl, 1
sbb ecx, 0xffffffff
mov byte [eax + ebx], dl
inc ebx
cmp esi, ebx
jne 0x422160
add eax, ebx
mov edx, edi
sub edx, ebx
mov ebx, edi
mov esi, eax
mov edi, dword [esp + 8]
jmp 0x422187
mov esi, eax
jmp 0x4221c9
mov edx, ebx
cmp ebx, 4
jb 0x4221c9
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
lea esi, [eax + 4]
mov byte [eax + 3], bl
mov eax, esi
add edx, 0xfffffffc
jne 0x422190
mov byte [esi], 0xa
push 0xe050b307
push dword [0x449d6c]
call fcn.0043df10
add esp, 8
push dword [esp + 4]
call eax
mov ebx, dword [esp + 0x24]
jmp case.0x421895.28
push edi
call fcn.00409850
add esp, 4
push edi
call fcn.00409850
add esp, 4
jmp dword [0x44611c]
int3
jmp dword [0x446180]
jmp dword [0x446238]
mov edx, dword [ebp - 0x38]
add edx, 4
xor eax, eax
mov ecx, edx
mov dword [ebp - 0x38], edx
cmp edx, 0xc
setne al
mov edi, dword [ebp - 0x40]
jmp dword [eax*4 + 0x446178]
jmp dword [0x446188]
mov dword [ebp - 0x28], edx
jmp dword [0x4461e0]
movzx edi, byte [ebp - 0x28]
jmp dword [0x446208]
push dword [ebp - 0x2c]
call fcn.00409850
add esp, 4
jmp dword [edi*4 + 0x446210]
jmp dword [edi*4 + 0x446210]
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x68]
lea ecx, [edx + eax]
add ecx, 0x17
test ecx, ecx
jns 0x422690
mov eax, 0xffffffff
jmp 0x422699
add eax, edx
lea eax, [eax*2 + 0x2e]
mov edi, dword [ebp - 0x54]
push eax
call fcn.00409840
add esp, 4
movzx ecx, word [ebx]
mov dword [ebp - 0x2c], eax
test cx, cx
je 0x4226d1
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x2c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4226c0
mov word [eax], 0x5c
mov dword [edi], 0x602d621f
mov dword [edi + 4], 0x640066f6
mov dword [edi + 8], 0x68056a0c
mov dword [edi + 0xc], 0x6c186e4f
mov dword [edi + 0x10], 0x90009207
mov dword [edi + 0x14], 0x94f29601
mov dword [edi + 0x18], 0x98f29af2
mov dword [edi + 0x1c], 0x9cf19ee3
mov dword [edi + 0x20], 0x801b82e8
mov dword [edi + 0x24], 0x84e986ec
mov dword [edi + 0x28], 0x88ef8aef
mov word [edi + 0x2c], 0x8e8f
mov ecx, dword [ebp - 0xbc]
mov word [ecx + 4], 0
mov dword [ecx], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x33
ja 0x42277c
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [edi + edx]
add ecx, 0x9e6df270
xor ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0xed
mov edx, dword [ebp - 0x10]
mov byte [edi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x34
jb 0x422750
add eax, 2
mov edx, dword [ebp - 0x34]
movzx ecx, word [edx]
test cx, cx
je 0x4227a1
add edx, 2
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422790
mov word [eax], 0
movzx ecx, word [edi]
test cx, cx
je 0x4227d1
mov edx, dword [ebp - 0xb4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4227c0
mov word [eax], 0
cmp dword [ebp - 0x68], 0xfffffff7
jge 0x4227f0
mov esi, 0xffffffff
jmp 0x4227f3
add esi, 0x12
push esi
call fcn.00409840
add esp, 4
mov ebx, eax
mov esi, dword [ebp - 0x8c]
mov dword [esi], 0x976299ab
mov dword [esi + 4], 0x93189569
mov dword [esi + 8], 0xaf5a916d
mov dword [esi + 0xc], 0xab54ad50
mov word [esi + 0x10], 0xa9a8
mov eax, dword [ebp - 0xb8]
mov dword [eax], 0
mov word [eax + 4], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x17
ja 0x422885
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [esi + ecx]
lea edx, [eax + ecx]
add eax, 0x56
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0x72f7a056
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
add al, 0x32
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x18
jb 0x422850
mov edx, dword [ebp - 0x34]
movzx ecx, word [edx]
mov eax, ebx
test cx, cx
je 0x4228b1
add edx, 2
mov eax, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4228a0
mov word [eax], 0
movzx ecx, word [esi]
test cx, cx
je 0x4228e3
mov edx, dword [ebp - 0xb0]
mov esi, dword [ebp - 0x88]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4228d0
jmp 0x4228e9
mov esi, dword [ebp - 0x88]
mov word [eax], 0
mov dword [esi], 0x33343560
mov byte [esi + 4], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 4
ja 0x422947
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [esi + ecx]
lea edx, [eax + ecx]
add edx, 0xbd0e5501
add eax, 0xbd0e5501
and eax, ecx
add eax, eax
sub edx, eax
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
add al, 0xc9
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 5
jb 0x422910
push 0
push 0
push 0
push 0xc00000
push esi
push dword [ebp - 0x2c]
push ebx
push dword [ebp + 8]
call fcn.00419fa0
add esp, 0x20
mov ecx, dword [ebp - 0x5c]
and cl, 1
or cl, al
mov dword [ebp - 0x5c], ecx
jmp dword [0x446218]
push ebx
call fcn.00409850
add esp, 4
mov ebx, dword [ebp - 0x30]
jmp dword [0x446220]
mov ebx, dword [ebp - 0x30]
jmp dword [0x446220]
push dword [ebp - 0x2c]
call fcn.00409850
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x446234]
jmp dword [0x4461d8]
push dword [ebp - 0x44]
call fcn.00409850
add esp, 4
push dword [ebp - 0xa8]
call fcn.00403640
add esp, 4
jmp dword [0x4461e0]
push ebx
call fcn.00409850
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x4461f4]
mov dword [ebp - 0xa8], eax
push eax
call fcn.004033d0
add esp, 4
mov edi, dword [ebp - 0xa0]
mov dword [edi], 0xe6e31411
mov dword [edi + 4], 0x11141e10
mov dword [edi + 8], 0xee1aeed8
mov dword [edi + 0xc], 0x191c1618
mov dword [edi + 0x10], 0xded3d7d7
mov word [edi + 0x14], 0x2ed3
mov byte [edi + 0x16], 0xb4
mov dword [edi + 0x17], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1a
ja 0x422a7c
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [edi + edx]
add ecx, 0x97749990
xor ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0xee
mov edx, dword [ebp - 0x10]
mov byte [edi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1b
jb 0x422a50
push edi
push eax
call fcn.00403510
add esp, 8
mov edx, 0xffffffff
mov ecx, 0xfffffffd
add ecx, 3
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x422a90
shr ecx, 2
mov edi, edx
mov dword [ebp - 0x48], edx
movzx edx, byte [eax + edx - 1]
cmp edx, 0x3d
je 0x422ab4
cmp edx, 0x2e
jne 0x422ab5
dec ecx
mov edx, dword [ebp - 0x48]
movzx edx, byte [eax + edx - 2]
cmp edx, 0x3d
mov dword [ebp - 0x60], eax
je 0x422aca
cmp edx, 0x2e
jne 0x422acb
dec ecx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa4], ecx
lea eax, [ecx + 1]
push eax
call fcn.00409840
add esp, 4
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x48], 0
je 0x422be5
xor ecx, ecx
mov edi, 2
jmp 0x422b12
mov edx, ebx
lea eax, [edi + 4]
add edi, 2
cmp edi, edx
mov edi, eax
jae 0x422be5
mov dword [ebp - 0x28], ecx
mov ebx, dword [ebp - 0x60]
movzx eax, byte [ebx + edi - 2]
push eax
call fcn.00415dc0
add esp, 4
mov byte [ebp - 0x24], al
movzx eax, byte [ebx + edi - 1]
push eax
call fcn.00415dc0
mov ebx, dword [ebp - 0x48]
add esp, 4
movzx ecx, byte [ebp - 0x24]
shl cl, 2
mov byte [ebp - 0x19], al
shr al, 4
and al, 3
or al, cl
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x28]
mov byte [ecx + edx], al
mov eax, edx
lea ecx, [edx + 1]
cmp edi, ebx
jae 0x422b00
mov eax, dword [ebp - 0x60]
movzx eax, byte [eax + edi]
push eax
mov dword [ebp - 0x24], ecx
call fcn.00415dc0
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x48]
add esp, 4
cmp al, 0x40
je 0x422b02
movzx ecx, byte [ebp - 0x19]
shl cl, 4
mov byte [ebp - 0x19], al
shr al, 2
and al, 0xf
or al, cl
mov ebx, dword [ebp - 0x28]
lea ecx, [ebx + 2]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x44]
mov byte [ecx + ebx + 1], al
lea eax, [edi + 1]
cmp eax, edx
jae 0x422bdd
mov eax, dword [ebp - 0x60]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.00415dc0
mov edx, dword [ebp - 0x48]
add esp, 4
cmp al, 0x40
mov ecx, dword [ebp - 0x24]
mov ah, byte [ebp - 0x19]
je 0x422b02
shl ah, 6
add al, ah
mov ecx, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x28]
mov byte [ecx + ebx + 2], al
add ebx, 3
mov ecx, ebx
jmp 0x422b02
mov ecx, dword [ebp - 0x24]
jmp 0x422b02
mov eax, dword [ebp - 0xa4]
add eax, 0xfffffffb
mov edi, dword [ebp - 0x9c]
mov dword [edi], eax
mov eax, dword [ebp - 0x44]
add eax, 5
mov dword [edi + 4], eax
mov ebx, dword [ebp - 0x98]
mov dword [ebx], 0
mov dword [ebx + 4], 0
push 0x6c625980
push dword [0x449d84]
call fcn.0043df10
add esp, 8
push ebx
push 0
push 0
push 0
push 0
push 0
push edi
mov edi, ebx
call eax
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x28], 0
mov ebx, dword [ebp - 0xac]
jmp dword [ecx*4 + 0x4461b8]
cmp dword [ebp - 0x68], 0xfffffff8
jge 0x422c5d
mov eax, 0xffffffff
jmp 0x422c60
lea eax, [esi + 0x10]
push eax
call fcn.00409840
add esp, 4
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x50]
mov dword [edx], 0xc72a390b
mov dword [edx + 4], 0xc3f0c534
mov dword [edx + 8], 0xcf36c13c
mov dword [edx + 0xc], 0xcbcacd30
mov dword [edx + 0x10], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x13
ja 0x422cca
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edx + ecx]
add eax, 0x361ee8fe
xor eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
add al, 0x3a
mov ecx, dword [ebp - 0x10]
mov byte [edx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x14
jb 0x422ca0
mov eax, dword [ebp - 0x34]
movzx ecx, word [eax]
mov eax, dword [ebp - 0x24]
test cx, cx
je 0x422d01
mov eax, dword [ebp - 0x34]
lea edx, [eax + 2]
mov eax, dword [ebp - 0x24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422cf0
mov word [eax], 0
mov ecx, dword [ebp - 0x50]
movzx ecx, word [ecx]
test cx, cx
je 0x422d31
mov edx, dword [ebp - 0x94]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422d20
mov word [eax], 0
mov ecx, dword [ebp + 8]
push dword [edi]
push dword [edi + 4]
push dword [ebp - 0x24]
call fcn.0040a0a0
mov dword [ebp - 0x28], eax
jmp dword [0x4461c0]
push dword [ebp - 0x24]
call fcn.00409850
add esp, 4
jmp dword [0x4461cc]
jmp dword [0x4461cc]
push 0xe050b307
push dword [0x449d6c]
call fcn.0043df10
add esp, 8
push dword [edi + 4]
call eax
nop
nop
push 0xe050b307
push dword [0x449d6c]
call fcn.0043df10
add esp, 8
push dword [edi + 4]
call eax
jmp dword [0x4461d0]
not eax
shr eax, 0x1f
mov dword [ebp - 0x28], 0
jmp dword [eax*4 + 0x446198]
push 0
push dword [ebp - 0x58]
mov eax, dword [ebp - 0x3c]
push dword [eax]
call fcn.0043ecb0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [ebp - 0x28], 0
jmp dword [eax*4 + 0x4461a0]
jmp dword [0x4461fc]
mov eax, dword [ebp - 0x58]
mov edi, dword [eax]
lea eax, [edi + 1]
push eax
call fcn.00409840
add esp, 4
mov ebx, eax
push 0
push edi
push eax
mov eax, dword [ebp - 0x3c]
push dword [eax]
call fcn.0043edb0
add esp, 0x10
not eax
shr eax, 0x1f
xor edx, edx
jmp dword [eax*4 + 0x4461a8]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov byte [ebx + eax], 0
push ebx
call fcn.00402ac0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
jmp dword [ecx*4 + 0x4461b0]
mov eax, dword [ebp - 0x3c]
mov ebx, dword [eax]
mov dword [ebp - 0x18], 0x5e59585b
mov eax, dword [ebp - 0xc0]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x20]
cmp eax, 6
ja 0x422e9c
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
movzx ecx, byte [ebp + ecx - 0x18]
add eax, 0xdffcae61
xor eax, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
add al, 0xc5
mov ecx, dword [ebp - 0x20]
mov byte [ebp + ecx - 0x18], al
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, 7
jb 0x422e70
mov ecx, dword [0x449d78]
test ecx, ecx
je case.0x420f17.159
mov edx, dword [ebp - 0x18]
xor edi, edi
mov eax, dword [0x449d7c]
cmp dword [eax + edi*8], 0x625b6034
je 0x422ec0
inc edi
cmp ecx, edi
jne 0x422eb0
jmp case.0x420f17.159
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
je case.0x420f17.159
push ebx
push 1
push dword [0x449d80]
push eax
call fcn.0043c880
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov dword [ebp - 0x18], 0x5e59585b
mov ecx, dword [ebp - 0xc4]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [ebp - 0x20], 0
mov ecx, dword [ebp - 0x20]
cmp ecx, 6
ja 0x422f3e
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x20]
movzx edx, byte [ebp + edx - 0x18]
add ecx, 0xdffcae61
xor ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
add cl, 0xc5
mov edx, dword [ebp - 0x20]
mov byte [ebp + edx - 0x18], cl
inc dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
cmp ecx, 7
jb 0x422f10
mov ecx, dword [0x449d78]
test ecx, ecx
je 0x422f80
mov edx, dword [ebp - 0x18]
xor edi, edi
mov ebx, dword [0x449d7c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x625b6034
je 0x422f70
inc edi
cmp ecx, edi
jne 0x422f60
jmp 0x422f80
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x422f89
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [ebp - 0x30]
jmp dword [0x446204]
push eax
push 1
push dword [0x449d80]
push ecx
call fcn.0043c880
add esp, 0x10
mov ebx, dword [ebp - 0x30]
jmp dword [0x446204]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x6c]
mov esi, dword [ecx + eax]
mov eax, 0xfffffffe
nop
nop
cmp word [esi + eax + 2], 0
lea eax, [eax + 2]
jne 0x422fc0
sar eax, 1
mov ecx, dword [ebp - 0x4c]
lea edx, [eax + ecx]
add ecx, eax
add ecx, 0xd
lea eax, [edx*2 + 0x1a]
test ecx, ecx
jns 0x422fe8
mov eax, 0xffffffff
push eax
call fcn.00409840
add esp, 4
movzx edx, word [ebx]
mov ecx, eax
test dx, dx
je 0x423011
mov edi, dword [ebp - 0x64]
mov ecx, eax
mov word [ecx], dx
add ecx, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x423000
mov word [ecx], 0x5c
mov edi, dword [ebp - 0x40]
mov dword [edi], 0x70257217
mov dword [edi + 4], 0x7c107e0e
mov dword [edi + 8], 0x780d7a14
mov dword [edi + 0xc], 0x84d886a7
mov dword [edi + 0x10], 0x80ee82ff
mov dword [edi + 0x14], 0x8ce68ef3
mov word [edi + 0x18], 0x8a8b
mov dword [edi + 0x1a], 0
add ecx, 2
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0x1d
ja 0x4230a5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x40]
movzx edi, byte [ebx + edi]
add edx, 0x3f7d30f4
xor edx, edi
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x18]
add dl, 0x79
mov edi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x40]
mov byte [ebx + edi], dl
mov edi, dword [ebp - 0x40]
inc dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
cmp edx, 0x1e
jb 0x423070
movzx edx, word [esi]
test dx, dx
je 0x4230c1
add esi, 2
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x4230b0
mov word [ecx], 0
movzx edx, word [edi]
test dx, dx
je 0x423100
mov esi, dword [ebp - 0x90]
mov ebx, dword [ebp - 0x30]
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 0x4230e0
jmp 0x423103
mov ebx, dword [ebp - 0x30]
mov word [ecx], 0
push 0x60
push 3
push 0x120089
push dword [ebp - 0x3c]
push eax
call fcn.0043e920
add esp, 0x14
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ecx + eax]
mov esi, 0xfffffffe
nop
nop
nop
nop
nop
cmp word [eax + esi + 2], 0
lea esi, [esi + 2]
jne 0x423130
mov dword [ebp - 0x34], eax
mov edx, esi
sar edx, 1
mov eax, dword [ebp - 0x4c]
lea ecx, [edx + eax]
mov dword [ebp - 0x68], edx
add edx, eax
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x423160
mov eax, 0xffffffff
push eax
call fcn.00409840
add esp, 4
movzx ecx, word [ebx]
mov dword [ebp - 0x2c], eax
test cx, cx
je 0x423191
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x2c]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x423180
mov word [eax], 0x5c
mov dword [edi], 0x70257217
mov dword [edi + 4], 0x7c107e0e
mov dword [edi + 8], 0x780d7a14
mov dword [edi + 0xc], 0x84d886a7
mov dword [edi + 0x10], 0x80ee82ff
mov dword [edi + 0x14], 0x8ce68ef3
mov word [edi + 0x18], 0x8a8b
mov dword [edi + 0x1a], 0
add eax, 2
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1d
ja 0x42320c
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [edi + edx]
add ecx, 0x3f7d30f4
xor ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0x79
mov edx, dword [ebp - 0x10]
mov byte [edi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1e
jb 0x4231e0
mov edx, dword [ebp - 0x34]
movzx ecx, word [edx]
test cx, cx
je 0x423231
add edx, 2
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x423220
mov word [eax], 0
movzx ecx, word [edi]
test cx, cx
je 0x423261
mov edx, dword [ebp - 0x90]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x423250
mov word [eax], 0
push 0x60
push 3
push 0x120089
push dword [ebp - 0x3c]
push dword [ebp - 0x2c]
call fcn.0043e920
add esp, 0x14
jmp dword [0x446190]
jmp dword [0x446248]
jmp dword [0x446250]
jmp dword [0x446250]
mov eax, dword [ebp - 0x5c]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push ebx
call fcn.00409850
add esp, 4
push ebx
call fcn.00409850
add esp, 4
jmp dword [0x446244]
xor ebx, ebx
jmp dword [0x446340]
lea eax, [esp + 0x8c]
push 0
push eax
push dword [esp + 0x88]
call fcn.0043ecb0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x446260]
mov esi, dword [esp + 0x8c]
mov edi, dword [case.0x420f17.188]
lea ebx, [esi + 1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call fcn.00409840
add esp, 4
jmp edi
push 0
push esi
mov dword [esp + 0x90], eax
push eax
push dword [esp + 0x8c]
call fcn.0043edb0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x10], 0
lea ebx, [esp + 0x18]
jmp dword [eax*4 + 0x446288]
mov ebx, dword [esp + 0x10]
jmp dword [0x446338]
push dword [esp + 0x88]
call fcn.00409850
add esp, 4
mov eax, dword [esp + 0x80]
mov dword [esp + 0x18], 0x5e59585b
mov word [esp + 0x1c], 0
mov byte [esp + 0x1e], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x4235e0
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x18]
add ecx, 0xdffcae61
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0xc5
mov edx, dword [esp]
mov byte [esp + edx + 0x18], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x4235b0
mov ecx, dword [0x449d78]
test ecx, ecx
je 0x42361c
mov edx, dword [esp + 0x18]
xor esi, esi
mov edi, dword [0x449d7c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x423610
inc esi
cmp ecx, esi
jne 0x423600
jmp 0x42361c
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x423d97
and bl, 1
jmp dword [0x446340]
jmp dword [0x446348]
mov eax, dword [esp + 0x8c]
mov edi, dword [esp + 0x88]
mov byte [edi + eax], 0
mov dword [esp + 0x10], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x18], 0x25232723
mov dword [esp + 0x1c], 0x29205b2f
mov word [esp + 0x20], 0x9672
mov byte [esp + 0x22], 0xb7
mov dword [esp + 0x23], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xe
ja 0x4236be
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x18]
add eax, 0xdfb71ee2
xor eax, edx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0xa5
mov edx, dword [esp]
mov byte [esp + edx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xf
jb 0x423690
movzx edx, byte [esp + 0x18]
test dl, dl
je 0x423700
mov eax, ebx
mov esi, edi
jmp 0x4236d9
movzx edx, byte [eax]
test dl, dl
mov esi, ecx
je 0x423712
mov dh, byte [edi]
test dh, dh
je 0x423710
inc edi
inc eax
mov ecx, esi
inc esi
cmp dh, dl
je 0x4236ec
mov ecx, esi
mov edi, esi
je 0x4236d0
mov eax, ebx
jmp 0x4236d0
mov esi, edi
jmp 0x423712
xor esi, esi
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x446290]
lea edi, [esi + 0xa]
movzx eax, byte [esi + 0xa]
xor ecx, ecx
test al, al
je 0x423742
mov edx, edi
nop
cmp al, 0x22
je 0x423740
movzx eax, byte [edx + 1]
inc edx
test al, al
jne 0x423730
jmp 0x423742
mov ecx, edx
mov ebx, ecx
sub ebx, edi
xor eax, eax
cmp ebx, 5
setb al
jmp dword [eax*4 + 0x446298]
xor eax, eax
cmp byte [ecx - 1], 0x74
setne al
jmp dword [eax*4 + 0x4462a0]
xor eax, eax
cmp byte [ecx - 2], 0x78
setne al
jmp dword [eax*4 + 0x4462a8]
xor eax, eax
cmp byte [ecx - 3], 0x74
setne al
jmp dword [eax*4 + 0x4462b0]
xor eax, eax
cmp byte [ecx - 4], 0x2e
setne al
jmp dword [eax*4 + 0x4462b8]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x70], esi
mov dword [esp + 0x64], ebp
mov eax, ebx
inc eax
lea eax, [ebx + ebx + 2]
jns 0x4237af
mov eax, 0xffffffff
push eax
call fcn.00409840
add esp, 4
mov dword [esp + 0x18], 0
lea ecx, [eax + ebx*2]
mov ebp, eax
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
cmp eax, ecx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x74], ebx
jae 0x42382a
mov ebp, dword [esp + 8]
cmp edi, eax
jae 0x42382a
mov ebp, dword [esp + 8]
mov esi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi], 0
je 0x42382a
lea ecx, [esp + 0x18]
push ecx
push eax
push esi
mov ebx, eax
call fcn.0040d350
add esp, 0xc
movzx ecx, word [esp + 0x18]
mov word [ebp], cx
add ebp, 2
cmp ebp, dword [esp + 0xc]
jae 0x423826
add esi, eax
cmp esi, ebx
mov eax, ebx
mov ebx, dword [esp + 0x74]
jb 0x4237f0
jmp 0x42382a
mov ebx, dword [esp + 0x74]
mov word [ebp], 0
push 0x60
push 3
push 0x120089
lea eax, [esp + 0x88]
push eax
mov esi, dword [esp + 0x18]
push esi
call fcn.0043e920
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4462c0]
mov ebp, dword [esp + 0x64]
jmp dword [0x446320]
push esi
call fcn.00409850
add esp, 4
nop
nop
nop
mov eax, dword [case.0x423853.28]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
lea ebx, [esp + 0x18]
jmp 0x423650
push 0
lea eax, [esp + 0x7c]
push eax
push dword [esp + 0x84]
call fcn.0043ecb0
add esp, 0xc
test eax, eax
setns al
mov esi, dword [esp + 0x78]
cmp esi, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4462c8]
push esi
call fcn.00409840
add esp, 4
push 0
push esi
mov dword [esp + 0x74], eax
push eax
push dword [esp + 0x88]
call fcn.0043edb0
add esp, 0x10
not eax
shr eax, 0x1f
mov ecx, dword [esp + 0x10]
jmp dword [eax*4 + 0x4462e0]
xor eax, eax
mov esi, dword [esp + 8]
mov ecx, esi
jmp dword [0x4462e8]
mov ecx, esi
nop
cmp word [ecx], 0
lea ecx, [ecx + 2]
jne 0x423900
mov ecx, esi
jmp case.0x423853.10
add ecx, 2
test dx, dx
je 0x423930
mov ebp, eax
movzx edx, word [ecx]
mov eax, ecx
cmp dx, 0x5c
je 0x423910
mov eax, ebp
jmp 0x423910
mov ecx, esi
xor eax, eax
jmp dword [0x4462f4]
xor eax, eax
test ebp, ebp
setne al
jmp dword [eax*4 + 0x4462f8]
mov dword [esp + 0x68], 0
xor ebp, ebp
jmp dword [0x446304]
sub ebp, dword [esp + 8]
sar ebp, 1
inc ebp
mov eax, ebx
sub eax, ebp
mov dword [esp + 0x68], eax
jmp dword [0x446304]
mov eax, dword [esp + 0x68]
add eax, 0x1b
push eax
call fcn.00409840
add esp, 4
mov dword [esp + 0x14], eax
mov eax, ebx
sub eax, ebp
mov dword [esp + 0x84], eax
mov dword [esp + 0x18], 0x74760c29
mov dword [esp + 0x1c], 0x790b7172
mov dword [esp + 0x20], 0x624c97c
mov dword [esp + 0x24], 0x40050800
mov dword [esp + 0x28], 0x72020262
mov dword [esp + 0x2c], 0xb47e7404
mov dword [esp + 0x30], 0x9e4ab7
mov dword [esp + 0xc], ebp
lea edx, [edi + ebp]
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1b
ja 0x423a09
mov ebp, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x18]
add ebp, 0x948321b2
xor ebp, ecx
mov dword [esp + 4], ebp
mov eax, dword [esp + 4]
add al, 0xae
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1c
jb 0x4239da
movzx ecx, byte [esp + 0x18]
mov esi, dword [esp + 0x14]
test cl, cl
je 0x423a2a
lea ebp, [esp + 0x19]
mov esi, dword [esp + 0x14]
mov byte [esi], cl
inc esi
movzx ecx, byte [ebp]
inc ebp
test cl, cl
jne 0x423a1e
mov byte [esi], 0
mov eax, dword [esp + 0x84]
test eax, eax
je 0x423a86
mov ecx, dword [esp + 0x70]
mov ebp, dword [esp + 0xc]
add ecx, ebp
mov ebp, dword [esp + 0x5c]
sub ebp, ecx
add ebp, 0xfffffff5
mov dword [esp + 0x90], ebp
mov ebp, eax
and ebp, 3
je 0x423a8a
xor ecx, ecx
movzx eax, byte [edx]
mov byte [esp + 0x60], al
cmp byte [esp + 0x60], 1
sbb edx, 0xffffffff
movzx eax, byte [esp + 0x60]
mov byte [esi + ecx], al
inc ecx
cmp ebp, ecx
jne 0x423a5b
add esi, ecx
mov eax, dword [esp + 0x84]
sub eax, ecx
mov ebp, esi
jmp 0x423a8a
mov ebp, esi
jmp 0x423acd
cmp dword [esp + 0x90], 3
jb 0x423acd
movzx ecx, byte [edx]
cmp cl, 1
sbb edx, 0xffffffff
mov byte [esi], cl
movzx ecx, byte [edx]
cmp cl, 1
sbb edx, 0xffffffff
mov byte [esi + 1], cl
movzx ecx, byte [edx]
cmp cl, 1
sbb edx, 0xffffffff
mov byte [esi + 2], cl
movzx ecx, byte [edx]
cmp cl, 1
sbb edx, 0xffffffff
lea ebp, [esi + 4]
mov byte [esi + 3], cl
mov esi, ebp
add eax, 0xfffffffc
jne 0x423a94
mov byte [ebp], 0
mov ecx, dword [esp + 0xac]
push dword [esp + 0x78]
push dword [esp + 0x70]
push dword [esp + 0x1c]
call fcn.0040a250
mov ebp, dword [esp + 0xc]
jmp case.0x423853.17
mov eax, ebp
mov esi, dword [esp + 0xac]
mov byte [eax], 0
mov ecx, esi
push dword [esp + 0x78]
push dword [esp + 0x70]
mov esi, dword [esp + 0x68]
push esi
call fcn.0040a250
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0xc]
jmp dword [0x446308]
mov esi, ebp
mov eax, dword [esp + 0x68]
add eax, 0x1b
push eax
call fcn.00409840
add esp, 4
mov dword [esp + 0x18], 0x74760c29
mov dword [esp + 0x1c], 0x790b7172
mov dword [esp + 0x20], 0x624c97c
mov dword [esp + 0x24], 0x40050800
mov dword [esp + 0x28], 0x72020262
mov dword [esp + 0x2c], 0xb47e7404
mov dword [esp + 0x30], 0x9e4ab7
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1b
ja 0x423bb0
nop
nop
nop
nop
nop
nop
mov edx, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x18]
add edx, 0x948321b2
xor edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 4]
add dl, 0xae
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], dl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1c
jb 0x423b80
movzx ecx, byte [esp + 0x18]
mov ebp, eax
test cl, cl
je 0x423bdc
lea edx, [esp + 0x19]
mov ebp, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebp], cl
inc ebp
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x423bd0
mov dword [esp + 0x60], eax
mov ecx, ebx
mov byte [ebp], 0
sub ecx, esi
mov dword [esp + 0xc], esi
je 0x423aef
mov ebx, dword [esp + 0x5c]
mov eax, ebx
xor eax, 2
mov edx, dword [esp + 0x70]
add edx, esi
mov dword [esp + 0x14], edx
sub eax, edx
lea edx, [edi + esi]
and eax, 3
je 0x423c3a
mov ecx, ebx
sub ecx, esi
sub ecx, dword [esp + 0x70]
add ecx, 0xfffffff6
xor esi, esi
nop
nop
nop
nop
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [ebp + esi], bl
inc esi
cmp eax, esi
jne 0x423c20
add ebp, esi
sub ecx, esi
mov eax, ebp
jmp 0x423c3a
mov esi, dword [esp + 0x5c]
sub esi, dword [esp + 0x14]
add esi, 0xfffffff5
cmp esi, 3
mov esi, dword [esp + 0xac]
jb 0x423af8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [ebp], bl
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [ebp + 1], bl
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [ebp + 2], bl
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
lea eax, [ebp + 4]
mov byte [ebp + 3], bl
mov ebp, eax
add ecx, 0xfffffffc
jne 0x423c60
jmp 0x423af8
and cl, 1
or cl, al
jmp dword [0x446310]
mov dword [esp + 0x10], ecx
push esi
call fcn.00409850
add esp, 4
jmp dword [0x446318]
mov dword [esp + 0x10], ecx
jmp dword [0x446318]
push dword [esp + 0x6c]
call fcn.00409850
add esp, 4
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x18], 0x5e59585b
lea ecx, [esp + 0x1c]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x423d30
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x18]
add ecx, 0xdffcae61
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0xc5
mov edx, dword [esp]
mov byte [esp + edx + 0x18], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x423d00
mov edx, dword [0x449d78]
test edx, edx
je 0x423d69
mov esi, dword [esp + 0x18]
xor ebx, ebx
mov ebp, dword [0x449d7c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + ebx*8], 0x625b6034
je 0x423d61
inc ebx
cmp edx, ebx
jne 0x423d50
jmp 0x423d69
mov edx, dword [ebp + ebx*8 + 4]
cmp edx, esi
jne 0x423d77
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 8]
jmp dword [0x446320]
push eax
push 1
push dword [0x449d80]
push edx
call fcn.0043c880
add esp, 0x10
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 8]
jmp dword [0x446320]
push eax
push 1
push dword [0x449d80]
push ecx
call fcn.0043c880
add esp, 0x10
and bl, 1
jmp dword [0x446340]
push ebp
call fcn.00409850
add esp, 4
push ebp
call fcn.00409850
add esp, 4
jmp dword [0x446350]
mov eax, ebx
add esp, 0x98
pop esi
pop edi
pop ebx
pop ebp
ret
int3
or eax, 0xed00042
inc edx
add byte [eax + 0xe], al
inc edx
add byte [edx + 0xd], dh
inc edx
add byte [eax + 0xe], al
inc edx
add byte [ebx], ch
push cs
inc edx
add byte [ebx], dh
push cs
inc edx
add byte [eax + 0xe], al
inc edx
add byte [esi], bl
cmovb eax, dword [eax]
pushal
cmovb eax, dword [eax]
cmp ecx, dword [edi]
inc edx
add byte [ebx + 0xf], bh
inc edx
add byte [eax], dh
or al, 0x42
add byte [eax], ah
or al, 0x42
add ch, bl
or eax, dword [edx]
xor byte [edx + eax*2], cl
add bl, ch
or eax, dword [edx]
adc byte [edx + eax*2], cl
add byte [eax], dl
or al, 0x42
add byte [eax], dl
or al, 0x42
add byte [eax], dl
or al, 0x42
add byte [esi], dl
or al, 0x42
add byte [eax + edx + 0x10b00042], bl
inc edx
add byte [eax - 0x4fffbdf0], dh
adc byte [edx], al
mov dh, 0x10
inc edx
add byte [eax + 0x7c004210], dh
adc dword [edx], eax
invalid
adc dword [edx], eax
iretd
adc eax, dword [edx]
sbb eax, dword cs:[edx]
lahf
adc eax, dword [edx]
xchg edx, eax
sbb eax, dword [edx]
movsd dword es:[edi], dword [esi]
adc eax, dword [edx]
rcl byte [ebx], 0x42
add al, al
adc eax, dword [edx]
rcl byte [ebx], 0x42
add al, al
adc eax, dword [edx]
invalid
aaa
inc edx
add byte [eax + 0x38], dh
inc edx
add byte [ebp + 0x37], ah
inc edx
add byte [eax + 0x38], dh
inc edx
add byte [ebp + 0x37], dh
inc edx
add byte [eax + 0x38], dh
inc edx
add byte [ebp + 0x70004237], al
cmp byte [edx], al
xchg ebp, eax
aaa
inc edx
add byte [eax + 0x38], dh
inc edx
add byte [edx + 0x38], bl
cmp byte [edx], al
mov edi, dword [eax]
inc edx
add bl, dl
cmp byte [edx], al
mov edi, dword [eax]
inc edx
add bl, dl
cmp al, 0x42
add byte [edi + 0x1004238], bh
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add bh, dl
cmp eax, 0x3cbd0042
inc edx
add bh, ch
cmp byte [edx], al
sbb byte [ecx], bh
inc edx
add ch, bh
cmp byte [edx], al
sbb byte [ecx], bh
inc edx
add byte [edx], bh
cmp dword [edx], eax
dec eax
cmp dword [edx], eax
pop eax
cmp dword [edx], eax
insd dword es:[edi], dx
cmp dword [edx], eax
and dword [ebx], edi
inc edx
add byte [edi + 0x2100423c], bl
cmp eax, dword [edx]
stosb byte es:[edi], al
cmp al, 66
add byte [ebp - 0x38ffbdc4], bh
cmp al, 0x42
add bl, dl
cmp al, 0x42
add byte [eax + edi + 0x42], ah
add byte [eax + 0x38], dh
inc edx
add byte [eax - 0x7fffbdc8], al
cmp byte [edx], al
cmp byte [eax], 0x42
add byte [eax + 1996505656], al
xor eax, 0x35860042
inc edx
add byte [0xca004236], ah
cmp eax, 0x3dbb0042
inc edx
add byte [edx - 0x35ffbdc3], dh
cmp eax, 0x3db20042
inc edx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esi + 0x2a00425d], bl
pop ebx
inc edx
add byte [ebp + 0x7c004260], ch
pop edx
inc edx
add byte [ecx], dl
pop eax
inc edx
add bh, bl
push ecx
inc edx
add byte [ebx], cl
pop edx
inc edx
add dh, dl
pop ebp
inc edx
add dh, dl
push esi
inc edx
add byte [eax + 0x5a], bl
inc edx
add byte [esi], al
pop ebx
inc edx
add byte [ebx], bh
pushal
inc edx
add byte [edx + 0x58], bh
inc edx
add byte [ecx], ch
push esi
inc edx
add byte [edx - 0x3affbda3], dh
push ebp
inc edx
add byte [esi + 0x58], dl
inc edx
add bh, dh
push edx
inc edx
add byte [edi], dh
pop edx
inc edx
add byte [edx + 0x56], cl
inc edx
add byte [eax], bl
pop esi
inc edx
add ch, ah
pop edx
inc edx
add cl, bh
pop edi
inc edx
add dh, al
pop ecx
inc edx
add byte [ebx + 0x5c004258], bl
push ebp
inc edx
add byte [edx + edx*2], ah
inc edx
add byte [0xf7004258], dh
pop ebp
inc edx
add byte [eax - 0x8ffbda6], ah
push esi
inc edx
add byte [edx], bl
pushal
inc edx
add cl, ch
push ebp
inc edx
add byte [ebx], bl
push edi
inc edx
add cl, al
pop edx
inc edx
add byte [ecx + 0x4c004260], cl
pop esi
inc edx
add byte [ecx + 0x3004257], bh
push edx
inc edx
add byte [eax - 0x15ffbdab], al
pop ecx
inc edx
add byte [ebp + edx*2 + 0x5fe80042], ah
inc edx
add byte [edx], cl
push esi
inc edx
add byte [ebp + 0x5e], ch
inc edx
add ah, ah
pop eax
inc edx
add byte [ebp + 0x3f004256], bl
push edi
inc edx
add byte [esi + edx*2 + 0x60d10042], bh
inc edx
add byte [esi], dh
pop ecx
inc edx
add byte [ebx], cl
pop ecx
inc edx
add al, bl
push edx
inc edx
add byte [esi + 0x5b], cl
inc edx
add byte [eax + 0x42], bl
add byte [esi - 0x40ffbdaf], ch
pop eax
inc edx
add dl, bl
push edi
inc edx
add byte [esi + ebx*2], bh
inc edx
add byte [ecx + 0x61], ch
inc edx
add al, dh
pushal
inc edx
add byte [eax + 0x52], cl
inc edx
add byte [eax], bl
push ebx
inc edx
add byte [ebx + 0x56], ch
inc edx
add byte [edx + ebx*2], ch
inc edx
add byte [ebx], bh
insd dword es:[edi], dx
inc edx
add byte [esi + ebp*2 + 0x42], ah
add byte [0x9f00426c], dl
outsb dx, byte [esi]
inc edx
add byte [ecx + ebp*2 + 0x708e0042], dh
inc edx
add dh, cl
jae 0x4464c1
add byte [0xa400426b], cl
jno 0x4464c9
add cl, cl
je 0x4464cd
add cl, ch
push 0x42
add byte [esi + 0x74], bh
inc edx
add byte [ebp + 0x5a004270], dh
jne 0x4464dd
add cl, al
insd dword es:[edi], dx
inc edx
add byte [edx], dl
jbe 0x4464e5
add bh, bh
imul eax, dword [edx], 0x427797
jmp 0x446523
jb 0x446505
add byte [eax + 0x19004275], ah
je 0x44650d
add bh, bl
ja 0x446511
add ah, bl
jo 0x446515
add byte [ebp + 0x31004274], ah
imul eax, dword [edx], 0xffffff87
insb byte es:[edi], dx
inc edx
add byte [ebx], al
jno 0x446525
add byte [edi], dl
jae 0x446529
add dh, ch
imul eax, dword [edx], 0x7c
imul eax, dword [edx], 0xffffffe5
insd dword es:[edi], dx
inc edx
add byte [ebx - 0x3bffbd89], bh
jne 0x44653d
add byte [edx + 0x70], ch
inc edx
add byte [esi + 0x70], al
inc edx
add byte [ebx], dh
jne 0x446549
add byte [eax + 0x6c], ah
inc edx
add byte [edi + 0x72], ch
inc edx
jb 0x446551
add byte [esi], bh
jae 0x446555
add byte [ecx], bh
jbe 0x446559
add dh, al
outsb dx, byte [esi]
inc edx
add byte [edx], ah
jo 0x446561
add byte [ebp + 0x6b], dl
inc edx
add byte [eax - 0x1bffbd96], cl
push 0x42
add ah, ah
jbe 0x44656d
add ch, ch
je 0x446571
add byte [esp + ebp*2], bh
inc edx
add byte [ebx + 0x600426b], ah
js 0x44657d
add byte [edx + 0x6d], dl
insd dword es:[edi], dx
inc edx
add byte [ebx], ah
push 0x42
add dl, dh
jae 0x446589
add dl, cl
imul eax, dword [edx], 0xfffffff2
insb byte es:[edi], dx
inc edx
add bl, bl
imul eax, dword [edx], 0x426ad6
wait
push 0x42
add byte [ebx + 0x72004273], bl
ja 0x4465a1
jae 0x44659d
add byte [edx + 0x77], dh
inc edx
add byte [edx + 0x73], ah
inc edx
jae 0x4465a5
add byte [esi + 0x75], bh
inc edx
add dl, ch
outsb dx, byte [esi]
inc edx
add byte [edx + 0x77], al
inc edx
ja 0x4465b1
add byte [edx + 0x60004269], dl
jbe 0x4465b9
imul eax, dword [edx], 0x427660
push ss
add byte [esi], dl
insd dword es:[edi], dx
inc edx
add bl, cl
jno 0x4465c1
add byte [ecx], dl
jne 0x4465c5
add cl, ch
jb 0x4465c9
add byte [esi + esi*2 + 0x72930042], bh
inc edx
add al, dl
jbe 0x4465cd
add byte [ebx - 0x2fffbd8e], dl
insb byte es:[edi], dx
inc edx
add byte [ebx], cl
ja 0x4465d9
add byte [0x76004274], bh
insd dword es:[edi], dx
inc edx
add byte [edx], ch
jno 0x4465e5
add byte [ebx + 0x4a00426c], ch
push 0x42
insb byte es:[edi], dx
inc edx
add byte [edx + 0x6a], cl
inc edx
add byte [ebp + 0x72], cl
inc edx
add byte [edi + 0x900426f], al
outsd dx, dword [esi]
inc edx
add byte [ecx], cl
outsb dx, byte [esi]
inc edx
add byte [ebx - 0x4affbd92], cl
outsd dx, dword [esi]
inc edx
add byte [edx + esi*2], al
inc edx
mov ebp, dword [esi + 0x42]
outsb dx, byte [esi]
inc edx
add byte [ebp + 0x400426f], dh
jb 0x446605
add byte [esi], ah
outsb dx, byte [esi]
inc edx
add byte [esi + 0x71], ah
inc edx
jno 0x44660d
add byte [ecx + 0x6e], al
outsb dx, byte [esi]
inc edx
add ah, bl
jb 0x446615
add bl, cl
jnp 0x446619
add dh, al
jnp 0x44661d
add byte [eax + 0x7a00427d], dl
add byte [edx], 0xf3
add byte [edx], 0x8d
add byte [edx], 0x58
add dword [edx], 0x428075
push ss
add byte [eax - 0x7f], bl
inc edx
add byte [ebp - 0x80], dh
inc edx
add byte [esi], dl
add dword [edx], 0x14
add dword [edx], 0xffffff8b
jge 0x446641
add byte [ebx + 0x36004285], dl
xchg byte [edx], al
mov esp, 0x4286
test dword [edx], eax
mov esp, 0xca004286
mov al, byte [0xa6ad0042]
cmpsb byte [esi], byte es:[edi]
inc edx
add byte [edi + 0x70042a6], dh
cmpsb byte [esi], byte es:[edi]
inc edx
add byte [edi], al
mov al, byte [edx]
mov al, byte [0xa0004291]
xchg ecx, eax
inc edx
add al, ah
xchg byte [edx], al
loopne 0x4465b8
inc edx
add byte [eax], ah
xchg dword [edx], eax
pushal
xchg dword [edx], eax
mov dword fs:[edx], eax
rol dword [edi - 0x78c8ffbe], 1
inc edx
add byte [edi + eax*4 + 0x42], ch
add byte [esi - 0x79], al
inc edx
add byte [eax], al
mov byte [edx], al
rol dword [edi - 0x782effbe], 1
inc edx
add al, dl
xchg byte [edx], al
loopne 0x4465eb
xchg dword [edx], eax
aaa
xchg dword [edx], eax
insb byte es:[edi], dx
xchg dword [edx], eax
inc esi
xchg dword [edx], eax
add byte [eax - 0x782effbe], cl
inc edx
add cl, dl
xchg dword [edx], eax
rol byte [esi - 0x761fffbe], 1
inc edx
add dh, ah
mov dword [edx], eax
stc
mov dword [edx], eax
add byte [edx - 0x75fdffbe], cl
inc edx
add byte [edi + ecx*4 - 0x75fdffbe], dl
inc edx
add cl, al
cmpsd dword [esi], dword es:[edi]
inc edx
add byte [eax - 0x49ffbd6c], ah
xchg esp, eax
inc edx
add byte [esi - 0x2fffbd6c], dh
xchg esp, eax
inc edx
add al, ah
xchg esp, eax
inc edx
add byte [esi - 0x6a], ch
inc edx
add byte [ebp - 0x6a], ah
inc edx
add byte [edx - 0x18ffbd6a], ah
xchg esi, eax
inc edx
add byte [0xc3004297], cl
xchg edi, eax
inc edx
add ah, ah
xchg edi, eax
inc edx
add ch, dl
xchg edi, eax
inc edx
add byte [ebx - 0x68], ch
inc edx
add byte [ebx], dh
xchg edi, eax
inc edx
add byte [ebx - 0x69], dh
inc edx
add byte [edx + 0x6b004297], bh
cwde
inc edx
add dh, al
xchg esi, eax
inc edx
add byte [ebx - 0x68], ch
inc edx
add byte [edx - 0x58ffbd64], dh
pushfd
inc edx
add byte [ecx - 0x3dffbd60], bh
mov al, byte [0x10042]
add byte [eax], al
ret 0x42a0