Function at 0x41c31a
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x428
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov esi, 0xfffffffe
nop
nop
nop
nop
nop
nop
cmp word [eax + esi + 2], 0
lea esi, [esi + 2]
jne 0x418ea0
sar esi, 1
lea ecx, [esp + 0x70]
push ecx
push 0
push 0
push esi
push eax
push 0
call dword [0x44cda8]
mov dword [esp + 0xe8], 0xd19e9f79
mov word [esp + 0xec], 0
mov ecx, 0x65
mov edi, 0x9a
nop
movzx ebx, byte [esp + ecx + 0x83]
mov edx, edi
or edx, ebx
not ebx
or ebx, ecx
and ebx, edx
mov dl, 6
sub dl, bl
mov byte [esp + ecx + 0x83], dl
inc ecx
dec edi
cmp ecx, 0x6b
jne case.default.0x418f12
xor ecx, ecx
cmp eax, dword [esp + 0xe8]
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x4466e0]
mov ebx, dword [esp + 0x70]
test ebx, ebx
jns 0x418f28
mov eax, 0xffffffff
jmp 0x418f2b
lea eax, [ebx + ebx]
push eax
call fcn.004083e0
add esp, 4
lea ecx, [esp + 0x70]
push ecx
push ebx
mov dword [esp + 0x2c], eax
push eax
push esi
mov eax, dword [ebp + 0xc]
push dword [eax + 4]
push 0
call dword [0x44cda8]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4466e8]
xor eax, eax
jmp dword [0x4466f0]
push dword [esp + 0x24]
call fcn.004083f0
add esp, 4
mov ecx, dword [case.0x418f12.0]
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
jmp dword [0x446708]
mov eax, dword [esp + 0x70]
shr eax, 0xc
and eax, 0xfffffffe
push eax
call fcn.004083e0
add esp, 4
mov dword [esp + 4], eax
mov dword [esp + 0xe8], 0xb9c6bbe8
mov dword [esp + 0xec], 0xbd2bbfdf
mov dword [esp + 0xf0], 0xb192b328
mov dword [esp + 0xf4], 0xb52db7da
mov dword [esp + 0xf8], 0xa93fab22
mov dword [esp + 0xfc], 0xad3faf37
mov dword [esp + 0x100], 0xa1a2a33e
mov dword [esp + 0x104], 0
mov ecx, 7
xor eax, eax
nop
nop
movzx esi, byte [esp + ecx + 0xe1]
mov ebx, esi
xor ebx, 0xc6
mov edi, esi
or edi, 0x39
and edi, ebx
mov edx, eax
and edx, 6
lea ebx, [eax - 0x3145d7a0]
and ebx, 0xc6200839
or ebx, edx
mov edx, ecx
and edx, 6
xor edx, 0x89a2046
or ebx, edx
and esi, 0xffffffc6
xor esi, 0x38da32c6
or esi, edi
xor ebx, 0xc725cd39
mov edx, esi
and edx, ebx
add ebx, esi
add edx, edx
sub ebx, edx
add bl, 0xe5
mov byte [esp + ecx + 0xe1], bl
inc ecx
dec eax
cmp ecx, 0x27
jne 0x419000
mov eax, dword [esp + 0x24]
movzx edx, word [eax]
mov edi, dword [esp + 4]
mov ecx, edi
test dx, dx
je 0x419091
mov eax, dword [esp + 0x24]
lea esi, [eax + 2]
mov ecx, edi
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x419080
mov word [ecx], 0
movzx edx, word [esp + 0xe8]
test dx, dx
je 0x4190c1
lea esi, [esp + 0xea]
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x4190b0
mov word [ecx], 0
lea eax, [esp + 0x2a0]
push 0x60
push 3
push 0x120089
push eax
push edi
call fcn.00440c90
add esp, 0x14
jmp case.0x418f12.9
mov word [eax], 0
lea eax, [esp + 0x2a0]
push 0x60
push 3
push 0x120089
push eax
push ebx
call fcn.00440c90
add esp, 0x14
jmp dword [0x446710]
mov eax, dword [esp + 0x70]
mov ecx, eax
add ecx, 0xd
jns 0x419130
mov eax, 0xffffffff
jmp 0x419137
lea eax, [eax*2 + 0x1a]
mov ecx, dword [esp + 0x24]
add ecx, 2
mov dword [esp], ecx
push eax
call fcn.004083e0
add esp, 4
mov dword [esp + 4], eax
mov dword [esp + 0xe8], 0xb9c6bbe8
mov dword [esp + 0xec], 0xbd2bbfdf
mov dword [esp + 0xf0], 0xb192b328
mov dword [esp + 0xf4], 0xb52db7da
mov dword [esp + 0xf8], 0xa93fab22
mov dword [esp + 0xfc], 0xad3faf37
mov dword [esp + 0x100], 0xa1a2a33e
mov dword [esp + 0x104], 0
mov eax, 7
xor edi, edi
nop
nop
nop
movzx edx, byte [esp + eax + 0xe1]
mov ebx, edx
xor ebx, 0xc6
mov esi, edx
or esi, 0x39
and esi, ebx
mov ecx, edi
and ecx, 6
lea ebx, [edi - 0x3145d7a0]
and ebx, 0xc6200839
or ebx, ecx
mov ecx, eax
and ecx, 6
xor ecx, 0x89a2046
or ebx, ecx
and edx, 0xffffffc6
xor edx, 0x38da32c6
or edx, esi
xor ebx, 0xc725cd39
mov ecx, edx
and ecx, ebx
add ebx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0xe5
mov byte [esp + eax + 0xe1], bl
inc eax
dec edi
cmp eax, 0x27
jne 0x4191b0
mov eax, dword [esp + 0x24]
movzx ecx, word [eax]
mov ebx, dword [esp + 4]
mov eax, ebx
test cx, cx
mov edx, dword [esp]
je 0x419241
mov eax, ebx
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x419230
mov word [eax], 0
movzx ecx, word [esp + 0xe8]
test cx, cx
je 0x4190f0
lea edx, [esp + 0xea]
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x419260
jmp 0x4190f0
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446718]
lea eax, [esp + 0x28]
push 0
push eax
push dword [esp + 0x2a8]
call fcn.00440f80
add esp, 0xc
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446720]
mov edi, dword [esp + 0x28]
push edi
call fcn.004083e0
add esp, 4
mov esi, eax
push 0
push edi
push eax
push dword [esp + 0x2ac]
call fcn.00441030
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446728]
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax]
mov eax, 0xfffffffe
nop
nop
nop
nop
cmp word [ebx + eax + 2], 0
lea eax, [eax + 2]
jne 0x4192e0
cmp eax, 0xffffffd7
jge 0x4192f7
mov eax, 0xffffffff
jmp 0x4192fa
add eax, 0x28
push eax
call fcn.004083e0
add esp, 4
mov dword [esp], eax
mov dword [esp + 0xe8], 0x61246755
mov dword [esp + 0xec], 0x7d136312
mov dword [esp + 0xf0], 0x79f37ff5
mov dword [esp + 0xf4], 0x75087b07
mov dword [esp + 0xf8], 0x7109771a
mov dword [esp + 0xfc], 0x8dff7302
mov dword [esp + 0x100], 0x89ff8ff7
mov dword [esp + 0x104], 0x85bc8bfe
mov dword [esp + 0x108], 0x810e8708
mov dword [esp + 0x10c], 0x9d82830c
mov dword [esp + 0x110], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, eax
and edi, 0x52
mov edx, ecx
xor edx, 0xe9
add edx, edi
xor dl, byte [esp + ecx + 0xe8]
add dl, 0x73
mov byte [esp + ecx + 0xe8], dl
inc ecx
add eax, 2
cmp ecx, 0x2c
jne 0x419390
movzx ecx, word [ebx]
mov edx, dword [esp]
mov eax, edx
test cx, cx
je 0x4193e1
add ebx, 2
mov eax, edx
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x4193d0
mov word [eax], 0
movzx edi, word [esp + 0xe8]
test di, di
je 0x419413
lea edx, [esp + 0xea]
mov ecx, dword [ebp + 8]
nop
nop
nop
mov word [eax], di
add eax, 2
movzx edi, word [edx]
add edx, 2
test di, di
jne 0x419400
jmp 0x419416
mov ecx, dword [ebp + 8]
mov word [eax], 0
push dword [esp + 0x28]
push esi
mov edi, dword [esp + 8]
push edi
call fcn.004090d0
jmp dword [0x446730]
push edi
call fcn.004083f0
add esp, 4
jmp dword [0x446738]
jmp dword [0x446738]
push esi
call fcn.004083f0
add esp, 4
mov eax, dword [esp + 0x2a0]
mov dword [esp + 0xe8], 0x7c7d7a7b
mov word [esp + 0xec], 0
mov byte [esp + 0xee], 0
mov ecx, 0xad88646a
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x52779c7e]
mov ebx, edx
and ebx, ecx
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0xee
mov byte [esp + ecx + 0x52779c7e], dl
inc ecx
cmp ecx, 0xad886471
jne 0x419480
mov ecx, dword [0x44cdac]
test ecx, ecx
mov ebx, dword [esp + 4]
je case.0x418f12.13
mov edx, dword [esp + 0xe8]
xor esi, esi
mov edi, dword [0x44cdb0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x4194e0
inc esi
cmp ecx, esi
jne 0x4194d0
jmp case.0x418f12.13
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x419728
jmp dword [0x446740]
push ebx
call fcn.004083f0
add esp, 4
mov eax, dword [esp + 0x70]
mov ecx, eax
add ecx, 0xc
jns 0x41950d
mov eax, 0xffffffff
jmp 0x419514
lea eax, [eax*2 + 0x18]
push eax
call fcn.004083e0
add esp, 4
mov esi, eax
mov dword [esp + 0xe8], 0x1f521944
mov dword [esp + 0xec], 0x63c51daf
mov dword [esp + 0xf0], 0x67ca61c1
mov dword [esp + 0xf4], 0x6b3d6504
mov dword [esp + 0xf8], 0x6fcf69dc
mov dword [esp + 0xfc], 0x73d76dd8
mov word [esp + 0x100], 0x7170
mov dword [esp + 0x102], 0
mov word [esp + 0x106], 0
mov eax, 0xba
mov ecx, 0x45
nop
nop
nop
nop
nop
nop
mov edi, ecx
and edi, 0x6f
mov edx, eax
and edx, 0x90
or edx, edi
xor dl, byte [esp + eax + 0x2e]
xor dl, 0x6f
add dl, 0x5e
mov byte [esp + eax + 0x2e], dl
inc eax
dec ecx
cmp eax, 0xda
jne 0x419590
mov eax, dword [esp + 0x24]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x4195e1
mov eax, dword [esp + 0x24]
lea edx, [eax + 2]
mov eax, esi
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4195d0
mov word [eax], 0
movzx ecx, word [esp + 0xe8]
test cx, cx
je 0x419611
lea edx, [esp + 0xea]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x419600
mov word [eax], 0
lea eax, [esp + 0x7c]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.00440c90
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446748]
jmp dword [0x446750]
push dword [esp + 0x24]
call fcn.004083f0
add esp, 4
jmp dword [0x446758]
jmp dword [0x446760]
push esi
call fcn.004083f0
add esp, 4
lea eax, [esp + 0xe8]
push 0
push eax
push dword [esp + 0x84]
call fcn.00440f80
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x74], 0
jmp dword [eax*4 + 0x446768]
mov edi, dword [esp + 0xe8]
lea eax, [edi + 1]
push eax
call fcn.004083e0
add esp, 4
mov esi, eax
push 0
push edi
push eax
push dword [esp + 0x88]
call fcn.00441030
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446770]
mov dword [esp + 0x74], 0
jmp dword [0x446778]
jmp dword [0x446758]
push esi
call fcn.004083f0
add esp, 4
xor eax, eax
jmp case.0x418f12.0
mov eax, dword [esp + 0xe8]
mov byte [esi + eax], 0
push esi
call fcn.00401000
add esp, 4
mov dword [esp + 0x74], eax
jmp dword [0x446778]
push esi
call fcn.004083f0
add esp, 4
mov eax, dword [case.0x418f12.33]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x446790]
push eax
push 4
push ecx
push dword [0x44cdb4]
call fcn.0043e5b0
add esp, 0x10
jmp dword [0x446740]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
mov eax, 0xfffffffe
mov ecx, dword [esp + 0x6c]
nop
nop
cmp word [edx + eax + 2], 0
lea eax, [eax + 2]
jne 0x419750
cmp eax, 0xffffffef
mov dword [esp], edx
jge 0x41976e
mov dword [esp + 0x6c], ecx
mov eax, 0xffffffff
jmp 0x419775
mov dword [esp + 0x6c], ecx
add eax, 0x10
push eax
call fcn.004083e0
add esp, 4
mov dword [esp + 4], eax
mov dword [esp + 0xe8], 0xd77ac93b
mov dword [esp + 0xec], 0xd320d564
mov dword [esp + 0xf0], 0xdf66d16c
mov dword [esp + 0xf4], 0xdbdadd60
mov byte [esp + 0xf8], 0
mov edx, 0x849b382e
mov esi, 0x7b64c7d1
movzx edi, byte [esp + edx + 0x7b64c8ba]
mov eax, esi
or eax, edi
lea ebx, [esi - 0x7b64c700]
and ebx, edi
xor ebx, eax
and ebx, edx
mov eax, ebx
or al, 0xfd
inc al
mov ecx, ebx
and cl, 0x7d
mul cl
mov ecx, eax
mov eax, edi
add cl, al
mov eax, ebx
shr al, 1
and al, 1
or bl, 2
mul bl
add al, al
sub cl, al
movzx eax, cl
add eax, edx
add al, 0x1a
mov byte [esp + edx + 0x7b64c8ba], al
inc edx
dec esi
cmp edx, 0x849b383f
jne 0x4197c0
mov esi, dword [esp]
movzx ecx, word [esi]
mov edx, dword [esp + 4]
mov eax, edx
test cx, cx
je 0x419841
add esi, 2
mov eax, edx
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x419830
mov word [eax], 0
movzx esi, word [esp + 0xe8]
test si, si
mov ecx, dword [ebp + 8]
mov ebx, dword [esp + 0x6c]
je 0x419881
lea edx, [esp + 0xea]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], si
add eax, 2
movzx esi, word [edx]
add edx, 2
test si, si
jne 0x419870
mov word [eax], 0
push dword [esp + 0x28]
push dword [esp + 0x30]
mov esi, dword [esp + 0xc]
push esi
call fcn.004090d0
jmp dword [0x4467b0]
push esi
call fcn.004083f0
add esp, 4
push 0xa7ffa4f5
push dword [0x44cda0]
call fcn.004402e0
add esp, 8
push dword [esp + 0x2c]
call eax
jmp dword [0x4467b8]
xor eax, eax
xor ebx, ebx
jmp dword [0x44696c]
mov dword [esp + 8], ebx
jmp dword [0x4468b0]
push dword [esp + 8]
call fcn.004083f0
add esp, 4
cmp dword [esp + 0x2a0], 0
je 0x419918
push 0xff2f0998
push dword [0x44cdc0]
call fcn.004402e0
add esp, 8
push dword [esp + 0x2a0]
call eax
mov eax, dword [esp + 0xc]
mov ebx, eax
jmp dword [0x44696c]
mov eax, dword [esp + 0xc]
mov ebx, eax
jmp dword [0x44696c]
mov edi, dword [esp + 0x20]
inc edi
mov esi, dword [esp + 0x94]
push esi
call fcn.00401b10
add esp, 4
xor ecx, ecx
cmp edi, eax
setb cl
jmp dword [ecx*4 + 0x4468c0]
mov dword [esp + 0x20], edi
push edi
push esi
call fcn.00401b20
add esp, 8
movzx ecx, byte [eax]
test cl, cl
je 0x4199bf
mov esi, eax
inc eax
xor ebx, ebx
jmp 0x419979
inc ebx
movzx ecx, byte [eax]
inc eax
test cl, cl
je 0x4199c3
test cl, cl
jns 0x419970
movsx ecx, cl
mov edx, ecx
and edx, 0xe0
cmp edx, 0xc0
je 0x419970
mov edx, ecx
not edx
or edx, 0xf0
add edx, ecx
cmp edx, 0xdf
je 0x419970
and ecx, 0xf8
cmp ecx, 0xf0
jne 0x419971
mov ecx, ebx
and ecx, 2
xor ebx, 2
lea ebx, [ebx + ecx*2]
jmp 0x419971
mov esi, eax
xor ebx, ebx
mov edi, ebx
inc edi
jns 0x4199cf
mov eax, 0xffffffff
jmp 0x4199d6
lea eax, [ebx*2 + 2]
mov ecx, dword [esp + 8]
add ecx, 2
mov dword [esp], ecx
push eax
call fcn.004083e0
add esp, 4
push 0
push esi
push edi
mov dword [esp + 0x10], eax
push eax
call fcn.0040aa30
add esp, 0x10
mov dword [esp + 0x28], 0x134073f
mov dword [esp + 0x2c], 0xd5a0332
lea eax, [esp + 0x30]
mov word [esp + 0x30], 0xf0c
mov dword [esp + 0x32], 0
xor ecx, ecx
nop
mov edx, ecx
add dl, 0x81
xor dl, byte [esp + ecx + 0x28]
add dl, 0x7b
mov byte [esp + ecx + 0x28], dl
inc ecx
cmp ecx, 0xe
jne 0x419a20
lea edi, [esp + 0xda]
lea edx, [esp + 0x28]
mov ecx, 2
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xe2]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [0x4462a0]
mov eax, ecx
and eax, 0x367b0cdd
lea edx, [eax + eax]
not edx
add edx, eax
or ecx, 0x367b0cdd
and ecx, edx
mov edi, 0x66666667
mov eax, ecx
imul edi
mov eax, edx
shr eax, 0x1f
shr edx, 2
add edx, eax
add edx, edx
lea eax, [edx + edx*4]
neg eax
add eax, ecx
add eax, 0x30
mov word [esp + 0xe0], ax
call fcn.00408a70
mov ecx, eax
imul edi
mov eax, edx
shr eax, 0x1f
sar edx, 1
add edx, eax
lea eax, [edx + edx*4]
sub ecx, eax
mov eax, 0x367b0cdd
xor eax, dword [0x4462a0]
lea edx, [ecx + eax]
add eax, ecx
inc eax
not eax
mov ecx, eax
and ecx, 0xa4d3b651
or eax, 0x5b2c49ae
add edx, eax
add edx, 2
mov eax, ecx
xor eax, edx
not edx
and edx, ecx
add eax, ecx
sub eax, edx
lea ecx, [eax + eax]
and ecx, 0x25517518
neg ecx
add eax, ecx
add eax, 0x92a8ba8c
mov dword [0x4462a0], eax
mov dword [esp + 0x268], 0x18
mov dword [esp + 0x26c], 0
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
mov dword [esp + 0x27c], 0
mov dword [esp + 0x28], 0x7c7d7a7b
lea eax, [esp + 0x29]
mov byte [eax + 5], 0
mov word [eax + 3], 0
mov eax, 0xad88646a
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x52779bbe]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xee
mov byte [esp + eax + 0x52779bbe], cl
inc eax
cmp eax, 0xad886471
jne 0x419b60
mov eax, dword [esp + 0x28]
mov ecx, dword [0x44cdac]
test ecx, ecx
je case.default.0x419be0
xor edx, edx
mov edi, dword [0x44cdb0]
nop
nop
nop
cmp dword [edi + edx*8], 0x933fb3da
je 0x419bb0
inc edx
cmp ecx, edx
jne 0x419ba0
jmp case.default.0x419be0
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, eax
je case.default.0x419be0
lea eax, [esp + 0x268]
lea edx, [esp + 0x78]
push eax
push 0x1f003f
push edx
push 0xc
push ecx
push dword [0x44cdb4]
call fcn.0043e5b0
add esp, 0x18
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4468d0]
mov dword [esp + 0x28], 0x7c7d7a7b
lea eax, [esp + 0x29]
mov byte [eax + 5], 0
mov word [eax + 3], 0
mov eax, 0xad88646a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x52779bbe]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xee
mov byte [esp + eax + 0x52779bbe], cl
inc eax
cmp eax, 0xad886471
jne 0x419c10
mov eax, dword [esp + 0x28]
mov ecx, dword [0x44cdac]
test ecx, ecx
je case.default.0x419c8f
xor edx, edx
mov edi, dword [0x44cdb0]
nop
nop
nop
cmp dword [edi + edx*8], 0xb03b7ac0
je 0x419c60
inc edx
cmp ecx, edx
jne 0x419c50
jmp case.default.0x419c8f
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, eax
je case.default.0x419c8f
lea eax, [esp + 0x98]
push 1
push 0
push 0x1f0003
push eax
push 0x10
push ecx
push dword [0x44cdb4]
call fcn.0043e5b0
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4468d8]
mov esi, dword [esp + 0x78]
mov dword [esp + 0x298], esi
mov eax, dword [esp + 0x98]
mov dword [esp + 0x29c], eax
mov dword [esp + 0x28], 0x7c7d7a7b
lea eax, [esp + 0x29]
mov byte [eax + 5], 0
mov word [eax + 3], 0
mov eax, 0xad88646a
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x52779bbe]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xee
mov byte [esp + eax + 0x52779bbe], cl
inc eax
cmp eax, 0xad886471
jne 0x419cd0
mov eax, dword [esp + 0x28]
mov edx, dword [0x44cdac]
test edx, edx
je case.default.0x419d4b
xor edi, edi
mov ecx, dword [0x44cdb0]
nop
nop
nop
cmp dword [ecx + edi*8], 0x9785458
je 0x419d20
inc edi
cmp edx, edi
jne 0x419d10
jmp case.default.0x419d4b
mov ecx, dword [ecx + edi*8 + 4]
cmp ecx, eax
je case.default.0x419d4b
lea eax, [esp + 0x298]
push 8
push eax
push 7
push esi
push 0x10
push ecx
push dword [0x44cdb4]
call fcn.0043e5b0
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4468e0]
mov dword [esp + 0x28], 0x3321238a
mov byte [esp + 0x2c], 0x84
lea eax, [esp + 0x29]
mov word [eax + 8], 0
mov dword [eax + 4], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x28]
mov edx, eax
and edx, 7
xor edx, 0x3febbfe7
mov edi, eax
and edi, 8
xor ecx, 0x2be12d87
lea esi, [edx + edi]
add edx, edi
add edx, 0xff1edb80
and edx, ecx
add ecx, esi
add ecx, 0xff1edb80
add edx, edx
sub ecx, edx
add cl, 0xa0
mov byte [esp + eax + 0x28], cl
inc eax
cmp eax, 0xb
jne 0x419d80
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x28]
test cl, cl
je 0x419deb
lea edx, [esp + 0x29]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x419de0
mov byte [eax], 0
mov dword [esp + 0x10], eax
mov eax, 0xfffffffe
mov ecx, dword [esp + 8]
nop
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x419e00
sar eax, 1
add eax, 0x37
mov ecx, eax
and ecx, ebx
xor eax, ebx
lea eax, [eax + ecx*2]
test eax, eax
jns 0x419e24
mov eax, 0xffffffff
jmp 0x419e26
add eax, eax
lea ebx, [esp + 0x15]
push eax
call fcn.004083e0
add esp, 4
mov dword [esp + 0x90], eax
mov word [eax], 0x22
mov dword [esp + 0xa0], 0x93479170
mov dword [esp + 0xa4], 0x9f0e9d49
mov dword [esp + 0xa8], 0x9b0d990a
mov dword [esp + 0xac], 0x872f852a
mov dword [esp + 0xb0], 0x832f8114
mov dword [esp + 0xb4], 0x8f228d59
mov dword [esp + 0xb8], 0x8b188921
mov dword [esp + 0xbc], 0x77d575d9
mov dword [esp + 0xc0], 0x73e571ec
mov dword [esp + 0xc4], 0x7fe77dee
mov dword [esp + 0xc8], 0x7b9879bd
mov word [esp + 0xcc], 0x6564
mov dword [esp + 0xce], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, eax
and edx, 0x48
mov esi, ecx
xor esi, 0xd5b39de4
mov edi, edx
and edi, esi
xor esi, edx
movzx edx, byte [esp + ecx + 0xa0]
lea esi, [esi + edi*2]
xor esi, edx
lea edx, [esi - 0x2c821575]
mov edi, 0x74
sub edi, esi
mov esi, edx
and edi, 0xfe
and edx, 0xfffffffe
xor edx, 0xfe
or edx, edi
and esi, 1
or edx, esi
not edx
lea edx, [edx + esi*2]
mov byte [esp + ecx + 0xa0], dl
inc ecx
add eax, 2
cmp ecx, 0x32
jne 0x419ee0
mov dword [esp + 0x28], 0x791a7b62
mov dword [esp + 0x2c], 0x7d2d7f2b
mov dword [esp + 0x30], 0x71e973ea
mov dword [esp + 0x34], 0x75e777e3
mov dword [esp + 0x38], 0x69f16be0
mov dword [esp + 0x3c], 0x6dca6f3b
mov dword [esp + 0x40], 0x61c463f7
mov dword [esp + 0x44], 0x65ff67eb
mov dword [esp + 0x48], 0x59c55bfd
mov dword [esp + 0x4c], 0x5dc75fca
mov dword [esp + 0x50], 0x51c2530f
mov dword [esp + 0x54], 0x55c057c1
mov dword [esp + 0x58], 0x49094bc0
mov word [esp + 0x5c], 0x4f48
mov dword [esp + 0x5e], 0
mov eax, 0x586e04c1
mov ecx, 0xa791fb3f
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x586e04e9]
lea esi, [edx + edx]
not esi
add esi, edx
and esi, 0x3a9c146
and edx, 0xffffffb9
or edx, esi
mov esi, ecx
or esi, 0x3a9c146
add esi, eax
mov edi, ecx
and edi, 0xa4103a39
or edi, esi
xor edi, edx
lea edx, [edi + edi]
and edx, 0x744c2f88
mov esi, edx
and esi, edi
xor edx, edi
xor edx, 0xc4
lea edx, [edx + esi*2]
inc dl
mov byte [esp + ecx + 0x586e04e9], dl
dec eax
inc ecx
cmp eax, 0x586e0487
jne 0x419fc0
mov eax, dword [esp + 0x90]
add eax, 2
mov ecx, dword [esp + 8]
movzx ecx, word [ecx]
test cx, cx
je 0x41a053
mov edx, dword [esp + 4]
lea edi, [esp + 0xa2]
mov esi, dword [esp]
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x41a040
jmp 0x41a05e
mov edx, dword [esp + 4]
lea edi, [esp + 0xa2]
mov word [eax], 0
movzx ecx, word [esp + 0x28]
test cx, cx
lea esi, [esp + 0x2a]
je 0x41a091
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 [esi]
add esi, 2
test cx, cx
jne 0x41a080
mov word [eax], 0
movzx ecx, word [esp + 0xda]
test cx, cx
je 0x41a0c1
lea esi, [esp + 0xdc]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x41a0b0
mov word [eax], 0
movzx ecx, word [esp + 0xa0]
test cx, cx
je 0x41a0f1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x41a0e0
mov word [eax], 0
movzx ecx, word [edx]
test cx, cx
je 0x41a121
add edx, 2
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 0x41a110
mov dword [eax], 0x22
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0x44
xor eax, eax
cmp dword [esp + 0x2a0], 0
setne al
jmp dword [eax*4 + 0x4468e8]
xor eax, eax
jmp 0x41a1ce
lea eax, [esp + 0x2a4]
mov dword [esp + 0x30], eax
push 0xef6ed546
push dword [0x44cda0]
call fcn.004402e0
add esp, 8
lea ecx, [esp + 0xa0]
push ecx
lea ecx, [esp + 0x2c]
push ecx
push 0
push 0
push 0xc
push 0
push 0
push 0
push dword [esp + 0xb0]
push dword [esp + 0x2c]
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4468f0]
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x14], 0x7c7d7a7b
mov byte [ebx + 5], 0
mov word [ebx + 3], 0
mov edx, 0xad88646a
nop
nop
movzx eax, byte [esp + edx + 0x52779baa]
mov ebx, eax
and ebx, edx
add bl, bl
sub al, bl
movzx eax, al
add eax, edx
add al, 0xee
mov byte [esp + edx + 0x52779baa], al
inc edx
cmp edx, 0xad886471
jne 0x41a240
mov edx, dword [0x44cdac]
test edx, edx
je 0x41a2aa
mov esi, dword [esp + 0x14]
xor ebx, ebx
mov edi, dword [0x44cdb0]
cmp dword [edi + ebx*8], 0xe137e14b
je 0x41a28d
inc ebx
cmp edx, ebx
jne 0x41a27d
jmp 0x41a2aa
mov edx, dword [edi + ebx*8 + 4]
cmp edx, esi
je 0x41a2aa
push dword [esp]
push ecx
push 8
push edx
push dword [0x44cdb4]
call fcn.0043e5b0
add esp, 0x14
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x14], 0x7c7d7a7b
lea ecx, [esp + 0x15]
mov byte [ecx + 5], 0
mov word [ecx + 3], 0
mov ecx, 0xad88646a
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x52779baa]
mov ebx, edx
and ebx, ecx
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0xee
mov byte [esp + ecx + 0x52779baa], dl
inc ecx
cmp ecx, 0xad886471
jne 0x41a2d0
mov ecx, dword [0x44cdac]
test ecx, ecx
je 0x41a322
mov edx, dword [esp + 0x14]
xor esi, esi
mov edi, dword [0x44cdb0]
lea ebx, [esp + 0x15]
cmp dword [edi + esi*8], 0x63f96465
je 0x41a328
inc esi
cmp ecx, esi
jne 0x41a312
jmp 0x41a34b
lea ebx, [esp + 0x15]
jmp 0x41a34b
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x41a34b
push 0
push eax
push 8
push ecx
push dword [0x44cdb4]
call fcn.0043e5b0
add esp, 0x14
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x14], 0x7c7d7a7b
mov byte [ebx + 5], 0
mov word [ebx + 3], 0
mov ecx, 0xad88646a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x52779baa]
mov ebx, edx
and ebx, ecx
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0xee
mov byte [esp + ecx + 0x52779baa], dl
inc ecx
cmp ecx, 0xad886471
jne 0x41a370
mov ecx, dword [0x44cdac]
test ecx, ecx
lea ebx, [esp + 0x15]
je 0x41a3dc
mov edx, dword [esp + 0x14]
xor esi, esi
mov edi, dword [0x44cdb0]
cmp dword [edi + esi*8], 0x1b6183f2
je 0x41a3c2
inc esi
cmp ecx, esi
jne 0x41a3b2
jmp 0x41a3dc
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x41a3dc
push eax
push 4
push ecx
push dword [0x44cdb4]
call fcn.0043e5b0
add esp, 0x10
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x14], 0x7c7d7a7b
mov byte [ebx + 5], 0
mov word [ebx + 3], 0
mov ecx, 0xad88646a
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x52779baa]
mov ebx, edx
and ebx, ecx
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0xee
mov byte [esp + ecx + 0x52779baa], dl
inc ecx
cmp ecx, 0xad886471
jne 0x41a400
mov ecx, dword [0x44cdac]
test ecx, ecx
je 0x41a468
mov edx, dword [esp + 0x14]
xor esi, esi
mov edi, dword [0x44cdb0]
cmp dword [edi + esi*8], 0x1b6183f2
je 0x41a44e
inc esi
cmp ecx, esi
jne 0x41a43e
jmp 0x41a468
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x41a468
push eax
push 4
push ecx
push dword [0x44cdb4]
call fcn.0043e5b0
add esp, 0x10
mov dword [esp + 0x28c], 0xffffffff
mov dword [esp + 0x288], 0xee1e5d00
mov dword [esp], 0
lea ebx, [esp + 0x15]
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x14], 0x7c7d7a7b
mov byte [ebx + 5], 0
mov word [ebx + 3], 0
mov eax, 0xad88646a
nop
nop
movzx ebx, byte [esp + eax + 0x52779baa]
mov edx, ebx
and edx, eax
add dl, dl
sub bl, dl
movzx edx, bl
add edx, eax
add dl, 0xee
mov byte [esp + eax + 0x52779baa], dl
inc eax
cmp eax, 0xad886471
jne 0x41a4b0
mov eax, dword [esp + 0x14]
mov edx, dword [0x44cdac]
test edx, edx
je case.default.0x41a557
xor esi, esi
mov edi, dword [0x44cdb0]
nop
nop
nop
cmp dword [edi + esi*8], 0x7d5d6260
je 0x41a500
inc esi
cmp edx, esi
jne 0x41a4f0
jmp case.default.0x41a557
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je case.default.0x41a557
lea eax, [esp + 0x288]
lea esi, [esp + 0x290]
lea edi, [esp + 0x420]
lea ebx, [esp + 0xe4]
push eax
push esi
push edi
push ebx
push ecx
push 0x14
push edx
push dword [0x44cdb4]
call fcn.0043e5b0
add esp, 0x20
nop
nop
nop
nop
nop
nop
cmp eax, 0x102
setne cl
or eax, dword [esp + 0x290]
setns al
and al, cl
movzx eax, al
jmp dword [eax*4 + 0x4468f8]
mov eax, 1
mov ecx, dword [case.0x41a557.8]
lea ebx, [esp + 0x15]
jmp case.0x41a557.6
mov eax, dword [esp + 0xe4]
xor ecx, ecx
cmp eax, dword [esp + 0x78]
sete cl
lea ebx, [esp + 0x15]
jmp dword [ecx*4 + 0x446900]
mov eax, dword [esp + 0x294]
xor ecx, ecx
cmp eax, 6
sete cl
mov edx, dword [esp]
and dl, 1
movzx edx, dl
mov esi, ecx
not esi
and esi, edx
xor ecx, edx
add ecx, edx
cmp ecx, esi
setne cl
cmp eax, 7
sete al
mov dword [esp], ecx
and al, cl
movzx eax, al
jmp dword [eax*4 + 0x446908]
mov dword [esp + 0x284], 0xffffffff
mov dword [esp + 0x280], 0xffb3b4c0
mov dword [esp + 0x14], 0x7c7d7a7b
mov byte [ebx + 5], 0
mov word [ebx + 3], 0
mov eax, 0xad88646a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x52779baa]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xee
mov byte [esp + eax + 0x52779baa], cl
inc eax
cmp eax, 0xad886471
jne 0x41a600
mov eax, dword [0x44cdac]
test eax, eax
je 0x41a712
mov ecx, dword [esp + 0x14]
xor edx, edx
mov esi, dword [0x44cdb0]
cmp dword [esi + edx*8], 0xc45ebd31
je 0x41a6ef
mov edi, edx
and edi, 1
xor edx, 1
lea edx, [edx + edi*2]
cmp edx, eax
jb 0x41a640
jmp 0x41a712
mov dword [esp + 0x14], 0x605051ca
mov byte [esp + 0x18], 0xc4
mov byte [ebx + 6], 0
mov word [ebx + 4], 0
mov eax, 0xb0
mov ecx, 0x4f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x9c]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0x90
mov byte [esp + eax - 0x9c], dl
inc eax
dec ecx
cmp eax, 0xb8
jne 0x41a690
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
test cl, cl
je 0x41a6db
lea edx, [esp + 0x15]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x41a6d0
mov byte [eax], 0
mov dword [esp + 0x10], eax
mov eax, 1
mov ecx, dword [case.0x41a557.8]
jmp case.0x41a557.6
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je 0x41a712
lea ecx, [esp + 0x280]
push ecx
push 0
push 8
push eax
push dword [0x44cdb4]
call fcn.0043e5b0
add esp, 0x14
xor eax, eax
mov ecx, dword [case.0x41a557.8]
nop
nop
nop
nop
nop
nop
jmp ecx
jmp dword [eax*4 + 0x446920]
jmp 0x41a490
mov dword [esp + 0x14], 0x9381803a
mov dword [esp + 0x18], 0x27465844
mov eax, 0x207cd408
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x207cd3f4]
xor ecx, eax
mov edx, 0xa2702428
sub edx, ecx
or edx, 1
add edx, ecx
add edx, 0x5d8fdbd8
mov esi, edx
and esi, 0xfffffffd
mov edi, edx
and edi, 2
or edx, 2
imul edx, edi
xor edi, 2
imul edi, esi
add ecx, 0x5d8fdbd7
add edx, edi
mov esi, edx
and esi, ecx
xor edx, ecx
xor edx, 1
lea ecx, [edx + esi*2]
mov byte [esp + eax - 0x207cd3f4], cl
inc eax
cmp eax, 0x207cd410
jne 0x41a750
mov esi, dword [esp + 0x10]
movzx eax, byte [esp + 0x14]
test al, al
je 0x41a7cb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x41a7c0
mov byte [esi], 0
push 0xcdbb945e
push dword [0x44cda0]
call fcn.004402e0
add esp, 8
call eax
lea ecx, [esp + 0x14]
push 0x10
push 9
push ecx
push eax
call fcn.0041d4e0
add esp, 0x10
movzx ecx, byte [eax]
test cl, cl
je 0x41a80b
inc eax
nop
nop
nop
mov byte [esi], cl
inc esi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x41a800
mov byte [esi], 0
mov dword [esp + 0x10], esi
jmp dword [0x446928]
push dword [esp + 0x90]
call fcn.004083f0
add esp, 4
mov eax, dword [esp + 0x98]
mov dword [esp + 0x28], 0x7c7d7a7b
lea ecx, [esp + 0x29]
mov byte [ecx + 5], 0
mov word [ecx + 3], 0
mov ecx, 0xad88646a
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x52779bbe]
mov ebx, edx
and ebx, ecx
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0xee
mov byte [esp + ecx + 0x52779bbe], dl
inc ecx
cmp ecx, 0xad886471
jne 0x41a850
mov ecx, dword [0x44cdac]
test ecx, ecx
je case.0x419c8f.0
mov edx, dword [esp + 0x28]
xor esi, esi
mov edi, dword [0x44cdb0]
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x41a8a0
inc esi
cmp ecx, esi
jne 0x41a890
jmp case.0x419c8f.0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x419c8f.0
push eax
push 4
push ecx
push dword [0x44cdb4]
call fcn.0043e5b0
add esp, 0x10
mov eax, dword [esp + 0x78]
mov dword [esp + 0x28], 0x7c7d7a7b
lea ecx, [esp + 0x29]
mov byte [ecx + 5], 0
mov word [ecx + 3], 0
mov ecx, 0xad88646a
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x52779bbe]
mov ebx, edx
and ebx, ecx
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0xee
mov byte [esp + ecx + 0x52779bbe], dl
inc ecx
cmp ecx, 0xad886471
jne 0x41a8e0
mov ecx, dword [0x44cdac]
test ecx, ecx
je case.0x419be0.0
mov edx, dword [esp + 0x28]
xor esi, esi
mov edi, dword [0x44cdb0]
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x41a930
inc esi
cmp ecx, esi
jne 0x41a920
jmp case.0x419be0.0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x419be0.0
push eax
push 4
push ecx
push dword [0x44cdb4]
call fcn.0043e5b0
add esp, 0x10
xor edi, edi
mov edx, dword [ebp + 8]
jmp 0x41a977
lea eax, [edi + 1]
xor ecx, ecx
cmp edi, 5
setb cl
mov edx, dword [ebp + 8]
jmp dword [ecx*4 + 0x446938]
mov edi, eax
lea eax, [esp + 0x10]
push dword [ebp + 0xc]
push dword [esp + 8]
lea ecx, [esp + 0xe2]
push ecx
push eax
push edx
call fcn.0041d720
add esp, 0x14
movzx esi, al
jmp dword [esi*4 + 0x446930]
mov dword [esp + 0xa4], 0xffffffff
mov dword [esp + 0xa0], 0xffb3b4c0
mov dword [esp + 0x28], 0x7c7d7a7b
lea eax, [esp + 0x29]
mov byte [eax + 5], 0
mov word [eax + 3], 0
mov eax, 0xad88646a
nop
movzx ecx, byte [esp + eax + 0x52779bbe]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xee
mov byte [esp + eax + 0x52779bbe], cl
inc eax
cmp eax, 0xad886471
jne 0x41a9d0
mov eax, dword [0x44cdac]
test eax, eax
je case.default.0x41aa76
mov ecx, dword [esp + 0x28]
mov dword [esp], ecx
xor edx, edx
mov ebx, dword [0x44cdb0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edx*8], 0xc45ebd31
je 0x41aa40
mov ecx, edx
and ecx, 1
xor edx, 1
lea edx, [edx + ecx*2]
cmp edx, eax
jb 0x41aa20
jmp case.default.0x41aa76
mov eax, dword [ebx + edx*8 + 4]
cmp eax, dword [esp]
je case.default.0x41aa76
lea ecx, [esp + 0xa0]
push ecx
push 0
push 8
push eax
push dword [0x44cdb4]
call fcn.0043e5b0
add esp, 0x14
lea eax, [edi + 1]
xor ecx, ecx
cmp edi, 5
setb cl
mov edx, dword [ebp + 8]
jmp dword [ecx*4 + 0x446938]
movzx eax, byte [esp + 0xc]
mov ecx, esi
not ecx
and ecx, eax
xor esi, eax
add esi, eax
cmp esi, ecx
setne al
mov dword [esp + 0xc], eax
jmp dword [0x446940]
push dword [esp + 4]
call fcn.004083f0
add esp, 4
xor ebx, ebx
lea esi, [esp + 0x29]
nop
nop
nop
lea ecx, [esp + 0x80]
mov eax, dword [ebp + 0xc]
push dword [eax + 0xc]
call fcn.0043be20
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446948]
xor eax, eax
cmp ebx, 0x10
setb al
jmp dword [eax*4 + 0x446950]
inc ebx
mov dword [esp + 0x28], 0xa4aa94ca
mov byte [esp + 0x2c], 0x38
lea eax, [esp + 0x29]
mov byte [eax + 6], 0
mov word [eax + 4], 0
xor eax, eax
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xcb
xor cl, byte [esp + eax + 0x28]
add cl, 9
mov byte [esp + eax + 0x28], cl
inc eax
cmp eax, 8
jne 0x41ab00
mov edi, dword [esp + 0x10]
movzx eax, byte [esp + 0x28]
test al, al
je 0x41ab3b
mov ecx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41ab30
mov byte [edi], 0
mov dword [esp + 0x10], edi
lea ecx, [esp + 0x80]
push 0x100001
call fcn.0043c0c0
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446958]
jmp 0x41aab0
mov dword [esp + 4], ebx
mov dword [esp + 0x28], 0xb6a6a85e
mov byte [esp + 0x2c], 0x54
mov dword [esp + 0x2d], 0
mov esi, 0x6204e10e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + esi - 0x6204e0e6]
lea ecx, [esi - 0x6204e100]
and ecx, edx
mov eax, ecx
and eax, 2
mov ebx, ecx
or ecx, 2
imul ecx, eax
xor eax, 2
and ebx, 0x1d
imul ebx, eax
add ecx, ebx
add edx, esi
mov eax, ecx
xor eax, edx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, eax
mov eax, 0xea186546
sub eax, ecx
or eax, 1
lea edx, [ecx + eax]
add edx, 0x15e79aba
mov eax, edx
and eax, 2
mov ebx, edx
or edx, 2
imul edx, eax
xor eax, 2
and ebx, 0xfd
imul ebx, eax
lea eax, [ecx + ecx]
or eax, 0xfd
add eax, ecx
add eax, edx
add eax, ebx
add al, 0xbb
mov byte [esp + esi - 0x6204e0e6], al
inc esi
cmp esi, 0x6204e117
jne 0x41ab90
movzx eax, byte [esp + 0x28]
test al, al
je 0x41ac3d
lea ecx, [esp + 0x29]
lea esi, [esp + 0x29]
mov ebx, dword [esp + 4]
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41ac30
jmp 0x41ac45
lea esi, [esp + 0x29]
mov ebx, dword [esp + 4]
mov byte [edi], 0
mov dword [esp + 0x10], edi
lea ecx, [esp + 0x80]
push 0
push 0x2710
push 0
call fcn.0043c2e0
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446960]
lea ecx, [esp + 0x80]
call fcn.0043c220
jmp 0x41aab0
jmp dword [0x4468c8]
mov ecx, esi
mov eax, dword [ebp + 0xc]
push dword [eax + 0xc]
call fcn.0043be20
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446800]
xor eax, eax
cmp ebx, 0x10
setb al
jmp dword [eax*4 + 0x446808]
inc ebx
mov dword [esp + 0x2a0], 0xf8feef16
mov byte [esp + 0x2a4], 0xc
mov word [edi + 4], 0
mov dword [edi], 0
xor eax, eax
nop
nop
mov ecx, eax
add cl, 0xc2
xor cl, byte [esp + eax + 0x2a0]
add cl, 0x36
mov byte [esp + eax + 0x2a0], cl
inc eax
cmp eax, 0xb
jne 0x41acd0
mov edx, dword [esp + 0x10]
movzx eax, byte [esp + 0x2a0]
test al, al
je 0x41ad1b
lea ecx, [esp + 0x2a1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41ad10
mov byte [edx], 0
mov dword [esp + 4], edx
mov dword [esp + 0x10], edx
xor eax, eax
cmp dword [esp + 8], 0
sete al
shl eax, 0xc
or eax, 0x100001
mov ecx, esi
push eax
call fcn.0043c0c0
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446810]
mov dword [esp], ebx
mov dword [esp + 0x2a0], 0xf686872e
mov byte [esp + 0x2a4], 0x14
mov dword [edi + 3], 0
mov dword [edi], 0
xor edi, edi
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 0x2a0]
mov eax, edi
and eax, 0xc
mov edx, ecx
xor edx, 0xaab29746
add edx, eax
mov eax, edx
and eax, esi
add eax, eax
mov ebx, eax
xor ebx, edx
not edx
and edx, eax
add edx, edx
sub edx, ebx
mov eax, esi
not eax
and eax, edx
not edx
and edx, esi
sub edx, eax
add dl, 0xa2
mov byte [esp + ecx + 0x2a0], dl
inc ecx
add edi, 2
cmp ecx, 0xc
jne 0x41ad80
movzx eax, byte [esp + 0x2a0]
test al, al
je 0x41adfd
lea ecx, [esp + 0x2a1]
mov ebx, dword [esp]
lea edi, [esp + 0x2a5]
lea esi, [esp + 0x80]
mov edx, dword [esp + 4]
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41adf0
jmp 0x41ae12
mov ebx, dword [esp]
lea edi, [esp + 0x2a5]
lea esi, [esp + 0x80]
mov edx, dword [esp + 4]
xor eax, eax
cmp dword [esp + 8], 0
sete al
mov byte [edx], 0
mov dword [esp + 0x10], edx
jmp dword [eax*4 + 0x446818]
mov dword [esp + 4], edx
mov dword [esp + 0x28], 0
mov esi, dword [esp + 0x80]
mov dword [esp + 0x2a0], 0x7c7d7a7b
lea eax, [esp + 0x2a4]
mov byte [eax + 2], 0
mov word [eax], 0
mov eax, 0xad88646a
nop
nop
nop
movzx ecx, byte [esp + eax + 0x52779e36]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xee
mov byte [esp + eax + 0x52779e36], cl
inc eax
cmp eax, 0xad886471
jne 0x41ae60
mov eax, dword [esp + 0x2a0]
mov edx, dword [0x44cdac]
test edx, edx
je 0x41aee8
mov dword [esp], esi
xor esi, esi
mov ecx, dword [0x44cdb0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ecx + esi*8], 0xfc36c0a1
je 0x41aec0
inc esi
cmp edx, esi
jne 0x41aeb0
jmp 0x41aee8
mov ecx, dword [ecx + esi*8 + 4]
cmp ecx, eax
je 0x41aee8
lea eax, [esp + 0x28]
push eax
push 0
push 0
push 0x2b
push dword [esp + 0x10]
push 0x14
push ecx
push dword [0x44cdb4]
call fcn.0043e5b0
add esp, 0x20
mov dword [esp + 0x2a0], 0xfcec9cc
lea ecx, [esp + 0x2a4]
mov byte [ecx + 2], 0
mov word [ecx], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
and edx, 2
mov esi, ecx
xor esi, 0x52
lea edx, [esi + edx*2]
xor dl, byte [esp + ecx + 0x2a0]
add dl, 0x66
mov byte [esp + ecx + 0x2a0], dl
mov edx, ecx
not edx
or edx, 1
add edx, ecx
or ecx, 1
add ecx, edx
inc ecx
cmp ecx, 7
jb case.default.0x41af4e
xor ecx, ecx
cmp eax, dword [esp + 0x2a0]
sete cl
jmp dword [ecx*4 + 0x446820]
mov eax, dword [case.0x41c1d2.10]
lea esi, [esp + 0x80]
jmp case.0x41b04b.2
mov eax, dword [esp + 0x28]
add eax, 2
push eax
call fcn.0043bcb0
add esp, 4
mov dword [esp], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x20], eax
mov dword [esp + 0x2a0], 0x7c7d7a7b
lea eax, [esp + 0x2a4]
mov byte [eax + 2], 0
mov word [eax], 0
mov edx, 0xad88646a
nop
nop
nop
nop
movzx eax, byte [esp + edx + 0x52779e36]
mov ecx, eax
and ecx, edx
add cl, cl
sub al, cl
movzx eax, al
add eax, edx
add al, 0xee
mov byte [esp + edx + 0x52779e36], al
inc edx
cmp edx, 0xad886471
jne 0x41afb0
mov edx, dword [esp + 0x2a0]
mov esi, dword [0x44cdac]
test esi, esi
je case.default.0x41b04b
add dword [esp + 0xc], 2
xor eax, eax
mov ecx, dword [0x44cdb0]
cmp dword [ecx + eax*8], 0xfc36c0a1
je 0x41b005
inc eax
cmp esi, eax
jne 0x41aff5
jmp case.default.0x41b04b
mov eax, dword [ecx + eax*8 + 4]
cmp eax, edx
jne 0x41b025
not edx
shr edx, 0x1f
jmp dword [edx*4 + 0x446828]
lea esi, [esp + 0x80]
jmp 0x41b115
push 0
push dword [esp + 0x10]
push dword [esp + 8]
push 0x2b
push dword [esp + 0x30]
push 0x14
push eax
push dword [0x44cdb4]
call fcn.0043e5b0
add esp, 0x20
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446828]
mov dword [esp + 0x2a0], 0x53d0f66
mov byte [esp + 0x2a4], 0x90
mov dword [esp + 0x2a5], 0
mov eax, 0x9a2b92e5
lea esi, [esp + 0x80]
movzx ecx, byte [esp + eax + 0x65d46fbb]
xor ecx, eax
mov edx, ecx
and edx, 1
or ecx, 1
add ecx, edx
add cl, 0x86
mov byte [esp + eax + 0x65d46fbb], cl
inc eax
cmp eax, 0x9a2b92ee
jne 0x41b07c
movzx eax, byte [esp + 0x2a0]
test al, al
je 0x41b0c6
lea ecx, [esp + 0x2a1]
mov edx, dword [esp + 4]
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41b0b9
jmp 0x41b0ca
mov edx, dword [esp + 4]
mov byte [edx], 0
mov dword [esp + 0x10], edx
mov eax, dword [esp]
movzx eax, word [eax + 2]
and eax, 0xfffffffe
push eax
call fcn.004083e0
add esp, 4
mov edx, eax
mov eax, dword [esp]
mov eax, dword [eax + 4]
movzx ecx, word [eax]
mov dword [esp + 8], edx
test cx, cx
je 0x41b110
add eax, 2
mov edx, dword [esp + 8]
mov word [edx], cx
add edx, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x41b0ff
mov word [edx], 0
push dword [esp]
call fcn.0043bda0
add esp, 4
mov eax, dword [case.0x41c1d2.10]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov ecx, esi
push 0
push 0x2710
push 0
call fcn.0043c2e0
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446840]
jmp dword [0x446848]
mov ecx, esi
call fcn.0043c220
mov ecx, esi
call fcn.0043c220
jmp dword [0x446854]
xor eax, eax
mov ebx, dword [esp + 8]
test ebx, ebx
sete al
jmp dword [eax*4 + 0x446858]
setne al
movzx eax, al
jmp dword [eax*4 + 0x4468a8]
jmp dword [0x446864]
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 8]
movzx ecx, word [esi]
xor eax, eax
mov edx, 0
test cx, cx
je 0x41b1b8
mov edx, esi
cmp cx, 0x20
je 0x41b1b8
movzx ecx, word [edx + 2]
add edx, 2
test cx, cx
jne 0x41b1a4
xor edx, edx
mov dword [esp], edx
mov ecx, edx
mov dword [esp + 4], esi
and ecx, esi
mov dword [esp + 0x28], 0x2156277b
mov dword [esp + 0x2c], 0x5db323b2
mov dword [esp + 0x30], 0x59cc5fc5
mov dword [esp + 0x34], 0x55cd5b3b
mov dword [esp + 0x38], 0x51cd572a
mov dword [esp + 0x3c], 0x4dcd53c4
mov dword [esp + 0x40], 0x49114fc1
mov dword [esp + 0x44], 0x454a4b2c
mov dword [esp + 0x48], 0
xor edi, edi
movzx edx, byte [esp + edi + 0x28]
mov esi, eax
and esi, 0x72
mov ebx, edi
xor ebx, 0x9ad3fb39
add ebx, esi
mov esi, ebx
and esi, edx
add esi, esi
add ebx, edx
mov edx, ebx
sub edx, esi
and edx, 0xfe
mov esi, 0x1d
sub esi, edx
mov edx, ebx
or ebx, 0xfe
and esi, ebx
and edx, 1
not esi
lea edx, [esi + edx*2]
mov byte [esp + edi + 0x28], dl
inc edi
add eax, 2
cmp edi, 0x24
jne 0x41b20d
movzx edx, word [esp + 0x28]
lea esi, [esp + 0x2a0]
test dx, dx
je 0x41b27f
lea edi, [esp + 0x2a]
mov word [esi], dx
add esi, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x41b26e
mov word [esi], 0
cmp ecx, 4
jb 0x41b32e
shr ecx, 2
lea eax, [ecx - 1]
mov edx, ecx
and edx, 3
je 0x41b2d3
mov dword [esp + 0x20], ecx
mov dword [esp + 0xc], eax
xor edi, edi
mov ebx, dword [esp + 4]
movzx eax, word [ebx]
mov ecx, edx
xor edx, edx
test ax, ax
setne dl
lea ebx, [ebx + edx*2]
mov edx, ecx
mov word [esi], ax
add esi, 2
inc edi
cmp ecx, edi
jne 0x41b2a8
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x20]
sub ecx, edi
mov eax, dword [esp + 0xc]
cmp eax, 3
mov edi, dword [esp + 4]
jb 0x41b32e
movzx eax, word [edi]
xor edx, edx
test ax, ax
setne dl
mov word [esi], ax
lea eax, [edi + edx*2]
movzx edx, word [edi + edx*2]
xor ebx, ebx
test dx, dx
setne bl
mov word [esi + 2], dx
lea edx, [eax + ebx*2]
movzx eax, word [eax + ebx*2]
xor ebx, ebx
test ax, ax
setne bl
mov word [esi + 4], ax
lea eax, [edx + ebx*2]
movzx edx, word [edx + ebx*2]
xor ebx, ebx
test dx, dx
setne bl
lea edi, [eax + ebx*2]
mov word [esi + 6], dx
add esi, 8
add ecx, 0xfffffffc
jne 0x41b2dc
mov word [esi], 0x5c
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
mov dword [esp + 4], eax
mov dword [esp + 0x28], 0x97d7993c
mov dword [esp + 0x2c], 0x93029504
mov dword [esp + 0x30], 0x8f179104
mov dword [esp + 0x34], 0x8b2b8d13
mov dword [esp + 0x38], 0x871f8904
mov dword [esp + 0x3c], 0x83108517
mov dword [esp + 0x40], 0xfffe8124
mov ebx, 0xa6
movzx edi, byte [esp + ebx - 0x7e]
mov edx, edi
and edx, ebx
mov eax, edx
or al, 0xfd
inc al
mov ecx, edx
and cl, 0xfd
mul cl
mov ecx, eax
mov eax, edi
add cl, al
mov eax, edx
shr al, 1
and al, 1
or dl, 2
mul dl
add al, al
sub cl, al
movzx eax, cl
add eax, ebx
add al, 0xc2
mov byte [esp + ebx - 0x7e], al
inc ebx
cmp ebx, 0xc2
jne 0x41b37a
add esi, 2
mov ecx, dword [esp]
movzx eax, word [ecx + 2]
test ax, ax
je 0x41b3dc
add ecx, 4
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41b3cb
mov word [esi], 0
movzx eax, word [esp + 0x28]
test ax, ax
je 0x41b400
lea ecx, [esp + 0x2a]
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41b3ef
mov word [esi], 0
mov ecx, dword [esp + 4]
movzx eax, word [ecx]
test ax, ax
je 0x41b425
add ecx, 2
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41b414
mov word [esi], 0
lea eax, [esp + 0x2a0]
sub esi, eax
xor esi, 2
lea ecx, [esp + 0xa0]
push ecx
push 0
push 0
push esi
push eax
push 0
call dword [0x44cda8]
mov dword [esp + 0x28], 0x63222103
mov eax, 0xe71cc378
movzx ecx, byte [esp + eax + 0x18e33cb0]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xa8
mov byte [esp + eax + 0x18e33cb0], cl
inc eax
cmp eax, 0xe71cc37c
jne 0x41b459
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 8]
movzx ecx, word [esi]
xor eax, eax
mov edx, 0
test cx, cx
je 0x41b4b4
mov edx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp cx, 0x20
je 0x41b4b4
movzx ecx, word [edx + 2]
add edx, 2
test cx, cx
jne 0x41b4a0
xor edx, edx
lea ebx, [esp + 0x2a]
mov dword [esp + 4], edx
mov dword [esp + 0xc], esi
sub edx, esi
mov dword [esp], edx
mov dword [esp + 0x28], 0x2156277b
mov dword [esp + 0x2c], 0x5db323b2
mov dword [esp + 0x30], 0x59cc5fc5
mov dword [esp + 0x34], 0x55cd5b3b
mov dword [esp + 0x38], 0x51cd572a
mov dword [esp + 0x3c], 0x4dcd53c4
mov dword [esp + 0x40], 0x49114fc1
mov dword [esp + 0x44], 0x454a4b2c
mov dword [esp + 0x48], 0
xor esi, esi
nop
movzx edx, byte [esp + esi + 0x28]
mov edi, eax
and edi, 0x72
mov ecx, esi
xor ecx, 0x9ad3fb39
add ecx, edi
mov edi, ecx
and edi, edx
add edi, edi
add ecx, edx
mov edx, ecx
sub edx, edi
and edx, 0xfe
mov edi, 0x1d
sub edi, edx
mov edx, ecx
or ecx, 0xfe
and edi, ecx
and edx, 1
not edi
lea ecx, [edi + edx*2]
mov byte [esp + esi + 0x28], cl
inc esi
add eax, 2
cmp esi, 0x24
jne 0x41b510
movzx ecx, word [esp + 0x28]
lea edi, [esp + 0x2a0]
test cx, cx
je 0x41b591
lea edi, [esp + 0x2a0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], cx
add edi, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x41b580
mov word [edi], 0
mov ebx, dword [esp + 0xc]
cmp dword [esp + 4], ebx
mov eax, dword [esp]
je 0x41b652
sar eax, 1
mov esi, eax
and esi, 3
je 0x41b5e6
mov dword [esp], eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, word [ebx]
xor edx, edx
test ax, ax
setne dl
lea ebx, [ebx + edx*2]
mov word [edi], ax
add edi, 2
inc ecx
cmp esi, ecx
jne 0x41b5c0
mov dword [esp + 0xc], ebx
mov eax, dword [esp]
mov ebx, eax
sub ebx, ecx
jmp 0x41b5e8
mov ebx, eax
dec eax
cmp eax, 3
mov eax, dword [ebp + 0xc]
jb 0x41b655
mov edx, dword [esp + 0xc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, word [edx]
xor ecx, ecx
test ax, ax
setne cl
mov word [edi], ax
lea eax, [edx + ecx*2]
movzx ecx, word [edx + ecx*2]
xor edx, edx
test cx, cx
setne dl
mov word [edi + 2], cx
lea ecx, [eax + edx*2]
movzx eax, word [eax + edx*2]
xor edx, edx
test ax, ax
setne dl
mov word [edi + 4], ax
lea eax, [ecx + edx*2]
movzx ecx, word [ecx + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edx, [eax + edx*2]
mov word [edi + 6], cx
add edi, 8
add ebx, 0xfffffffc
jne 0x41b600
mov eax, dword [ebp + 0xc]
mov word [edi], 0x5c
mov eax, dword [eax + 0xc]
mov dword [esp], eax
mov dword [esp + 0x28], 0x97d7993c
mov dword [esp + 0x2c], 0x93029504
mov dword [esp + 0x30], 0x8f179104
mov dword [esp + 0x34], 0x8b2b8d13
mov dword [esp + 0x38], 0x871f8904
mov dword [esp + 0x3c], 0x83108517
mov dword [esp + 0x40], 0xfffe8124
mov esi, 0xa6
nop
nop
nop
movzx ebx, byte [esp + esi - 0x7e]
mov edx, ebx
and edx, esi
mov eax, edx
or al, 0xfd
inc al
mov ecx, edx
and cl, 0xfd
mul cl
mov ecx, eax
add cl, bl
mov eax, edx
shr al, 1
and al, 1
or dl, 2
mul dl
add al, al
sub cl, al
movzx eax, cl
add eax, esi
add al, 0xc2
mov byte [esp + esi - 0x7e], al
inc esi
cmp esi, 0xc2
jne 0x41b6a0
add edi, 2
mov ecx, dword [esp + 4]
movzx eax, word [ecx + 2]
test ax, ax
je 0x41b701
add ecx, 4
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41b6f0
mov word [edi], 0
movzx eax, word [esp + 0x28]
test ax, ax
je 0x41b731
lea ecx, [esp + 0x2a]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41b720
mov word [edi], 0
mov ecx, dword [esp]
movzx eax, word [ecx]
test ax, ax
je 0x41b761
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41b750
mov word [edi], 0
lea ebx, [esp + 0x2a0]
sub edi, ebx
sar edi, 1
lea eax, [esp + 0xa0]
push eax
push 0
push 0
push edi
push ebx
push 0
call dword [0x44cda8]
mov esi, eax
mov dword [esp + 0x28], 0x63222103
mov ecx, 0xe71cc378
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + ecx + 0x18e33cb0]
mov edx, eax
and edx, ecx
add dl, dl
sub al, dl
movzx eax, al
add eax, ecx
add al, 0xa8
mov byte [esp + ecx + 0x18e33cb0], al
inc ecx
cmp ecx, 0xe71cc37c
jne 0x41b7a0
jmp dword [0x446868]
xor ecx, ecx
cmp esi, dword [esp + 0x28]
sete cl
jmp dword [ecx*4 + 0x446870]
xor eax, eax
cmp dword [esp + 8], 0
sete al
mov edx, dword [esp + 4]
jmp dword [eax*4 + 0x446888]
mov eax, dword [esp + 0xa0]
test eax, eax
mov dword [esp], eax
jns 0x41b807
mov eax, 0xffffffff
jmp 0x41b809
add eax, eax
push eax
call fcn.004083e0
add esp, 4
mov esi, eax
lea eax, [esp + 0xa0]
push eax
push dword [esp + 4]
push esi
push edi
push ebx
push 0
call dword [0x44cda8]
lea eax, [esp + 0x268]
push eax
mov dword [esp + 0xc], esi
push esi
call fcn.00440e10
add esp, 8
test eax, eax
sets al
cmp dword [esp + 0x268], 0xffffffff
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446878]
mov dword [esp + 0x28], 0xd7a5d04e
mov byte [esp + 0x2c], 0x40
mov dword [esp + 0x2d], 0
mov word [esp + 0x31], 0
mov eax, 0xbcd65f91
mov edi, 0x329a06e
mov dword [esp], edi
movzx esi, byte [esp + eax + 0x4329a097]
mov edi, dword [esp]
and edi, 0x321004e
mov edx, eax
and edx, 0x88140731
or edx, edi
xor edx, esi
xor edx, 0x37e358ce
add edx, 0x4fd0222a
mov edi, edx
xor edi, 0xfffffffe
mov esi, edx
or esi, 1
and esi, edi
mov edi, esi
and edi, 0xfd
mov ecx, esi
and ecx, 2
or esi, 2
imul esi, ecx
xor ecx, 2
imul ecx, edi
mov edi, dword [esp]
xor edx, 1
add edx, esi
add edx, ecx
mov byte [esp + eax + 0x4329a097], dl
inc eax
dec edi
cmp eax, 0xbcd65f9c
jne 0x41b882
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x28]
test cl, cl
je 0x41b909
lea edx, [esp + 0x29]
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x41b8fe
mov byte [eax], 0
mov dword [esp + 0x10], eax
xor eax, eax
cmp dword [esp + 8], 0
sete al
mov edx, dword [esp + 4]
jmp dword [eax*4 + 0x446888]
jmp dword [0x446880]
push dword [esp + 8]
call fcn.004083f0
add esp, 4
xor ecx, ecx
xor eax, eax
mov dword [esp + 8], 0
test ecx, 0
sete al
mov edx, dword [esp + 4]
jmp dword [eax*4 + 0x446888]
xor ecx, ecx
xor eax, eax
mov dword [esp + 8], 0
test ecx, 0
sete al
mov edx, dword [esp + 4]
jmp dword [eax*4 + 0x446888]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 8]
mov edi, edx
sub edi, ecx
mov dword [esp + 0x28], 0x9322917d
mov dword [esp + 0x2c], 0x9f099d0e
mov dword [esp + 0x30], 0x9b089937
mov dword [esp + 0x34], 0x87138525
mov dword [esp + 0x38], 0x835c813f
mov dword [esp + 0x3c], 0x8f5d8d50
mov dword [esp + 0x40], 0x8b67895a
mov dword [esp + 0x44], 0x777675d0
mov byte [esp + 0x48], 0
xor edx, edx
movzx esi, byte [esp + edx + 0x28]
lea eax, [edx - 0x7fb1981c]
and eax, esi
add eax, eax
neg eax
add eax, edx
add eax, 0x804e67e4
add eax, esi
mov esi, eax
not esi
and esi, 0xfb
and eax, 4
sub eax, esi
add al, 0x87
mov byte [esp + edx + 0x28], al
add edx, 0xdc4775ba
mov eax, edx
xor eax, 0xdc4775b9
and edx, 0x46
add edx, edx
sub edx, eax
cmp edx, 0x21
jb 0x41b9c8
movzx edx, word [esp + 0x28]
test dx, dx
je 0x41ba36
lea ebx, [esp + 0x2a0]
lea esi, [esp + 0x2a]
mov word [ebx], dx
add ebx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x41ba25
mov word [ebx], 0
cmp dword [esp + 4], ecx
je 0x41bad5
sar edi, 1
lea eax, [edi - 1]
mov esi, edi
and esi, 3
je 0x41ba7e
mov dword [esp + 0xc], eax
mov dword [esp], edi
xor edi, edi
movzx eax, word [ecx]
xor edx, edx
test ax, ax
setne dl
lea ecx, [ecx + edx*2]
mov word [ebx], ax
add ebx, 2
inc edi
cmp esi, edi
jne 0x41ba5a
mov eax, dword [esp]
sub eax, edi
mov edi, eax
mov eax, dword [esp + 0xc]
cmp eax, 3
jb 0x41bad5
movzx eax, word [ecx]
xor edx, edx
test ax, ax
setne dl
mov word [ebx], ax
lea eax, [ecx + edx*2]
movzx ecx, word [ecx + edx*2]
xor edx, edx
test cx, cx
setne dl
mov word [ebx + 2], cx
lea ecx, [eax + edx*2]
movzx eax, word [eax + edx*2]
xor edx, edx
test ax, ax
setne dl
mov word [ebx + 4], ax
lea eax, [ecx + edx*2]
movzx edx, word [ecx + edx*2]
xor ecx, ecx
test dx, dx
setne cl
lea ecx, [eax + ecx*2]
mov word [ebx + 6], dx
add ebx, 8
add edi, 0xfffffffc
jne 0x41ba83
mov word [ebx], 0x5c
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
mov dword [esp], eax
mov dword [esp + 0x28], 0xe92deb38
mov dword [esp + 0x2c], 0xed1eef18
mov dword [esp + 0x30], 0xf11df300
mov dword [esp + 0x34], 0xf511f715
mov dword [esp + 0x38], 0xf915fb00
mov dword [esp + 0x3c], 0xfd0cff09
mov dword [esp + 0x40], 0x81828320
mov dword [esp + 0x44], 0
mov ecx, 0x26
mov edx, 0x3d8783d8
movzx eax, byte [esp + ecx + 2]
lea edi, [ecx - 0x1ec3c1ff]
mov esi, edi
xor esi, 0x90
or edi, 0x6f
and edi, esi
mov esi, edx
and esi, 0x90
or edi, esi
lea esi, [eax + eax]
not esi
add esi, eax
and esi, 0x90
and eax, 0x6f
or eax, esi
xor eax, edi
add al, 0x3d
mov byte [esp + ecx + 2], al
inc ecx
dec edx
cmp ecx, 0x46
jne 0x41bb2d
add ebx, 2
mov ecx, dword [esp + 4]
movzx eax, word [ecx + 2]
test ax, ax
je 0x41bb94
add ecx, 4
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41bb83
mov word [ebx], 0
movzx eax, word [esp + 0x28]
test ax, ax
je 0x41bbb8
lea ecx, [esp + 0x2a]
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41bba7
mov word [ebx], 0
mov ecx, dword [esp]
movzx eax, word [ecx]
test ax, ax
je 0x41bbdc
add ecx, 2
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41bbcb
mov word [ebx], 0
lea ecx, [esp + 0x2a0]
mov eax, ebx
xor eax, ecx
mov edx, ecx
not edx
and edx, ebx
add edx, edx
sub edx, eax
sar edx, 1
lea eax, [esp + 0xa0]
push eax
push 0
push 0
mov dword [esp + 0x10], edx
push edx
push ecx
push 0
call dword [0x44cda8]
mov dword [esp + 0x28], 0x894a4b11
mov word [esp + 0x2c], 0
mov byte [esp + 0x2e], 0
xor edi, edi
movzx esi, byte [esp + edi + 0x28]
lea edx, [edi + edi]
mov ebx, edx
and ebx, 0xa
mov ecx, edi
xor ecx, 0x1a212395
add ebx, ecx
add ebx, 0xd44edef3
mov ecx, ebx
xor ecx, 0x1a212395
and ebx, 0xe450006a
add ebx, ebx
sub ebx, ecx
xor ebx, esi
lea ecx, [ebx + ebx]
and ecx, 2
mov esi, ecx
and esi, ebx
xor ebx, 1
add ebx, 0x40
xor ebx, ecx
lea ecx, [ebx + esi*2]
mov byte [esp + edi + 0x28], cl
and edx, 2
xor edi, 1
add edi, edx
cmp edi, 7
jb case.default.0x41bc88
xor ecx, ecx
cmp eax, dword [esp + 0x28]
sete cl
jmp dword [ecx*4 + 0x446890]
xor eax, eax
mov ebx, dword [esp + 8]
test ebx, ebx
setne al
jmp dword [eax*4 + 0x4468a8]
mov ebx, dword [esp + 0xa0]
test ebx, ebx
jns 0x41bcb3
mov eax, 0xffffffff
jmp 0x41bcb6
lea eax, [ebx + ebx]
push eax
call fcn.004083e0
add esp, 4
mov esi, eax
lea eax, [esp + 0xa0]
push eax
push ebx
push esi
push dword [esp + 0x10]
lea eax, [esp + 0x2b0]
push eax
push 0
call dword [0x44cda8]
lea eax, [esp + 0x268]
push eax
mov ebx, esi
push esi
call fcn.00440e10
add esp, 8
test eax, eax
sets al
cmp dword [esp + 0x268], 0xffffffff
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446898]
mov dword [esp + 0x28], 0xcecdb82a
mov byte [esp + 0x2c], 0x28
mov dword [esp + 0x2d], 0
mov byte [esp + 0x31], 0
mov eax, 0x77
mov ecx, 0xa032e888
movzx edx, byte [esp + eax - 0x4f]
lea edi, [edx + edx]
not edi
add edi, edx
mov esi, eax
or esi, edx
not edx
and edx, edi
mov edi, edx
not edi
and edi, ecx
xor edx, ecx
sub edx, edi
add edx, ecx
and edx, esi
add dl, 0xad
mov byte [esp + eax - 0x4f], dl
inc eax
dec ecx
cmp eax, 0x81
jne 0x41bd32
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x28]
test cl, cl
je 0x41bd80
lea edx, [esp + 0x29]
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x41bd75
mov byte [eax], 0
mov dword [esp + 0x10], eax
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x4468a8]
jmp dword [0x4468a0]
push ebx
call fcn.004083f0
add esp, 4
xor ebx, ebx
xor eax, eax
test ebx, 0
setne al
jmp dword [eax*4 + 0x4468a8]
xor ebx, ebx
xor eax, eax
test ebx, 0
setne al
jmp dword [eax*4 + 0x4468a8]
xor eax, eax
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 8], 0
setne al
jmp dword [eax*4 + 0x4467c8]
jmp dword [0x4467d4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x4467dc]
xor eax, eax
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0xc], 0
setne al
mov dword [esp + 0xc], 0
jmp dword [eax*4 + 0x4467e0]
push 0x1fa0
call fcn.004083e0
add esp, 4
mov dword [esp + 0x9c], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xe8], 0xd3dbc5dc
mov dword [esp + 0xec], 0x17ddd3df
mov dword [esp + 0xf0], 0xd0d8d1d3
mov dword [esp + 0xf4], 0x202122e1
mov word [esp + 0xf8], 0x2024
mov byte [esp + 0xfa], 0xba
mov dword [esp + 0xfb], 0
mov eax, 0x33a2c273
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x33a2c18b]
mov ecx, eax
or ecx, edx
lea esi, [eax - 0x33a2c200]
or esi, eax
and esi, edx
sub ecx, esi
mov edx, ecx
and edx, 0x40
add edx, edx
xor ecx, 0x3f
sub edx, ecx
mov byte [esp + eax - 0x33a2c18b], dl
inc eax
cmp eax, 0x33a2c28a
jne 0x41be80
push edi
mov dword [esp + 0x70], ebx
push ebx
call fcn.00401ae0
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
jmp dword [ecx*4 + 0x4467e8]
mov dword [esp + 0x94], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 0x2a0], 0x116c1f70
mov dword [esp + 0x2a4], 0x156b1357
mov dword [esp + 0x2a8], 0x963176f
mov dword [esp + 0x2ac], 0xd780b7c
mov dword [esp + 0x2b0], 0x1620f67
mov dword [esp + 0x2b4], 0x541037f
mov dword [esp + 0x2b8], 0x397e0741
mov dword [esp + 0x2bc], 0x3d443b43
mov dword [esp + 0x2c0], 0x31523f7b
mov dword [esp + 0x2c4], 0x35433345
mov dword [esp + 0x2c8], 0x29423772
mov dword [esp + 0x2cc], 0x2d692b41
mov dword [esp + 0x2d0], 0x21692f5e
mov dword [esp + 0x2d4], 0x255d234c
mov dword [esp + 0x2d8], 0x594327bf
mov dword [esp + 0x2dc], 0x5dcb5bca
mov dword [esp + 0x2e0], 0x51cf5fc9
mov dword [esp + 0x2e4], 0x55c65336
mov dword [esp + 0x2e8], 0x493f5738
mov dword [esp + 0x2ec], 0x4dd44bd3
mov dword [esp + 0x2f0], 0x41df4f28
mov dword [esp + 0x2f4], 0x45d743c9
mov dword [esp + 0x2f8], 0x79034728
mov dword [esp + 0x2fc], 0x7de87bef
mov dword [esp + 0x300], 0x71197fee
mov dword [esp + 0x304], 0x75e673ee
mov dword [esp + 0x308], 0x69117702
mov dword [esp + 0x30c], 0x6dff6bfa
mov dword [esp + 0x310], 0x61ff6ff7
mov dword [esp + 0x314], 0x650e63fe
mov dword [esp + 0x318], 0x99f86713
mov dword [esp + 0x31c], 0x9d049b03
mov dword [esp + 0x320], 0x910a9f09
mov dword [esp + 0x324], 0x950e93f3
mov dword [esp + 0x328], 0x89fa9708
mov dword [esp + 0x32c], 0x8b88
nop
nop
nop
nop
nop
nop
mov ecx, edx
add cl, 5
xor cl, byte [esp + edx + 0x2a0]
add cl, 0xe7
mov byte [esp + edx + 0x2a0], cl
mov ecx, edx
and ecx, 1
xor edx, 1
lea edx, [edx + ecx*2]
cmp edx, 0x90
jb 0x41c070
movzx ecx, word [esp + 0x2a0]
test cx, cx
je 0x41c0c5
lea edi, [esp + 0xe8]
lea edx, [esp + 0x2a2]
mov word [edi], cx
add edi, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41c0b4
mov word [edi], 0
movzx ecx, word [eax]
test cx, cx
je 0x41c0e6
add eax, 2
mov word [edi], cx
add edi, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x41c0d5
mov word [edi], 0
mov dword [esp + 0x2a0], 0x3fac3971
mov dword [esp + 0x2a4], 0x23b63dab
mov dword [esp + 0x2a8], 0x278a2181
mov dword [esp + 0x2ac], 0x2b662588
mov dword [esp + 0x2b0], 0x2f8929bb
mov dword [esp + 0x2b4], 0x13862d8d
mov dword [esp + 0x2b8], 0x178511b9
mov dword [esp + 0x2bc], 0x1b1a1586
mov byte [esp + 0x2c0], 0
xor eax, eax
nop
nop
nop
movzx ecx, byte [esp + eax + 0x2a0]
lea edx, [eax - 0x3cb28776]
mov esi, edx
and esi, ecx
lea edi, [eax + ecx]
add edi, 0xc34d788a
add esi, esi
sub edi, esi
mov esi, 0x3cb28775
sub esi, eax
or esi, edi
not esi
add esi, esi
xor edx, esi
mov edi, 0x75
sub edi, eax
and edi, esi
add edi, edi
sub edx, edi
add dl, cl
add dl, 0x4e
mov byte [esp + eax + 0x2a0], dl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x21
jb case.default.0x41c1d2
lea eax, [esp + 0xe8]
lea ecx, [esp + 0x2a0]
push ecx
push eax
call fcn.00439fd0
add esp, 8
mov edi, eax
xor eax, eax
test edi, edi
setne al
xor ebx, ebx
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x4467f0]
mov dword [esp + 0x2a0], 0x4041bd2a
mov byte [esp + 0x2a4], 0x28
mov dword [esp + 0x2a5], 0
mov word [esp + 0x2a9], 0
mov eax, 0x57324d37
mov ecx, 0x28cdb2c8
movzx edx, byte [esp + eax - 0x57324a97]
mov esi, ecx
and esi, 0x20843238
mov ebx, eax
and ebx, 0x42224447
or ebx, esi
xor ebx, edx
mov edx, ebx
and edx, 1
xor ebx, 0x39
lea edx, [ebx + edx*2]
add dl, 0xec
mov byte [esp + eax - 0x57324a97], dl
inc eax
dec ecx
cmp eax, 0x57324d42
jne 0x41c20b
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x2a0]
test cl, cl
je 0x41c267
lea edx, [esp + 0x2a1]
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x41c25c
mov byte [eax], 0
mov dword [esp + 0x10], eax
mov eax, 0xfffffffe
cmp word [edi + eax + 2], 0
lea eax, [eax + 2]
jne 0x41c273
mov ecx, eax
and ecx, 2
mov edx, dword [ebp + 0xc]
mov ebx, dword [edx + 0xc]
mov edx, 0xfffffffe
cmp word [ebx + edx + 2], 0
lea edx, [edx + 2]
jne 0x41c28e
sar eax, 1
xor eax, 1
sar edx, 1
add eax, ecx
lea ecx, [edx + eax]
inc ecx
test ecx, ecx
jns 0x41c2b1
mov eax, 0xffffffff
jmp 0x41c2ba
add eax, edx
lea eax, [eax*2 + 2]
push eax
call fcn.004083e0
add esp, 4
movzx ecx, word [edi]
mov dword [esp + 8], eax
test cx, cx
je 0x41c2e9
mov edx, edi
add edx, 2
mov eax, dword [esp + 8]
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41c2d8
mov word [eax], 0x5c
add eax, 2
movzx ecx, word [ebx]
test cx, cx
je 0x41c30d
add ebx, 2
mov word [eax], cx
add eax, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x41c2fc
mov word [eax], 0
xor ebx, ebx
jmp dword [0x4467f8]
push edi
call fcn.004083f0
add esp, 4
lea edi, [esp + 0x2a5]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
lea esi, [esp + 0x80]
jmp case.0x41c1d2.8
lea ecx, [esp + 0x80]
call fcn.0043c220
mov eax, ebx
lea ecx, [esp + 0x80]
mov esi, eax
call fcn.0043c220
mov edx, esi
mov ebx, edx
jmp dword [0x446974]
mov dword [esp + 0xc], edx
mov dword [esp + 0xe8], 0x6d1713f6
mov byte [esp + 0xec], 0xfc
mov word [esp + 0xed], 0
mov byte [esp + 0xef], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0xe8]
lea edx, [eax + 0x56f0dd2a]
mov esi, edx
and esi, ecx
add esi, esi
mov edi, 0xa90f22d5
sub edi, eax
and edi, esi
not esi
and esi, edx
sub esi, edi
lea edx, [esi + ecx]
add ecx, esi
add ecx, 0x4d4bae2d
mov esi, ecx
not esi
mov edi, ecx
xor edi, 0xfffffffe
or ecx, 1
and ecx, edi
or esi, 0xfffffffe
add edx, esi
add edx, 0x4d4bae2f
mov esi, edx
and esi, ecx
xor ecx, edx
lea ecx, [ecx + esi*2]
mov byte [esp + eax + 0xe8], cl
mov ecx, eax
not ecx
or ecx, 1
add ecx, eax
inc ecx
mov esi, ecx
and esi, 2
mov edx, ecx
or ecx, 2
imul ecx, esi
xor esi, 2
and edx, 0xfffffffd
imul edx, esi
lea esi, [eax + eax]
and esi, 2
neg esi
add eax, esi
inc eax
add eax, ecx
add eax, edx
cmp eax, 8
jb 0x41c3c0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0xe8]
test cl, cl
je 0x41c47b
lea edx, [esp + 0xe9]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x41c470
mov byte [eax], 0
mov dword [esp + 0x10], eax
lea ecx, [esp + 0xe8]
push 1
call fcn.00408fe0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x41c4a0
cmp eax, 0xffffffe9
mov dword [esp], ecx
jge 0x41c4ba
mov eax, 0xffffffff
jmp 0x41c4bd
add eax, 0x16
push eax
call fcn.004083e0
add esp, 4
mov dword [esp + 4], eax
mov dword [esp + 0x2a0], 0x49b64b9d
mov dword [esp + 0x2a4], 0x45d847d3
mov dword [esp + 0x2a8], 0x41db43cf
mov dword [esp + 0x2ac], 0x7df27f92
mov dword [esp + 0x2b0], 0x79f67bf4
mov word [esp + 0x2b4], 0x7778
mov dword [esp + 0x2b6], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x2a0]
lea edx, [eax - 0x63a37aed]
mov ebx, edx
and ebx, ecx
mov edi, ebx
and edi, 2
mov esi, ebx
or ebx, 2
imul ebx, edi
xor edi, 2
and esi, 0x3d
imul esi, edi
add ebx, esi
mov esi, 0x63a37aec
sub esi, eax
and esi, ebx
not ebx
and ebx, edx
sub ebx, esi
add ebx, ecx
mov ecx, 0xdce995f
sub ecx, ebx
or ecx, 1
add ecx, ebx
add ecx, 0xf23166a1
or ebx, 1
add ebx, 0xf23166a0
mov edx, ecx
and edx, ebx
xor ebx, ecx
lea ecx, [ebx + edx*2]
mov byte [esp + eax + 0x2a0], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x1a
jb 0x41c520
mov esi, dword [esp]
movzx ecx, word [esi]
mov edx, dword [esp + 4]
mov eax, edx
test cx, cx
je 0x41c5c1
add esi, 2
mov eax, edx
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x41c5b0
mov word [eax], 0
movzx ecx, word [esp + 0x2a0]
test cx, cx
mov ebx, dword [esp + 0x6c]
mov esi, dword [esp + 0x9c]
je 0x41c601
lea edx, [esp + 0x2a2]
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 0x41c5f0
mov word [eax], 0
mov eax, dword [esp + 0x10]
sub eax, esi
lea edi, [esp + 0xe8]
mov ecx, edi
push eax
push esi
mov esi, dword [esp + 0xc]
push esi
call fcn.004090d0
mov ecx, edi
call fcn.00409ac0
jmp dword [0x446978]
push esi
call fcn.004083f0
add esp, 4
jmp dword [0x446980]
jmp dword [0x446988]
jmp dword [0x446980]
push dword [esp + 0x9c]
call fcn.004083f0
add esp, 4
jmp dword [0x446988]
jmp dword [0x4469ec]
mov ecx, eax
xor eax, eax
mov dword [esp + 8], ecx
test ecx, ecx
setne al
jmp dword [eax*4 + 0x4467a0]
mov eax, dword [esp + 8]
nop
nop
nop
nop
mov esi, eax
inc eax
cmp byte [esi], 0
jne 0x41c680
mov eax, esi
mov edx, dword [esp + 8]
sub eax, edx
mov edi, eax
xor edi, 1
mov ecx, eax
and ecx, 0xfffffffe
add ecx, ecx
sub ecx, edi
mov dword [esp + 0xc], eax
lea edi, [eax + eax*2]
shr edi, 2
movzx eax, byte [edx + ecx]
cmp eax, 0x3d
je 0x41c6b6
cmp eax, 0x2e
jne 0x41c6b7
dec edi
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
movzx eax, byte [ecx + eax - 2]
cmp eax, 0x3d
je 0x41c6ce
cmp eax, 0x2e
jne 0x41c6d5
mov dword [esp + 0x6c], ebx
dec edi
jmp 0x41c6d9
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x94], edi
lea eax, [edi + 1]
push eax
call fcn.004083e0
add esp, 4
mov dword [esp + 0x20], eax
cmp esi, dword [esp + 8]
je 0x41c7f5
xor ecx, ecx
mov edi, 2
jmp 0x41c723
lea eax, [edi + 4]
add edi, 2
mov ecx, dword [esp]
cmp edi, edx
mov edi, eax
jae 0x41c7f5
mov dword [esp + 4], ecx
mov esi, dword [esp + 8]
movzx eax, byte [esi + edi - 2]
push eax
call fcn.0041f910
add esp, 4
mov bh, al
movzx eax, byte [esi + edi - 1]
push eax
call fcn.0041f910
add esp, 4
mov bl, al
shl bh, 2
shr al, 4
and al, 3
or al, bh
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 4]
mov byte [ecx + edx], al
mov eax, dword [esp + 4]
inc eax
mov dword [esp], eax
mov edx, dword [esp + 0xc]
cmp edi, edx
jae 0x41c710
mov eax, dword [esp + 8]
movzx eax, byte [eax + edi]
push eax
call fcn.0041f910
mov edx, dword [esp + 0x10]
add esp, 4
cmp al, 0x40
je 0x41c710
shl bl, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, bl
mov esi, dword [esp + 4]
lea edx, [esi + 2]
mov dword [esp], edx
mov edx, dword [esp + 0x20]
mov byte [edx + esi + 1], cl
mov edx, dword [esp + 0xc]
lea ecx, [edi + 1]
cmp ecx, edx
jae 0x41c710
mov ecx, dword [esp + 8]
movzx ecx, byte [ecx + edi + 1]
push ecx
mov ebx, eax
call fcn.0041f910
mov edx, dword [esp + 0x10]
add esp, 4
cmp al, 0x40
je 0x41c710
mov ecx, ebx
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 4]
mov byte [ecx + esi + 2], al
add esi, 3
mov dword [esp], esi
jmp 0x41c710
mov eax, dword [esp + 0x94]
add eax, 0xfffffffb
mov dword [esp + 0x2a0], eax
mov eax, dword [esp + 0x20]
add eax, 5
mov dword [esp + 0x2a4], eax
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
push 0xe18a387a
push dword [0x44cdb8]
call fcn.004402e0
add esp, 8
lea ecx, [esp + 0x28]
push ecx
push 0
push 0
push 0
push 0
push 0
lea ecx, [esp + 0x2b8]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4467a8]
mov ebx, dword [esp + 0x6c]
jmp dword [0x4467b8]
push dword [esp + 0x20]
call fcn.004083f0
add esp, 4
mov dword [esp + 0xe8], 0x605d726f
mov dword [esp + 0xec], 0x73767c76
mov dword [esp + 0xf0], 0x7b7a6826
mov dword [esp + 0xf4], 0x7a616f53
mov dword [esp + 0xf8], 0x764d757e
mov dword [esp + 0xfc], 0x6e64767a
mov dword [esp + 0x100], 0x7f7f6d68
mov dword [esp + 0x104], 0x667b7643
mov byte [esp + 0x108], 0x20
mov dword [esp + 0x109], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0xe8]
mov ecx, edx
not ecx
or ecx, eax
add ecx, edx
inc ecx
mov edi, ecx
and edi, 2
mov esi, ecx
or ecx, 2
imul ecx, edi
xor edi, 2
and esi, 0xfffffffd
imul esi, edi
add ecx, esi
add edx, eax
add edx, 0x78f42800
mov esi, ecx
xor esi, edx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, esi
mov byte [esp + eax + 0xe8], cl
inc eax
cmp eax, 0x25
jne case.default.0x41c952
lea edi, [esp + 0xe8]
push edi
push ebx
call fcn.00401ab0
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4467c0]
mov dword [esp + 0xc], 0
mov dword [esp + 0xe8], 0x736b656c
mov dword [esp + 0xec], 0x974d536f
mov dword [esp + 0xf0], 0x50485153
mov dword [esp + 0xf4], 0x40414241
mov dword [esp + 0xf8], 0xaa4044
xor eax, eax
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x5b
xor cl, byte [esp + eax + 0xe8]
add cl, 0x39
mov byte [esp + eax + 0xe8], cl
inc eax
cmp eax, 0x14
jne case.default.0x41c9d6
lea eax, [esp + 0xe8]
push eax
push ebx
call fcn.00401ae0
add esp, 8
mov edi, eax
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x446998]
xor ebx, ebx
mov eax, dword [esp + 0x24]
add eax, 2
mov dword [esp + 0x20], eax
mov dword [esp + 0x6c], edi
jmp 0x41ca0a
push eax
call fcn.004083f0
add esp, 4
mov eax, dword [esp + 0xc]
and al, 1
or al, bl
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 8]
inc ebx
push edi
call fcn.00401b10
add esp, 4
xor ecx, ecx
cmp ebx, eax
setb cl
jmp dword [ecx*4 + 0x4469a0]
push ebx
push edi
call fcn.00401b20
add esp, 8
movzx edx, byte [eax]
test dl, dl
mov dword [esp], eax
je 0x41ca90
lea ecx, [eax + 1]
xor eax, eax
jmp 0x41ca49
inc eax
movzx edx, byte [ecx]
inc ecx
test dl, dl
je 0x41ca92
test dl, dl
jns 0x41ca40
movsx edx, dl
mov esi, edx
and esi, 0xe0
cmp esi, 0xc0
je 0x41ca40
mov esi, edx
not esi
or esi, 0xf0
add esi, edx
cmp esi, 0xdf
je 0x41ca40
and edx, 0xf8
cmp edx, 0xf0
jne 0x41ca41
mov edx, eax
and edx, 2
xor eax, 2
lea eax, [eax + edx*2]
jmp 0x41ca41
xor eax, eax
mov dword [esp + 8], ebx
mov edi, eax
inc edi
mov ebx, 0xffffffff
jns 0x41cab0
mov eax, 0xffffffff
jmp 0x41cab7
lea eax, [eax*2 + 2]
push eax
call fcn.004083e0
add esp, 4
mov esi, eax
push 0
push dword [esp + 4]
push edi
push eax
call fcn.0040aa30
add esp, 0x10
add edi, dword [esp + 0x70]
js 0x41cadc
add edi, edi
mov ebx, edi
push ebx
call fcn.004083e0
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x24]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
je 0x41cb11
mov edx, dword [esp + 0x20]
mov eax, edi
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41cb00
mov word [eax], 0x5c
add eax, 2
movzx ecx, word [esi]
test cx, cx
lea ebx, [esp + 0xe8]
je 0x41cb41
mov edx, esi
add edx, 2
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41cb30
mov word [eax], 0
push ebx
push edi
call fcn.00440e10
add esp, 8
not eax
shr eax, 0x1f
mov dword [esp + 4], esi
mov dword [esp], edi
jmp dword [eax*4 + 0x4469b8]
xor eax, eax
test byte [esp + 0xe8], 0x10
sete al
jmp dword [eax*4 + 0x4469c0]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
jmp dword [0x4469c8]
mov eax, dword [esp + 0x24]
movzx eax, word [eax]
mov ecx, edi
test ax, ax
je 0x41cbc1
mov edx, dword [esp + 0x20]
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], ax
add ecx, 2
movzx eax, word [edx]
add edx, 2
test ax, ax
jne 0x41cbb0
mov word [ecx], 0
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
jmp dword [0x4469c8]
mov eax, dword [esi]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp]
mov dword [esp + 0xec], eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
lea eax, [esp + 0xf0]
push eax
push edi
call fcn.0041e7a0
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp]
mov dword [esp + 0xec], eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
lea eax, [esp + 0xf0]
push eax
push edi
call fcn.0041e7a0
add esp, 0x10
jmp dword [0x4469d0]
mov ebx, eax
mov eax, dword [esp]
jmp dword [0x4469d8]
push eax
call fcn.004083f0
add esp, 4
mov edi, dword [esp + 0x6c]
mov eax, dword [esp + 4]
jmp dword [0x4469e0]
mov edi, dword [esp + 0x6c]
mov eax, dword [esp + 4]
jmp dword [0x4469e0]
jmp dword [0x4469b4]
push dword [esp + 0x74]
call fcn.00401be0
add esp, 4
jmp dword [0x4469f8]
push dword [esp + 0x24]
call fcn.004083f0
add esp, 4
mov eax, dword [esp + 0xc]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [esp + 0xe8]
call fcn.004090c0
lea ecx, [esp + 0xe8]
call fcn.004090c0
jmp dword [0x446994]
xor edi, edi
mov dword [esp + 0xc], 0
jmp 0x419929
mov dword [esp + 0xe8], 0x33df31fc
mov dword [esp + 0xec], 0x3fdf3dd2
mov dword [esp + 0xf0], 0x3bce39c5
mov dword [esp + 0xf4], 0xc7c6c538
lea eax, [esp + 0xf8]
mov dword [esp], eax
mov word [esp + 0xf8], 0
mov byte [esp + 0xfa], 0
xor ecx, ecx
mov esi, 0xffffffff
nop
nop
mov dword [esp + 4], esi
movzx esi, byte [esp + ecx + 0xe8]
mov edi, dword [esp + 4]
or edi, 0x2a01a9f4
add edi, ecx
mov ebx, ecx
xor ebx, 0xaa01a9f4
lea edi, [ebx + edi*2]
add edi, 2
xor edi, esi
lea esi, [edi - 0x520851c5]
mov edx, esi
mov eax, esi
xor esi, 1
lea ebx, [esi + edi]
add ebx, 0xadf7ae3b
mov esi, dword [esp + 4]
and eax, 0xfe
sub ebx, eax
and edx, 1
add ebx, edx
mov byte [esp + ecx + 0xe8], bl
inc ecx
dec esi
cmp ecx, 0x13
jne 0x41cd30
lea eax, [esp + 0x2a0]
lea esi, [esp + 0xe8]
mov edx, esi
mov edi, eax
mov ecx, 4
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x2b0]
xor ecx, ecx
mov edx, dword [esp]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx]
mov dword [esp + 0xe8], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push esi
push dword [ebp + 8]
call fcn.0041e7a0
add esp, 0x10
jmp dword [0x4469f0]
mov dword [esp + 0xe8], 0x33df31fc
mov dword [esp + 0xec], 0x3fdf3dd2
mov dword [esp + 0xf0], 0x3bce39c5
mov dword [esp + 0xf4], 0xc7c6c538
lea eax, [esp + 0xf8]
mov dword [esp], eax
mov word [esp + 0xf8], 0
mov byte [esp + 0xfa], 0
xor ecx, ecx
mov esi, 0xffffffff
mov dword [esp + 4], esi
movzx esi, byte [esp + ecx + 0xe8]
mov edi, dword [esp + 4]
or edi, 0x2a01a9f4
add edi, ecx
mov ebx, ecx
xor ebx, 0xaa01a9f4
lea edi, [ebx + edi*2]
add edi, 2
xor edi, esi
lea esi, [edi - 0x520851c5]
mov edx, esi
mov eax, esi
xor esi, 1
lea ebx, [esi + edi]
add ebx, 0xadf7ae3b
mov esi, dword [esp + 4]
and eax, 0xfe
sub ebx, eax
and edx, 1
add ebx, edx
mov byte [esp + ecx + 0xe8], bl
inc ecx
dec esi
cmp ecx, 0x13
jne 0x41ce40
lea eax, [esp + 0x2a0]
lea esi, [esp + 0xe8]
mov edx, esi
mov edi, eax
mov ecx, 4
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x2b0]
xor ecx, ecx
mov edx, dword [esp]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx]
mov dword [esp + 0xe8], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push esi
push dword [ebp + 8]
call fcn.0041e7a0
add esp, 0x10
jmp case.0x41a557.61
mov ecx, dword [esp + 0xc]
and cl, 1
or cl, al
mov dword [esp + 0xc], ecx
jmp case.0x41c9d6.6
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xe8], 0x7c7d7a7b
mov word [esp + 0xec], 0
mov byte [esp + 0xee], 0
mov ecx, 0xad88646a
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x52779c7e]
mov ebx, edx
and ebx, ecx
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0xee
mov byte [esp + ecx + 0x52779c7e], dl
inc ecx
cmp ecx, 0xad886471
jne 0x41cf40
mov ecx, dword [0x44cdac]
test ecx, ecx
je 0x41cfba
mov edx, dword [esp + 0xe8]
xor esi, esi
mov edi, dword [0x44cdb0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x41cfa0
inc esi
cmp ecx, esi
jne 0x41cf90
jmp 0x41cfba
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x41cfba
push eax
push 4
push ecx
push dword [0x44cdb4]
call fcn.0043e5b0
add esp, 0x10
push dword [esp + 0x74]
call fcn.00401960
add esp, 4
mov dword [esp + 0xe8], 0xa0bdd2af
mov dword [esp + 0xec], 0xd3d6dcd6
mov dword [esp + 0xf0], 0xa8a4ac66
mov dword [esp + 0xf4], 0xdbded4de
mov dword [esp + 0xf8], 0x988d9595
mov dword [esp + 0xfc], 0x76ec91
xor ecx, ecx
mov edx, 0x2f
nop
mov esi, edx
and esi, 0x31
mov ebx, ecx
and ebx, 0xe
or ebx, esi
xor bl, byte [esp + ecx + 0xe8]
xor bl, 0xb1
add bl, 0x30
mov byte [esp + ecx + 0xe8], bl
inc ecx
dec edx
cmp ecx, 0x18
jne 0x41d010
lea ecx, [esp + 0xe8]
push ecx
push eax
call fcn.00401ab0
add esp, 8
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xe8], 0x7c7d7a7b
mov word [esp + 0xec], 0
mov byte [esp + 0xee], 0
mov ecx, 0xad88646a
nop
nop
movzx edx, byte [esp + ecx + 0x52779c7e]
mov ebx, edx
and ebx, ecx
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0xee
mov byte [esp + ecx + 0x52779c7e], dl
inc ecx
cmp ecx, 0xad886471
jne 0x41d070
mov ecx, dword [0x44cdac]
test ecx, ecx
je 0x41d0ea
mov edx, dword [esp + 0xe8]
xor esi, esi
mov edi, dword [0x44cdb0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x41d0d0
inc esi
cmp ecx, esi
jne 0x41d0c0
jmp 0x41d0ea
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x41d0ea
push eax
push 4
push ecx
push dword [0x44cdb4]
call fcn.0043e5b0
add esp, 0x10
push dword [esp + 0x74]
call fcn.00401960
add esp, 4
mov ebx, eax
mov dword [esp + 0xe8], 0xa0bdd2af
mov dword [esp + 0xec], 0xd3d6dcd6
mov dword [esp + 0xf0], 0xa8a4ac66
mov dword [esp + 0xf4], 0xdbded4de
mov dword [esp + 0xf8], 0x988d9595
mov dword [esp + 0xfc], 0x76ec91
xor eax, eax
mov ecx, 0x2f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ecx
and esi, 0x31
mov edx, eax
and edx, 0xe
or edx, esi
xor dl, byte [esp + eax + 0xe8]
xor dl, 0xb1
add dl, 0x30
mov byte [esp + eax + 0xe8], dl
inc eax
dec ecx
cmp eax, 0x18
jne 0x41d150
lea eax, [esp + 0xe8]
push eax
push ebx
call fcn.00401ab0
add esp, 8
jmp dword [0x44679c]
lea ecx, [esp + 0x2a0]
call fcn.0041d2b0
lea ecx, [esp + 0x2a0]
call fcn.0041d2b0
jmp dword [0x4468b8]