Function at 0x41fdd2
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x468
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x60], 0x6be66de3
mov dword [esp + 0x64], 0x678769f5
mov dword [esp + 0x68], 0x63b065f1
mov dword [esp + 0x6c], 0x1f9661fd
mov dword [esp + 0x70], 0x1b1a1d81
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov word [esp + 0x7c], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x1d
ja 0x41e0ae
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx + 0x60]
mov edx, 0x4d
sub edx, eax
add eax, 0xf93275b2
xor edx, eax
and edx, ecx
xor edx, eax
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x30]
add al, 0x22
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x60], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x1e
jb 0x41e070
lea ebx, [esp + 0x60]
lea ecx, [esp + 0x4c]
push ebx
call fcn.00430ee0
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x43bc08]
lea ecx, [esp + 0x4c]
push 0x410
call fcn.00431140
not eax
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x43bc10]
mov dword [esp + 0x60], 0xb29bc0b5
mov dword [esp + 0x64], 0xd8d28da8
mov dword [esp + 0x68], 0xacd5ab89
mov dword [esp + 0x6c], 0xb7dea685
mov dword [esp + 0x70], 0xd8838ab6
mov dword [esp + 0x74], 0x9fbcb6bd
mov dword [esp + 0x78], 0x9a91be92
mov dword [esp + 0x7c], 0x96bf948b
mov dword [esp + 0x80], 0xb688868a
mov dword [esp + 0x84], 0x8eabb599
mov dword [esp + 0x88], 0x63b2a9a9
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov word [esp + 0x94], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x35
ja 0x41e1be
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 + 0x60]
mov edx, 0x73
sub edx, eax
add eax, 0x1e725d8c
xor edx, eax
and edx, ecx
xor edx, eax
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x30]
add al, 0x2c
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x60], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x36
jb 0x41e180
lea eax, [esp + 0xc]
lea ecx, [esp + 0x4c]
push 0
push 0x2b
push ebx
push eax
call fcn.004316f0
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
xor eax, eax
cmp esi, edi
sete al
jmp dword [eax*4 + 0x43bc18]
mov eax, edi
sub eax, esi
sar eax, 2
mov ecx, eax
and ecx, 0xfffffbde
mov edx, eax
and edx, 0x421
or eax, 0x421
imul eax, edx
xor edx, 0x421
imul edx, ecx
add eax, edx
push eax
call fcn.00408a30
add esp, 4
mov ecx, edi
mov edi, eax
mov dword [esp + 0x40], 0
xor eax, eax
mov dword [esp + 0x44], ecx
cmp esi, ecx
setne al
mov dword [esp + 0x18], edi
mov dword [esp + 0x58], edi
jmp dword [eax*4 + 0x43bc20]
mov esi, dword [esp + 0x1c]
add esi, 4
xor eax, eax
cmp esi, dword [esp + 0x44]
setne al
jmp dword [eax*4 + 0x43bc20]
mov dword [esp + 0x1c], esi
mov esi, dword [esi]
push 0x400
push 0
push ebx
call fcn.00408ae0
add esp, 0xc
lea eax, [esp + 0x30]
lea ecx, [esp + 0x4c]
push eax
push 0x400
push ebx
push esi
call fcn.00431580
cmp eax, 0xc0000000
setae al
cmp dword [esp + 0x30], 0
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x43bc30]
mov eax, 1
jmp dword [eax*4 + 0x43bc48]
xor eax, eax
jmp dword [eax*4 + 0x43bc48]
jmp dword [0x43bc5c]
mov byte [esp + 0x45f], 0
movzx eax, byte [esp + 0x60]
xor edx, edx
test al, al
je 0x41e2c0
mov ecx, ebx
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x41e2f0
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x41e2e0
jmp 0x41e2c0
mov edx, ecx
jmp dword [0x43bc5c]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x43bc60]
movzx eax, byte [edx + 1]
inc edx
xor esi, esi
test al, al
je 0x41e331
mov ecx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x41e32f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x41e320
jmp 0x41e331
mov esi, ecx
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x43bc68]
mov ecx, esi
sub ecx, edx
lea edi, [ecx + ecx*2]
shr edi, 2
movzx eax, byte [esi - 1]
cmp eax, 0x3d
je 0x41e357
cmp eax, 0x2e
jne 0x41e358
dec edi
movzx eax, byte [edx + ecx - 2]
cmp eax, 0x3d
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ecx
je 0x41e36f
cmp eax, 0x2e
jne 0x41e370
dec edi
mov dword [esp + 0x5c], edi
lea eax, [edi + 1]
push eax
call fcn.00408a30
add esp, 4
mov dword [esp + 0x20], eax
mov edi, dword [esp + 0x24]
cmp esi, edi
je 0x41e47a
xor edx, edx
mov esi, 2
jmp 0x41e3b4
mov edx, dword [esp + 0x48]
nop
nop
nop
lea eax, [esi + 4]
add esi, 2
cmp esi, ecx
mov esi, eax
mov edi, dword [esp + 0x24]
jae 0x41e47a
mov dword [esp + 0x2c], edx
movzx eax, byte [edi + esi - 2]
push eax
call fcn.00415da0
add esp, 4
mov ebx, eax
movzx eax, byte [edi + esi - 1]
push eax
call fcn.00415da0
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x2c]
mov byte [ecx + edx], al
inc edx
mov ecx, dword [esp + 0x28]
cmp esi, ecx
jae 0x41e3a0
mov eax, dword [esp + 0x24]
movzx eax, byte [eax + esi]
push eax
mov edi, edx
call fcn.00415da0
mov edx, edi
mov ecx, dword [esp + 0x2c]
add esp, 4
cmp al, 0x40
je 0x41e3a0
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov edi, dword [esp + 0x2c]
lea edx, [edi + 2]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x20]
mov byte [edx + edi + 1], al
lea eax, [esi + 1]
cmp eax, ecx
jae 0x41e399
mov eax, dword [esp + 0x24]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00415da0
mov ecx, dword [esp + 0x2c]
add esp, 4
cmp al, 0x40
mov edx, dword [esp + 0x48]
je 0x41e3a0
shl bl, 6
add al, bl
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x2c]
mov byte [edx + edi + 2], al
add edi, 3
mov edx, edi
jmp 0x41e3a0
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x20]
mov byte [esi + eax], 0
push esi
call fcn.00401e00
add esp, 4
mov ebx, eax
jmp dword [0x43bc70]
push esi
call fcn.00408a40
add esp, 4
push ebx
call fcn.00402700
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov edi, dword [esp + 0x58]
jmp dword [ecx*4 + 0x43bc78]
mov esi, dword [esp + 0x1c]
jmp 0x41e5b9
mov dword [esp + 0x30], 0x5bf8d4eb
lea ecx, [esp + 0x34]
mov dword [ecx + 7], 0
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 0xe
ja 0x41e540
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x30]
mov esi, 0xcb
sub esi, ecx
add ecx, 0x9c26234
xor esi, ecx
and esi, edx
xor esi, ecx
mov dword [esp + 4], esi
mov ecx, dword [esp + 4]
add cl, 0x94
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x30], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 0xf
jb 0x41e500
lea ecx, [esp + 0x30]
push ecx
push eax
call fcn.00402650
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43bc80]
mov edx, dword [esp + 0x18]
jmp 0x41e583
movzx ecx, byte [eax]
test cl, cl
mov edx, dword [esp + 0x18]
je 0x41e57b
inc eax
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x41e570
mov word [edx], 0x203a
add edx, 2
mov esi, dword [esp + 0x1c]
movzx eax, byte [esp + 0x60]
test al, al
je 0x41e5ab
lea ecx, [esp + 0x61]
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 0x41e5a0
mov byte [edx], 0xa
inc edx
mov dword [esp + 0x18], edx
mov al, 1
mov dword [esp + 0x40], eax
push ebx
call fcn.00402990
add esp, 4
add esi, 4
xor eax, eax
cmp esi, dword [esp + 0x44]
setne al
lea ebx, [esp + 0x60]
jmp dword [eax*4 + 0x43bc20]
mov ecx, dword [esp + 0x40]
mov eax, ecx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x43bc28]
jmp dword [0x43bc98]
xor ecx, ecx
test esi, esi
jne 0x41e60b
jmp case.0x41e0c1.1
mov esi, dword [ebp + 8]
mov ebx, dword [esp + 0x18]
mov byte [ebx], 0
sub ebx, edi
jmp dword [0x43bc88]
cmp esi, edi
je case.0x41e0c1.1
push esi
mov esi, ecx
call fcn.00408a40
mov ecx, esi
add esp, 4
mov ebx, ecx
lea ecx, [esp + 0x4c]
call fcn.00431270
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x60], 0xb7b0b1e5
mov dword [esp + 0x64], 0x93bf80b9
mov dword [esp + 0x68], 0x968e8885
mov dword [esp + 0x6c], 0x8898b8cb
mov dword [esp + 0x70], 0xbfc186b5
mov dword [esp + 0x74], 0x99939883
mov dword [esp + 0x78], 0x8384df83
mov dword [esp + 0x7c], 0x586
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x1f
ja 0x41e6ce
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x60]
mov edx, 0x24
sub edx, eax
add eax, 0x82fb1bdb
xor edx, eax
and edx, ecx
xor edx, eax
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x30]
add al, 3
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x60], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x20
jb 0x41e690
lea eax, [esp + 0x60]
mov ecx, esi
push ebx
push edi
push eax
call fcn.00409560
mov dword [esp + 0x60], 0xb7b0b1e5
mov dword [esp + 0x64], 0x93bf80b9
mov dword [esp + 0x68], 0x968e8885
mov dword [esp + 0x6c], 0x8898b8cb
mov dword [esp + 0x70], 0xbfc186b5
mov dword [esp + 0x74], 0x99939883
mov dword [esp + 0x78], 0x8384df83
mov dword [esp + 0x7c], 0x586
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x1f
ja 0x41e76e
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x60]
mov edx, 0x24
sub edx, eax
add eax, 0x82fb1bdb
xor edx, eax
and edx, ecx
xor edx, eax
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x30]
add al, 3
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x60], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x20
jb 0x41e730
lea eax, [esp + 0x60]
mov ecx, esi
push ebx
push edi
push eax
call fcn.00409560
jmp dword [0x43bc94]
mov ecx, eax
jmp dword [0x43bc98]
push edi
mov esi, ecx
call fcn.00408a40
mov ecx, esi
add esp, 4
and cl, 1
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
test esi, esi
jne 0x41e60b
jmp case.0x41e0c1.1
int3
xor eax, eax
test edi, edi
sete al
xor edx, edx
jmp dword [eax*4 + 0x43bd30]
mov eax, dword [esi + 0x1c]
add eax, 0x18
mov dword [esi + 0x50], eax
lea eax, [ebx + 0x4e]
mov edi, dword [case.0x41e338.21]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp edi
jmp dword [edx*4 + 0x43bcc0]
mov dword [ebx], 0x63da65c2
mov dword [ebx + 4], 0x6fa961a9
mov dword [ebx + 8], 0x6bd16dd9
mov dword [ebx + 0xc], 0x57d669d6
mov dword [ebx + 0x10], 0x53f055f1
mov dword [ebx + 0x14], 0x5f9f51e1
mov dword [ebx + 0x18], 0x5b945d93
mov dword [ebx + 0x1c], 0x47ea59ed
mov dword [ebx + 0x20], 0x43e0458d
mov dword [ebx + 0x24], 0x4ff141ff
mov dword [ebx + 0x28], 0x4bf04d84
mov dword [ebx + 0x2c], 0x378749f3
mov dword [ebx + 0x30], 0x33ff3588
mov dword [ebx + 0x34], 0x3f8a3196
mov dword [ebx + 0x38], 0x3ba83d91
mov dword [ebx + 0x3c], 0x279339a0
mov dword [ebx + 0x40], 0x23992582
mov dword [ebx + 0x44], 0x2f8b21be
mov dword [ebx + 0x48], 0x2bbf2d81
mov word [ebx + 0x4c], 0x292a
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esi], 0
mov eax, dword [esi]
cmp eax, 0x52
ja 0x41e990
nop
nop
nop
nop
nop
nop
mov eax, dword [esi]
mov edx, dword [esi]
movzx edi, byte [ebx + edx]
mov edx, 0xee
sub edx, eax
add eax, 0x5054a511
xor edx, eax
and edx, edi
xor edx, eax
mov dword [esi + 0x30], edx
mov eax, dword [esi + 0x30]
add al, 0x89
mov edx, dword [esi]
mov byte [ebx + edx], al
inc dword [esi]
mov eax, dword [esi]
cmp eax, 0x53
jb 0x41e960
push 0
push 0
push ecx
push dword [esi + 0xc]
push ebx
call fcn.004350c0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x43bcc8]
mov edi, dword [esi + 0x28]
push edi
push dword [esi + 0x48]
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, dword [esi + 0xc]
push dword [eax]
call fcn.00435540
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43bcd0]
mov ecx, dword [edi]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x41e9e8
mov eax, 0xffffffff
mov dword [esi + 0x74], ebx
push eax
call fcn.00408a30
add esp, 4
mov dword [esi + 8], eax
mov edi, dword [esi + 0x1c]
mov dword [edi], 0xa336a1dd
mov dword [edi + 4], 0xdf50dd2f
mov dword [edi + 8], 0xdb4cd9bd
mov dword [edi + 0xc], 0xd7a4d54e
mov dword [edi + 0x10], 0xd35cd1b5
mov dword [edi + 0x14], 0xcfcccd4a
mov eax, dword [esi + 0x50]
mov dword [eax], 0
mov word [eax + 4], 0
mov dword [esi], 0
mov eax, dword [esi]
cmp eax, 0x1d
ja 0x41ea70
nop
mov eax, dword [esi]
mov ecx, dword [esi]
movzx edx, byte [edi + ecx]
mov ecx, 0x44
sub ecx, eax
add eax, 0x6360f9bb
xor ecx, eax
and ecx, edx
xor ecx, eax
mov dword [esi + 0x30], ecx
mov eax, dword [esi + 0x30]
add al, 0xe3
mov ecx, dword [esi]
mov byte [edi + ecx], al
inc dword [esi]
mov eax, dword [esi]
cmp eax, 0x1e
jb 0x41ea40
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi + 4], eax
mov ebx, dword [esi + 0x28]
jmp dword [0x43bcd8]
push ebx
push dword [esi + 8]
push 0
push edi
push dword [esi + 4]
call fcn.00435bd0
add esp, 0x14
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
push dword [esi + 8]
push 0
push edi
push dword [esi + 4]
call fcn.00435bd0
add esp, 0x14
jmp dword [0x43bce0]
shr eax, 0x1f
mov ecx, dword [esi + 8]
mov dword [esi + 4], ecx
mov ebx, dword [esi + 0x74]
jmp dword [eax*4 + 0x43bce8]
jmp dword [0x43bcf8]
mov dword [esi + 4], 0
jmp dword [0x43bd00]
push ecx
call fcn.00408a40
add esp, 4
nop
nop
nop
nop
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi + 8], eax
mov dword [esi + 0x30], 0xea959497
lea eax, [esi + 0x34]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [esi + 0x10], 0
mov eax, dword [esi + 0x10]
cmp eax, 0xf
ja 0x41eb65
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
movzx edx, byte [esi + ecx + 0x30]
mov ecx, 0x42
sub ecx, eax
add eax, 0xc80c9cbd
xor ecx, eax
and ecx, edx
xor ecx, eax
mov dword [esi], ecx
mov eax, dword [esi]
add al, 0xd5
mov ecx, dword [esi + 0x10]
mov byte [esi + ecx + 0x30], al
inc dword [esi + 0x10]
mov eax, dword [esi + 0x10]
cmp eax, 0x10
jb 0x41eb30
mov ecx, dword [0x43f060]
test ecx, ecx
je 0x41ebc0
mov edx, dword [esi + 0x30]
xor edi, edi
mov eax, dword [0x43f064]
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + edi*8], 0xa3c1f363
je 0x41ebab
inc edi
cmp ecx, edi
jne 0x41eb80
jmp 0x41ebc0
mov edi, 4
xor eax, eax
cmp edi, 4
setb al
mov ecx, 0x20119
xor edx, edx
jmp dword [eax*4 + 0x43bd28]
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
jne case.default.0x41ebc9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
cmp dword [esi + 4], 0
setne al
jmp dword [eax*4 + 0x43bd08]
mov edi, dword [esi + 0x18]
push edi
call fcn.00434600
add esp, 4
cmp dword [edi], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x43bd20]
xor edi, edi
xor eax, eax
cmp edi, 4
setb al
mov ecx, 0x20119
xor edx, edx
jmp dword [eax*4 + 0x43bd28]
mov edi, 2
xor eax, eax
cmp edi, 4
setb al
mov ecx, 0x20119
xor edx, edx
jmp dword [eax*4 + 0x43bd28]
push dword [esi + 8]
push 1
push dword [0x43f068]
push eax
call fcn.00432610
add esp, 0x10
xor eax, eax
cmp dword [esi + 4], 0
setne al
jmp dword [eax*4 + 0x43bd08]
jmp dword [0x43bd18]
mov edi, 2
xor eax, eax
cmp edi, 4
setb al
mov ecx, 0x20119
xor edx, edx
jmp dword [eax*4 + 0x43bd28]
xor eax, eax
cmp dword [esi + 4], 0
sete al
jmp dword [eax*4 + 0x43bd38]
mov eax, dword [esi + 0x24]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov ebx, dword [esi + 0x4c]
mov dword [ebx], 0xcb75cd68
mov dword [ebx + 4], 0xc774c97b
mov dword [ebx + 8], 0xc37bc57e
mov dword [ebx + 0xc], 0xdf7ac17b
mov dword [ebx + 0x10], 0xdb69dd63
mov dword [ebx + 0x14], 0xd76cd96a
mov dword [ebx + 0x18], 0xd369d56d
mov dword [ebx + 0x1c], 0x2fa4d1a2
mov dword [ebx + 0x20], 0x2b902d90
lea eax, [ebx + 0x24]
mov word [ebx + 0x24], 0x2928
mov dword [ebx + 0x26], 0
mov word [ebx + 0x2a], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0x2b
ja 0x41ed32
nop
nop
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edx, byte [ebx + edx]
mov edi, 0x1d
sub edi, ecx
add ecx, 0x96706e2
xor edi, ecx
and edi, edx
xor edi, ecx
mov dword [esi + 0x30], edi
mov ecx, dword [esi + 0x30]
add cl, 0xd2
mov edx, dword [esi]
mov byte [ebx + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0x2c
jb 0x41ed00
mov edx, dword [esi + 0x14]
mov edi, edx
mov ecx, 9
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea edi, [edx + 0x24]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, 0xfffffffe
mov ecx, dword [esi + 4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x41ed60
cmp eax, 0xffffffd9
mov edi, dword [esi + 0x20]
jge 0x41ed81
mov eax, 0xffffffff
jmp 0x41ed84
xor eax, eax
jmp 0x41fd9d
add eax, 0x26
push eax
call fcn.00408a30
add esp, 4
mov ecx, dword [esi + 4]
movzx ecx, word [ecx]
mov dword [esi + 0x28], eax
test cx, cx
je 0x41edc1
mov eax, dword [esi + 4]
lea edx, [eax + 2]
mov eax, dword [esi + 0x28]
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 0x41edb0
mov word [eax], 0
mov edx, dword [esi + 0x14]
movzx ecx, word [edx]
test cx, cx
je 0x41edf1
add edx, 2
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 0x41ede0
mov word [eax], 0
mov ebx, dword [esi + 4]
jmp dword [0x43bd40]
jmp dword [0x43bd48]
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x43be10]
mov edi, dword [edx]
cmp dword [edx + 0x18], 3
mov ebx, 0
jne case.default.0x41ee37
mov ebx, dword [edx + 0x10]
test edi, edi
setne al
test ebx, ebx
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x43be18]
mov dword [esi + 8], ebx
mov eax, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x41ee8b
mov dword [esi + 0x44], edx
mov ebx, dword [esi + 8]
sub ecx, ebx
inc ecx
shr ecx, 1
mov dword [esi + 0x64], ecx
lea eax, [ecx + 1]
push eax
call fcn.00408a30
add esp, 4
mov edx, dword [case.0x41f43d.10]
movsx ebx, byte [ebx]
xor ecx, ecx
test ebx, ebx
setne cl
mov dword [esi + 0x4c], eax
mov dword [esi + 4], eax
mov eax, dword [esi + 8]
jmp dword [ecx*4 + 0x43be20]
mov ebx, eax
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0xc]
mov byte [eax], cl
inc eax
mov dword [esi + 4], eax
mov eax, ebx
movsx ebx, byte [ebx]
xor ecx, ecx
test ebx, ebx
setne cl
jmp dword [ecx*4 + 0x43be20]
lea ecx, [eax + 1]
mov dword [esi + 0x1c], ecx
mov dword [esi + 8], eax
mov ecx, ebx
or ebx, 0x20
add ebx, 0xffffff9f
cmp ebx, 5
ja 0x41eef0
mov ecx, ebx
and ecx, 2
xor ebx, 0xa
lea eax, [ebx + ecx*2]
mov dword [esi + 0xc], eax
jmp case.0x41f43d.8
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x41eefd
mov ecx, 0xffffffff
mov dword [esi + 0xc], ecx
jmp edx
mov eax, dword [esi + 0x1c]
movsx ecx, byte [eax]
xor ebx, ebx
test ecx, ecx
setne bl
jmp dword [ebx*4 + 0x43be38]
mov eax, dword [esi + 0xc]
shl eax, 4
add dword [esi + 8], 2
mov ebx, ecx
or ebx, 0x20
add ebx, 0xffffff9f
cmp ebx, 5
ja case.default.0x41ef50
mov ecx, ebx
and ecx, 2
xor ebx, 0xa
lea ecx, [ebx + ecx*2]
or ecx, eax
mov ebx, dword [esi + 4]
mov byte [ebx], cl
inc ebx
mov dword [esi + 4], ebx
mov eax, dword [esi + 8]
movsx ebx, byte [eax]
xor ecx, ecx
test ebx, ebx
setne cl
jmp dword [ecx*4 + 0x43be20]
add ecx, 0xffffffd0
cmp ecx, 0xa
jb case.default.0x41ef85
mov ecx, 0xffffffff
or ecx, eax
mov ebx, dword [esi + 4]
mov byte [ebx], cl
inc ebx
mov dword [esi + 4], ebx
mov eax, dword [esi + 8]
movsx ebx, byte [eax]
xor ecx, ecx
test ebx, ebx
setne cl
jmp dword [ecx*4 + 0x43be20]
mov eax, dword [esi + 4]
mov byte [eax], 0
jmp 0x41efa1
inc edi
movzx ecx, byte [edi]
movzx eax, cl
lea edx, [eax - 9]
cmp edx, 5
jb 0x41efa0
cmp eax, 0x20
je 0x41efa0
mov edx, ecx
add dl, 0xd5
xor eax, eax
test dl, 0xfd
sete al
lea edx, [edi + eax]
cmp byte [edi + eax], 0x30
jne 0x41efdf
movzx edx, byte [edi + eax + 1]
and dl, 0xdf
xor ebx, ebx
cmp dl, 0x58
sete bl
lea edx, [eax + ebx*2]
add edx, edi
mov dword [esi + 0x1c], edx
mov dword [esi + 4], 0
mov dword [esi + 8], 0
xor edx, edx
jmp 0x41f01e
xor eax, eax
mov dword [esi + 0xc], 0
mov ebx, 0xffffffff
mov edi, 0xffffffff
mov dword [esi + 0x28], 0x22
add eax, ebx
mov edx, dword [esi + 0xc]
adc edx, edi
mov edi, dword [esi + 0x28]
mov dword [esi + 4], edi
mov dword [esi + 8], eax
mov ebx, edx
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x28], eax
mov edi, dword [esi + 0x1c]
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 0xa
jae 0x41f040
and eax, 0xf
jmp 0x41f061
mov edx, eax
and edx, 0xffffffdf
add edx, 0xffffffbf
cmp edx, 0x1a
jae 0x41f0f0
or al, 0x20
cmp al, 0x66
jg 0x41f0f0
movsx eax, al
add eax, 0xffffffa9
mov edx, dword [esi + 0xc]
inc edi
mov dword [esi + 0x1c], edi
mov edi, edx
and edi, ebx
mov dword [esi + 8], 0xffffffff
mov dword [esi + 4], 0x22
mov edx, 0xffffffff
cmp edi, 0xffffffff
je 0x41f01e
test ebx, 0xf0000000
je 0x41f0b0
mov dword [esi + 8], 0xffffffff
mov dword [esi + 4], 0x22
test eax, eax
jne 0x41f01e
jmp 0x41eff4
mov edx, ebx
mov ebx, dword [esi + 0xc]
shld edx, ebx, 4
mov dword [esi + 0x48], edx
shl ebx, 4
mov edi, eax
sar edi, 0x1f
mov edx, eax
add edx, ebx
mov dword [esi + 0xc], edi
mov edx, edi
mov edi, dword [esi + 0x48]
adc edx, edi
mov dword [esi + 8], 0xffffffff
mov edx, 0xffffffff
mov dword [esi + 4], 0x22
jb 0x41f01e
jmp 0x41f00e
xor edi, edi
mov edx, dword [esi + 0xc]
mov eax, edx
neg eax
mov dword [esi + 4], eax
mov eax, 0
sbb eax, ebx
mov dword [esi + 0x1c], eax
cmp cl, 0x2d
mov eax, dword [esi + 0x24]
je case.default.0x41f129
mov dword [esi + 4], edx
mov dword [esi + 0x1c], ebx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov ebx, dword [case.0x41f129.10]
xor edx, edx
mov dword [esi + 0xc], eax
cmp ecx, eax
setne dl
jmp dword [edx*4 + 0x43be40]
cmp dword [esi + 0x28], 0x22
setne byte [esi + 8]
mov edx, dword [ecx + 4]
mov eax, edx
shr eax, 0x1c
xor eax, dword [esi + 0x1c]
shl edx, 4
or edx, 1
xor edx, dword [esi + 4]
or edx, eax
sete al
and al, byte [esi + 8]
movzx eax, al
jmp dword [eax*4 + 0x43be58]
mov edx, 1
jmp case.0x41f129.8
mov edi, dword [ecx]
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ebx
jmp dword [edx*4 + 0x43be70]
add ecx, 8
xor edx, edx
cmp ecx, dword [esi + 0xc]
setne dl
jmp dword [edx*4 + 0x43be40]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x43be88]
mov edx, dword [esi + 0x44]
jmp dword [0x43be98]
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x64]
mov dword [eax], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 4], ecx
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x41f21d
mov ecx, dword [esi + 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], edi
mov ebx, dword [esi + 0x60]
mov dword [ebx], 0
mov dword [ebx + 4], 0
push 0x3234ab19
push dword [0x43f06c]
call fcn.00433e40
add esp, 8
push ebx
push 1
push 0
push 0
push dword [esi + 0x6c]
push 0
push dword [esi + 0x70]
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43be90]
mov edx, dword [esi + 0x44]
jmp dword [0x43be98]
movzx eax, byte [edi]
test al, al
je 0x41f24d
inc edi
mov ecx, dword [esi + 0x20]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x41f240
jmp 0x41f250
mov ecx, dword [esi + 0x20]
mov word [ecx], 0x203a
mov eax, ecx
add eax, 2
mov edi, dword [esi + 0x60]
mov edx, dword [edi]
test edx, edx
je 0x41f29e
mov ecx, dword [edi + 4]
mov edi, edx
and edi, 3
je 0x41f2a2
mov dword [esi + 8], edx
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [ecx]
cmp dl, 1
mov byte [eax + ebx], dl
sbb ecx, 0xffffffff
inc ebx
cmp edi, ebx
jne 0x41f280
add eax, ebx
mov edi, dword [esi + 8]
mov edx, edi
sub edx, ebx
mov ebx, eax
jmp 0x41f2a4
mov ebx, eax
jmp 0x41f2e9
mov edi, edx
cmp edi, 4
mov edi, dword [esi + 0x60]
jb 0x41f2e9
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
mov byte [eax + 3], bl
lea ebx, [eax + 4]
mov eax, ebx
add edx, 0xfffffffc
jne 0x41f2b0
mov byte [ebx], 0xa
inc ebx
mov dword [esi + 0x20], ebx
push 0xaa39f1ac
push dword [0x43f054]
call fcn.00433e40
add esp, 8
push dword [edi + 4]
call eax
mov al, 1
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0x44]
jmp dword [0x43be98]
push dword [esi + 0x4c]
call fcn.00408a40
mov edx, dword [esi + 0x44]
add esp, 4
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x43be10]
mov ebx, dword [esi + 0x2c]
mov ecx, ebx
call fcn.00421420
push ebx
call fcn.00408a40
add esp, 4
jmp dword [0x43bd90]
mov eax, edx
and al, 1
movzx ecx, al
mov eax, edx
jmp dword [ecx*4 + 0x43bee8]
jmp dword [0x43bef0]
jmp dword [0x43bdb4]
xor eax, eax
test edi, edi
jne 0x41fd52
jmp 0x41fd9d
mov edi, dword [esi + 0x78]
mov dword [edi], 0xf7c4ced3
mov dword [edi + 4], 0xc2f4c4f3
mov dword [edi + 8], 0xc7cbdf07
mov dword [edi + 0xc], 0xdc01c8fa
mov dword [edi + 0x10], 0xfef3f4c4
mov dword [edi + 0x14], 0xf9f9163b
mov dword [edi + 0x18], 0xcff9fcf6
mov dword [edi + 0x1c], 0xf7fdfc1f
mov word [edi + 0x20], 0x41e5
mov dword [edi + 0x22], 0
mov dword [edi + 0x26], 0
mov byte [edi + 0x2a], 0
mov dword [esi], 0
mov eax, dword [esi]
cmp eax, 0x2a
ja 0x41f420
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi]
mov ecx, dword [esi]
movzx ecx, byte [edi + ecx]
mov edx, 0xaf
sub edx, eax
add eax, 0x4bd44150
xor edx, eax
and edx, ecx
xor edx, eax
mov dword [esi + 0x30], edx
mov eax, dword [esi + 0x30]
add al, 0xd0
mov ecx, dword [esi]
mov byte [edi + ecx], al
inc dword [esi]
mov eax, dword [esi]
cmp eax, 0x2b
jb 0x41f3f0
mov ecx, dword [esi + 0x54]
push edi
call fcn.004212c0
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 0x14], 0
mov edx, dword [esi + 0x18]
mov dword [esi + 0x20], edx
jmp dword [ecx*4 + 0x43be08]
mov eax, dword [case.0x41ec3e.62]
mov ecx, dword [esi + 0x14]
nop
nop
nop
nop
jmp eax
add eax, 8
mov dword [esi + 0x14], 0
mov edx, dword [eax]
xor eax, eax
test edx, edx
setne al
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x20], ecx
jmp dword [eax*4 + 0x43be10]
push dword [esi + 0x28]
call fcn.00408a40
add esp, 4
mov eax, dword [esi + 0x24]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x43bda0]
mov edi, dword [ebx]
mov eax, edi
and eax, 1
mov ecx, edi
xor ecx, 1
lea eax, [ecx + eax*2]
push eax
call fcn.00408a30
add esp, 4
push 0
push edi
mov dword [esi + 0x2c], eax
push eax
mov eax, dword [esi + 0x5c]
push dword [eax]
call fcn.00434d10
add esp, 0x10
not eax
shr eax, 0x1f
xor ecx, ecx
mov edx, dword [esi + 0x18]
mov dword [esi + 0x20], edx
jmp dword [eax*4 + 0x43bdd8]
mov edi, dword [ebx]
mov eax, dword [esi + 0x2c]
jmp dword [0x43bde0]
mov byte [eax + edi], 0
jmp dword [0x43bde8]
mov byte [eax + edi], 0
mov byte [eax + edi], 0
jmp dword [0x43bde8]
jmp dword [0x43bdf8]
push 0x20
call fcn.00408a30
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 [esi + 0x54], eax
mov ecx, eax
push edi
push dword [esi + 0x2c]
call fcn.004210d0
movzx eax, al
xor ecx, ecx
mov edx, dword [esi + 0x18]
mov dword [esi + 0x20], edx
jmp dword [eax*4 + 0x43be00]
jmp dword [0x43beb0]
mov edi, ecx
mov ebx, dword [esi + 0x54]
mov ecx, ebx
call fcn.00421420
push ebx
call fcn.00408a40
mov ecx, edi
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x43bec4]
mov dword [esi + 0x14], ecx
jmp dword [0x43bed8]
push dword [esi + 0x2c]
call fcn.00408a40
add esp, 4
mov eax, dword [esi + 0x5c]
mov eax, dword [eax]
mov dword [esi + 0x30], 0xea959497
mov dword [esi + 0x34], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
mov dword [esi + 0x10], 0
mov ecx, dword [esi + 0x10]
cmp ecx, 0xf
ja 0x41f607
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x10]
movzx edx, byte [esi + edx + 0x30]
mov edi, 0x42
sub edi, ecx
add ecx, 0xc80c9cbd
xor edi, ecx
and edi, edx
xor edi, ecx
mov dword [esi], edi
mov ecx, dword [esi]
add cl, 0xd5
mov edx, dword [esi + 0x10]
mov byte [esi + edx + 0x30], cl
inc dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
cmp ecx, 0x10
jb 0x41f5d0
mov ecx, dword [0x43f060]
test ecx, ecx
je 0x41f638
mov edx, dword [esi + 0x30]
xor edi, edi
mov ebx, dword [0x43f064]
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xa3c1f363
je 0x41f630
inc edi
cmp ecx, edi
jne 0x41f620
jmp 0x41f638
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x41f644
mov ebx, dword [esi + 0x68]
mov edx, dword [esi + 0x14]
jmp dword [0x43bee0]
push eax
push 1
push dword [0x43f068]
push ecx
call fcn.00432610
add esp, 0x10
mov ebx, dword [esi + 0x68]
mov edx, dword [esi + 0x14]
jmp dword [0x43bee0]
push 0
mov ebx, dword [esi + 0x2c]
push ebx
push dword [edi]
call fcn.00434c10
add esp, 0xc
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43bd60]
mov edi, dword [ebx]
lea eax, [edi + 1]
push eax
call fcn.00408a30
add esp, 4
push 0
push edi
mov edi, dword [esi + 0x20]
mov dword [esi + 0x50], eax
push eax
push dword [edi]
call fcn.00434d10
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43bd68]
mov edi, dword [ebx]
mov ebx, dword [esi + 0x50]
mov byte [ebx + edi], 0
push 0x20
call fcn.00408a30
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 [esi + 0x2c], eax
mov ecx, eax
push edi
push ebx
call fcn.004210d0
movzx eax, al
jmp dword [eax*4 + 0x43bd70]
mov edi, dword [esi + 0x7c]
mov dword [edi], 0xd7d8defb
mov dword [edi + 4], 0xe2d0e0cb
mov dword [edi + 8], 0xa79bef97
mov dword [edi + 0xc], 0x88ed9cb2
mov dword [edi + 0x10], 0xae9398a8
mov dword [edi + 0x14], 0x9091f0e3
mov dword [edi + 0x18], 0xbfb8a0a7
mov dword [edi + 0x1c], 0x29bf
mov byte [edi + 0x20], 0
mov dword [esi], 0
mov eax, dword [esi]
cmp eax, 0x20
ja 0x41f780
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi]
mov ecx, dword [esi]
movzx ecx, byte [edi + ecx]
mov edx, 0xc9
sub edx, eax
add eax, 0x900fb236
xor edx, eax
and edx, ecx
xor edx, eax
mov dword [esi + 0x30], edx
mov eax, dword [esi + 0x30]
add al, 0x86
mov ecx, dword [esi]
mov byte [edi + ecx], al
inc dword [esi]
mov eax, dword [esi]
cmp eax, 0x21
jb 0x41f750
mov ecx, dword [esi + 0x2c]
push edi
call fcn.004212c0
xor ecx, ecx
test eax, eax
setne cl
mov edx, dword [esi + 0x24]
jmp dword [ecx*4 + 0x43bd78]
mov edi, dword [esi + 0x20]
jmp dword [0x43bd88]
jmp dword [0x43bd90]
push dword [esi + 0x50]
call fcn.00408a40
add esp, 4
mov eax, dword [edi]
mov dword [esi + 0x30], 0xea959497
mov dword [esi + 0x34], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
mov dword [esi + 0x10], 0
mov ecx, dword [esi + 0x10]
cmp ecx, 0xf
ja 0x41f827
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x10]
movzx edx, byte [esi + edx + 0x30]
mov edi, 0x42
sub edi, ecx
add ecx, 0xc80c9cbd
xor edi, ecx
and edi, edx
xor edi, ecx
mov dword [esi], edi
mov ecx, dword [esi]
add cl, 0xd5
mov edx, dword [esi + 0x10]
mov byte [esi + edx + 0x30], cl
inc dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
cmp ecx, 0x10
jb 0x41f7f0
mov ecx, dword [0x43f060]
test ecx, ecx
je case.0x41ec3e.20
mov edx, dword [esi + 0x30]
xor edi, edi
mov ebx, dword [0x43f064]
cmp dword [ebx + edi*8], 0xa3c1f363
je 0x41f853
inc edi
cmp ecx, edi
jne 0x41f840
jmp case.0x41ec3e.20
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je case.0x41ec3e.20
push eax
push 1
push dword [0x43f068]
push ecx
call fcn.00432610
add esp, 0x10
jmp dword [0x43bd98]
add eax, 8
mov edi, dword [eax]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x43bd80]
not eax
mov ebx, dword [esi + 4]
mov ecx, dword [esi + 0x1c]
mov dword [ebx + ecx + 4], eax
mov eax, dword [esi + 0x48]
add eax, 8
mov dword [edx + 4], eax
add edi, 4
mov edi, dword [edi]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x43bd80]
mov dword [esi + 0x14], edi
mov eax, dword [edi]
mov dword [esi + 8], eax
mov edi, dword [edx]
mov eax, dword [edx + 4]
mov ecx, eax
sub ecx, edi
cmp eax, dword [edx + 8]
mov edx, eax
mov eax, ecx
mov dword [esi + 0x1c], ecx
je 0x41f8de
mov ebx, edi
mov edi, ecx
jmp 0x41f975
mov dword [esi + 0x48], edx
sar ecx, 3
lea eax, [ecx + 1]
mov edx, ecx
shr edx, 1
add edx, ecx
cmp edx, eax
ja 0x41f8f3
mov edx, eax
mov eax, edx
and eax, 0xfffffff7
mov ecx, edx
and ecx, 8
mov ebx, edx
mov dword [esi + 0xc], edx
or edx, 8
imul edx, ecx
xor ecx, 8
imul ecx, eax
add edx, ecx
push edx
call fcn.00408a30
add esp, 4
mov dword [esi + 4], eax
test edi, edi
je 0x41f95b
mov edx, dword [esi + 0x48]
cmp edi, edx
mov ebx, dword [esi + 4]
je 0x41f952
xor eax, eax
nop
nop
nop
nop
mov ecx, dword [edi + eax]
mov dword [ebx + eax], ecx
mov ecx, dword [edi + eax + 4]
mov dword [ebx + eax + 4], ecx
mov dword [edi + eax], 0
lea ecx, [edi + eax]
add ecx, 8
add eax, 8
cmp ecx, edx
jne 0x41f930
push edi
call fcn.00408a40
add esp, 4
mov ecx, dword [esi + 0x24]
mov ebx, dword [esi + 4]
mov dword [ecx], ebx
mov edi, dword [esi + 0x1c]
lea edx, [ebx + edi]
mov dword [ecx + 4], edx
mov eax, dword [esi + 0xc]
lea eax, [ebx + eax*8]
mov dword [ecx + 8], eax
mov dword [esi + 0x48], edx
mov dword [ebx + edi], 0
mov dword [esi + 4], ebx
mov dword [ebx + edi + 4], 0
mov ecx, 0xffffffff
xor eax, eax
mov edx, dword [esi + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, eax
cmp byte [edx + ecx + 1], 0
lea ecx, [ecx + 1]
lea eax, [eax + 1]
jne 0x41f9a0
lea eax, [ecx + 1]
mov dword [esi + 0xc], eax
push eax
mov dword [esi + 0x18], ecx
call fcn.00408a30
add esp, 4
mov edi, eax
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x1c]
mov dword [eax + ecx], edi
mov ecx, dword [esi + 0xc]
shr ecx, 2
mov edx, dword [esi + 8]
mov eax, edi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, dword [esi + 0xc]
mov edx, ecx
and edx, 0xfffffffc
add eax, edx
mov edi, eax
add edx, dword [esi + 8]
shr ecx, 1
and ecx, 1
mov eax, edx
mov dword [esi + 0x4c], edi
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [esi + 0x18]
test cl, 1
jne 0x41fa1b
mov edi, dword [esi + 0xc]
and edi, 2
movzx eax, byte [edx + edi]
mov edx, dword [esi + 0x4c]
mov byte [edx + edi], al
test ecx, ecx
je 0x41faa8
cmp ecx, 1
mov edi, dword [esi + 0x14]
jne 0x41fa36
mov eax, 0xffffffff
mov edx, dword [esi + 0x24]
test cl, 1
je 0x41f890
jmp 0x41fa8d
and ebx, 0xfffffffe
mov eax, 0xffffffff
mov edx, dword [esi + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
shr ecx, 8
xor al, byte [edx]
movzx eax, al
xor ecx, dword [eax*4 + 0x4377c8]
mov eax, ecx
shr eax, 8
xor cl, byte [edx + 1]
add edx, 2
movzx ecx, cl
xor eax, dword [ecx*4 + 0x4377c8]
add ebx, 0xfffffffe
jne 0x41fa50
mov dword [esi + 8], edx
mov edx, dword [esi + 0x24]
mov ecx, dword [esi + 0x18]
test cl, 1
je 0x41f890
mov ecx, eax
shr ecx, 8
mov ebx, dword [esi + 8]
xor al, byte [ebx]
movzx eax, al
xor ecx, dword [eax*4 + 0x4377c8]
mov eax, ecx
jmp 0x41f890
xor eax, eax
mov edx, dword [esi + 0x24]
mov edi, dword [esi + 0x14]
jmp 0x41f892
push 0x60
push 3
push 0x120089
push edi
push dword [esi + 0x28]
call fcn.00434840
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43bd58]
jmp dword [0x43bd98]
mov eax, dword [esi + 0x24]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x43bda0]
sub ebx, edi
sar ebx, 3
imul eax, ebx, 0x421
push eax
call fcn.00408a30
add esp, 4
mov dword [esi + 0x18], eax
mov ebx, dword [esi + 0x64]
mov dword [ebx], 0x4b9e4d61
mov dword [ebx + 4], 0x57b949bb
mov dword [ebx + 8], 0x53a655b5
mov dword [ebx + 0xc], 0x5fae5191
mov dword [ebx + 0x10], 0x5b965dac
mov dword [ebx + 0x14], 0x679a59b9
mov dword [ebx + 0x18], 0x634f6585
mov dword [ebx + 0x1c], 0x6fb16184
mov dword [ebx + 0x20], 0x6b876d90
mov dword [ebx + 0x24], 0x77836989
mov dword [ebx + 0x28], 0x73867590
mov dword [ebx + 0x2c], 0x7f917183
mov dword [ebx + 0x30], 0x7b8e7d9d
mov dword [ebx + 0x34], 0x7fc794a
mov dword [ebx + 0x38], 0x3e805e8
lea eax, [ebx + 0x3c]
mov word [ebx + 0x3c], 0x100
mov word [ebx + 0x42], 0
mov dword [ebx + 0x3e], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0x43
ja 0x41fbd2
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edx, byte [ebx + edx]
mov edi, 0xf5
sub edi, ecx
add ecx, 0x92be780a
xor edi, ecx
and edi, edx
xor edi, ecx
mov dword [esi + 0x30], edi
mov ecx, dword [esi + 0x30]
add cl, 0xba
mov edx, dword [esi]
mov byte [ebx + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0x44
jb 0x41fba0
mov edx, dword [esi + 0x58]
mov edi, edx
mov ecx, 0xf
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
mov edi, edx
add edi, 0x3c
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [esi + 0x44]
push edi
push 0
push 0
push 0x1e
push edx
push 0
call dword [0x43f05c]
mov eax, dword [edi]
test eax, eax
mov ebx, dword [esi + 0x68]
mov dword [esi + 8], eax
jns 0x41fc17
mov eax, 0xffffffff
jmp 0x41fc19
add eax, eax
push eax
call fcn.00408a30
add esp, 4
mov edi, eax
push dword [esi + 0x44]
push dword [esi + 8]
push eax
push 0x1e
push dword [esi + 0x58]
push 0
call dword [0x43f05c]
push 0x60
push 3
push 0x120089
push dword [esi + 0x5c]
mov dword [esi + 0x58], edi
push edi
call fcn.00434840
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43bdb8]
xor edx, edx
mov eax, dword [esi + 0x18]
mov dword [esi + 0x20], eax
jmp dword [0x43bee0]
push dword [esi + 0x58]
mov edi, edx
call fcn.00408a40
add esp, 4
mov edx, edi
mov eax, edx
and al, 1
movzx ecx, al
mov eax, edi
jmp dword [ecx*4 + 0x43bee8]
mov ecx, dword [esi + 0x20]
mov byte [ecx], 0
mov edx, dword [esi + 0x18]
mov eax, edx
not eax
and eax, ecx
not ecx
mov dword [ebx], 0x7f7a7d8d
mov dword [ebx + 4], 0x4b677671
mov dword [ebx + 8], 0x4c70767d
mov dword [ebx + 0xc], 0x62526eb3
mov dword [ebx + 0x10], 0x77a9687d
mov dword [ebx + 0x14], 0x656b6e6b
mov dword [ebx + 0x18], 0x5b5ea75b
mov word [ebx + 0x1c], 0xd15c
mov dword [ebx + 0x1e], 0
mov word [ebx + 0x22], 0
and ecx, edx
sub eax, ecx
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0x23
ja 0x41fd22
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edx, byte [ebx + edx]
mov edi, 0x1d
sub edi, ecx
add ecx, 0x4e28aae2
xor edi, ecx
and edi, edx
xor edi, ecx
mov dword [esi + 0x30], edi
mov ecx, dword [esi + 0x30]
add cl, 0xd2
mov edx, dword [esi]
mov byte [ebx + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0x24
jb 0x41fcf0
mov ecx, dword [ebp + 8]
push eax
push dword [esi + 0x18]
push ebx
call fcn.00409560
jmp dword [0x43bef0]
push dword [esi + 0x18]
mov edi, eax
call fcn.00408a40
mov eax, edi
add esp, 4
and al, 1
mov ecx, dword [esi + 0x24]
mov edi, dword [ecx]
mov ebx, dword [ecx + 4]
test edi, edi
je 0x41fd9d
cmp edi, ebx
je 0x41fd9d
mov dword [esi + 0x14], eax
mov dword [esi + 8], edi
jmp 0x41fd67
add edi, 8
cmp edi, ebx
je 0x41fd78
mov eax, dword [edi]
test eax, eax
je 0x41fd60
push eax
call fcn.00408a40
add esp, 4
jmp 0x41fd60
push dword [esi + 8]
call fcn.00408a40
add esp, 4
mov eax, dword [esi + 0x24]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [esi + 0x14]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esi + 0x5c]
mov edi, dword [eax]
mov ebx, dword [esi + 0x54]
jmp dword [0x43bdc4]
push 0
push ebx
push edi
call fcn.00434c10
add esp, 0xc
nop
push 0
push ebx
push edi
call fcn.00434c10
add esp, 0xc
jmp dword [0x43bdc8]
not eax
shr eax, 0x1f
mov dword [esi + 0x14], 0
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x20], ecx
jmp dword [eax*4 + 0x43bdd0]
push ebx
call fcn.00408a40
add esp, 4
push ebx
call fcn.00408a40
add esp, 4
jmp dword [0x43bd54]
push eax
sub esp, 0x10
mov dword [esi + 0x1c], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x10], eax
mov esp, eax
push eax
mov dword [esi + 0x40], esp
sub esp, 0x10
mov dword [esi + 0xc], esp
sub esp, 0x18
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x18], eax
mov esp, eax
push eax
sub esp, 0x18
mov dword [esi + 0x14], esp
sub esp, 0x28
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
sub esp, 0x14
mov dword [esi + 0x3c], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 4], eax
mov esp, eax
push eax
sub esp, 8
mov dword [esi + 0x6c], esp
sub esp, 0x1c
mov dword [esi + 0x54], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
push eax
mov dword [esi + 0x34], esp
push eax
mov dword [esi + 0x50], esp
sub esp, 0x20
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
push eax
mov dword [esi + 0xbc], esp
sub esp, 8
mov dword [esi + 0x64], esp
sub esp, 0x10
mov dword [esi + 0x60], esp
sub esp, 0x18
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
sub esp, 0x2c
mov dword [esi + 0x68], esp
sub esp, 0x38
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
jmp dword [esi + 0x44]
mov dword [esi + 0x44], ecx
mov dword [esi + 0x8c], edx
mov dword [esi + 0x90], edi
mov dword [esi + 0x74], eax
mov eax, dword [case.0x41ec3e.131]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push eax
sub esp, 0x10
mov ecx, esp
jmp eax
mov dword [esi + 0x5c], ecx
jmp dword [0x43bf1c]
mov edx, dword [esi + 0x30]
add edx, 4
mov edi, dword [esi + 8]
lea ebx, [edi + 2]
xor eax, eax
cmp edx, 0xc
setne al
mov dword [esi + 0x7c], ebx
mov ecx, dword [esi + 0x6c]
jmp dword [eax*4 + 0x43bf28]
mov dword [esi + 0x30], edx
mov ecx, dword [ecx + edx]
mov edx, 0xfffffffe
nop
nop
nop
nop
mov eax, edx
cmp word [ecx + edx + 2], 0
lea edx, [edx + 2]
jne 0x41ff50
mov dword [esi + 0xc], ecx
mov eax, dword [esi + 0x74]
mov dword [eax], 0x439441a2
mov dword [eax + 4], 0x5fa15db3
mov dword [eax + 8], 0x5bac59bd
mov dword [eax + 0xc], 0x57b9557a
mov dword [eax + 0x10], 0x53b351da
mov dword [eax + 0x14], 0x6f936dde
lea ecx, [eax + 0x18]
mov dword [esi + 4], ecx
mov word [eax + 0x18], 0x696e
mov ecx, dword [esi + 0xb8]
mov word [ecx + 4], 0
mov dword [ecx], 0
mov dword [esi + 0x78], edx
sar edx, 1
mov dword [esi + 0x14], edx
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0x1f
ja 0x41fff2
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edi, byte [eax + edx]
mov edx, 0x74
sub edx, ecx
add ecx, 0x93ee1f8b
xor edx, ecx
and edx, edi
xor edx, ecx
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x20]
add cl, 0x33
mov edx, dword [esi]
mov byte [eax + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0x20
jb 0x41ffc0
mov edx, eax
mov eax, dword [esi + 0x54]
mov edi, eax
mov ecx, 6
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [eax + 0x18]
mov ecx, 1
mov eax, dword [esi + 4]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
mov edx, dword [esi + 0x14]
lea ecx, [edx + eax]
add edx, eax
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x420034
mov eax, 0xffffffff
push eax
call fcn.00408a30
add esp, 4
mov edx, eax
mov eax, dword [esi + 8]
movzx ecx, word [eax]
mov dword [esi + 0x1c], edx
mov eax, edx
test cx, cx
je 0x420071
mov eax, dword [esi + 0x1c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x420060
mov word [eax], 0x5c
add eax, 2
mov edx, dword [esi + 0xc]
movzx ecx, word [edx]
test cx, cx
je 0x4200b0
add edx, 2
mov edi, dword [esi + 0x54]
mov ebx, dword [esi + 0x34]
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x420090
jmp 0x4200b6
mov edi, dword [esi + 0x54]
mov ebx, dword [esi + 0x34]
mov word [eax], 0
movzx ecx, word [edi]
test cx, cx
je 0x4200f0
mov edx, dword [esi + 0xb4]
mov edi, dword [esi + 0x50]
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4200d0
jmp 0x4200f3
mov edi, dword [esi + 0x50]
mov word [eax], 0
push 0x60
push 3
push 0x120089
push ebx
push dword [esi + 0x1c]
call fcn.00434840
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43bf38]
xor ebx, ebx
jmp dword [0x43bf88]
push 0
push edi
push dword [ebx]
call fcn.00434c10
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esi + 4], 0
jmp dword [eax*4 + 0x43bf40]
jmp dword [0x43bf48]
mov eax, dword [esi + 0x50]
mov edi, dword [eax]
lea eax, [edi + 1]
push eax
call fcn.00408a30
add esp, 4
push 0
push edi
push eax
mov eax, dword [esi + 0x34]
push dword [eax]
call fcn.00434d10
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x50]
mov edi, dword [eax]
lea eax, [edi + 1]
push eax
call fcn.00408a30
add esp, 4
mov ebx, eax
push 0
push edi
mov edi, dword [esi + 0x50]
push eax
mov eax, dword [esi + 0x34]
push dword [eax]
call fcn.00434d10
add esp, 0x10
jmp dword [0x43bf50]
mov dword [esi + 0x70], ebx
not eax
shr eax, 0x1f
xor edx, edx
jmp dword [eax*4 + 0x43bf58]
mov eax, dword [edi]
mov ecx, dword [esi + 0x70]
mov byte [ecx + eax], 0
push ecx
call fcn.00401e00
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
jmp dword [ecx*4 + 0x43bf60]
mov dword [esi + 4], edx
mov ebx, dword [esi + 0x34]
jmp dword [0x43bf80]
push dword [esi + 0x70]
call fcn.00408a40
add esp, 4
mov eax, dword [ebx]
mov dword [esi + 0x20], 0xea959497
mov ecx, dword [esi + 0xa4]
mov dword [ecx + 8], 0
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov dword [esi + 0x48], 0
mov ecx, dword [esi + 0x48]
cmp ecx, 0xf
ja 0x420267
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x48]
movzx edi, byte [esi + edx + 0x20]
mov edx, 0x42
sub edx, ecx
add ecx, 0xc80c9cbd
xor edx, ecx
and edx, edi
xor edx, ecx
mov dword [esi], edx
mov ecx, dword [esi]
add cl, 0xd5
mov edx, dword [esi + 0x48]
mov byte [esi + edx + 0x20], cl
inc dword [esi + 0x48]
mov ecx, dword [esi + 0x48]
cmp ecx, 0x10
jb 0x420230
mov ecx, dword [0x43f060]
test ecx, ecx
je 0x4202a0
mov edx, dword [esi + 0x20]
xor edi, edi
mov ebx, dword [0x43f064]
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xa3c1f363
je 0x420290
inc edi
cmp ecx, edi
jne 0x420280
jmp 0x4202a0
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x420642
nop
nop
nop
nop
mov ebx, dword [esi + 4]
jmp dword [0x43bf88]
push dword [esi + 0x1c]
call fcn.00408a40
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x43bf98]
movzx eax, bl
mov edi, dword [esi + 0x44]
jmp dword [eax*4 + 0x43bfa0]
mov dword [edi], 0xb300b512
mov dword [edi + 4], 0xaf2db123
mov dword [edi + 8], 0xab38ad31
mov dword [edi + 0xc], 0xa705a94a
mov dword [edi + 0x10], 0xa335a52a
mov dword [edi + 0x14], 0x9f3fa12c
mov dword [edi + 0x18], 0x9b079d07
mov dword [edi + 0x1c], 0x970c993e
mov dword [edi + 0x20], 0x931e950d
mov dword [edi + 0x24], 0x8f049109
mov dword [edi + 0x28], 0x8b128d12
lea eax, [edi + 0x2c]
mov word [edi + 0x2c], 0x898a
mov ecx, dword [esi + 0xa8]
mov byte [ecx + 4], 0
mov dword [ecx], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0x32
mov ebx, dword [esi + 0x68]
ja 0x420387
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
mov edi, dword [esi + 0x44]
movzx edi, byte [edi + edx]
mov edx, 0xb6
sub edx, ecx
add ecx, 0xc08a1449
xor edx, ecx
and edx, edi
mov edi, dword [esi + 0x44]
xor edx, ecx
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x20]
inc cl
mov edx, dword [esi]
mov byte [edi + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0x33
jb 0x420350
mov edx, edi
mov ecx, 0xb
mov edi, ebx
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [ebx + 0x2c]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
mov ecx, eax
xor ecx, 1
and eax, 1
add ecx, dword [esi + 0x14]
lea edx, [ecx + eax*2]
lea ecx, [ecx + eax*2]
add ecx, 0x16
lea eax, [edx*2 + 0x2c]
test ecx, ecx
mov ebx, dword [esi + 0x84]
mov edi, dword [esi + 8]
jns 0x4203d5
mov eax, 0xffffffff
push eax
call fcn.00408a30
add esp, 4
movzx ecx, word [edi]
mov dword [esi + 4], eax
test cx, cx
mov edx, dword [esi + 0x7c]
je 0x420401
mov eax, dword [esi + 4]
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4203f0
mov word [eax], 0x5c
add eax, 2
mov edx, dword [esi + 0xc]
movzx ecx, word [edx]
test cx, cx
je 0x420431
add edx, 2
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 0x420420
mov word [eax], 0
mov ecx, dword [esi + 0x68]
movzx ecx, word [ecx]
test cx, cx
je 0x420461
mov edx, dword [esi + 0x9c]
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 0x420450
mov word [eax], 0
mov dword [ebx], 0x7b847957
mov dword [ebx + 4], 0x7f8a7d9d
mov dword [ebx + 8], 0x738c7199
mov dword [ebx + 0xc], 0x77967596
lea eax, [ebx + 0x10]
mov word [ebx + 0x10], 0x976
mov ecx, dword [esi + 0xac]
mov dword [ecx + 3], 0
mov dword [ecx], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0x18
ja 0x4204e2
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edi, byte [ebx + edx]
mov edx, 0x50
sub edx, ecx
add ecx, 0x86409daf
xor edx, ecx
and edx, edi
xor edx, ecx
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x20]
add cl, 0x37
mov edx, dword [esi]
mov byte [ebx + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0x19
jb 0x4204b0
mov edx, ebx
mov ebx, dword [esi + 0x5c]
mov edi, ebx
mov ecx, 4
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [ebx + 0x10]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esi + 0x78]
add eax, 0x12
cmp dword [esi + 0x14], 0xfffffff7
jge 0x420512
mov eax, 0xffffffff
push eax
call fcn.00408a30
add esp, 4
mov edi, eax
mov edx, dword [esi + 0xc]
movzx ecx, word [edx]
test cx, cx
mov ebx, dword [esi + 0x80]
je 0x420551
add edx, 2
mov eax, edi
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 0x420540
mov word [eax], 0
mov ecx, dword [esi + 0x5c]
movzx ecx, word [ecx]
test cx, cx
je 0x420581
mov edx, dword [esi + 0xa0]
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 0x420570
mov word [eax], 0
mov dword [ebx], 0xb3b2b1ca
mov eax, dword [esi + 0xb0]
mov dword [eax + 3], 0
mov dword [eax], 0
mov dword [esi], 0
mov eax, dword [esi]
cmp eax, 0xa
ja 0x4205e0
nop
nop
nop
nop
mov eax, dword [esi]
mov ecx, dword [esi]
movzx edx, byte [ebx + ecx]
mov ecx, 0xe7
sub ecx, eax
add eax, 0xa1840e18
xor ecx, eax
and ecx, edx
xor ecx, eax
mov dword [esi + 0x20], ecx
mov eax, dword [esi + 0x20]
add al, 0x58
mov ecx, dword [esi]
mov byte [ebx + ecx], al
inc dword [esi]
mov eax, dword [esi]
cmp eax, 0xb
jb 0x4205b0
push 0
push 0
push 0
push 0xc00000
push ebx
push dword [esi + 4]
push edi
push dword [ebp + 8]
call fcn.00418040
add esp, 0x20
mov ecx, dword [esi + 0x58]
and cl, 1
or cl, al
mov dword [esi + 0x58], ecx
jmp dword [0x43bfa8]
push edi
call fcn.00408a40
add esp, 4
mov eax, dword [case.0x41ec3e.169]
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x43bfd0]
push dword [esi + 4]
call fcn.00408a40
add esp, 4
mov eax, dword [case.0x41ec3e.166]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
push eax
push 1
push dword [0x43f068]
push ecx
call fcn.00432610
add esp, 0x10
mov ebx, dword [esi + 4]
jmp dword [0x43bf88]
mov dword [esi + 0x98], eax
push eax
call fcn.00402700
add esp, 4
mov ebx, dword [esi + 0x90]
mov dword [ebx], 0x7469427f
mov dword [ebx + 4], 0x4b764046
mov dword [ebx + 8], 0x7c707836
mov dword [ebx + 0xc], 0x536e484e
mov dword [ebx + 0x10], 0x6c796161
mov word [ebx + 0x14], 0x5065
mov byte [ebx + 0x16], 0xd6
mov word [ebx + 0x17], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0x18
ja 0x4206f2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edi, byte [ebx + edx]
mov edx, 0x5d
sub edx, ecx
add ecx, 0xa5c1d1a2
xor edx, ecx
and edx, edi
xor edx, ecx
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x20]
add cl, 0x92
mov edx, dword [esi]
mov byte [ebx + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0x19
jb 0x4206c0
push ebx
push eax
call fcn.00402850
add esp, 8
mov edx, 0xffffffff
mov ecx, 0xfffffffd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add ecx, 3
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x420710
shr ecx, 2
mov edi, edx
mov dword [esi + 0x18], edx
movzx edx, byte [eax + edx - 1]
cmp edx, 0x3d
je 0x420734
cmp edx, 0x2e
jne 0x420735
dec ecx
mov edx, dword [esi + 0x18]
movzx edx, byte [eax + edx - 2]
cmp edx, 0x3d
mov dword [esi + 0x3c], eax
je 0x42074a
cmp edx, 0x2e
jne 0x42074b
dec ecx
mov dword [esi + 0x94], ecx
lea eax, [ecx + 1]
push eax
call fcn.00408a30
add esp, 4
mov dword [esi + 0x4c], eax
cmp dword [esi + 0x18], 0
je 0x420857
mov dword [esi + 4], 0
mov ebx, 2
jmp 0x420793
mov edi, dword [esi + 0x10]
nop
nop
nop
nop
nop
lea eax, [ebx + 4]
add ebx, 2
mov dword [esi + 4], edi
cmp ebx, edx
mov ebx, eax
jae 0x420857
mov edi, dword [esi + 0x3c]
movzx eax, byte [edi + ebx - 2]
push eax
call fcn.00415da0
add esp, 4
mov byte [esi + 0x10], al
movzx eax, byte [edi + ebx - 1]
push eax
call fcn.00415da0
mov edx, dword [esi + 0x18]
add esp, 4
movzx ecx, byte [esi + 0x10]
shl cl, 2
mov byte [esi + 0x10], al
shr al, 4
and al, 3
or al, cl
mov ecx, dword [esi + 0x4c]
mov edi, dword [esi + 4]
mov byte [ecx + edi], al
inc edi
cmp ebx, edx
jae 0x420780
mov eax, dword [esi + 0x3c]
movzx eax, byte [eax + ebx]
push eax
call fcn.00415da0
mov edx, dword [esi + 0x18]
add esp, 4
cmp al, 0x40
je 0x420780
movzx ecx, byte [esi + 0x10]
shl cl, 4
mov byte [esi + 0x3b], al
shr al, 2
and al, 0xf
or al, cl
mov ecx, dword [esi + 4]
add ecx, 2
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x4c]
mov edi, dword [esi + 4]
mov byte [ecx + edi + 1], al
lea eax, [ebx + 1]
cmp eax, edx
jae 0x420778
mov eax, dword [esi + 0x3c]
movzx eax, byte [eax + ebx + 1]
push eax
call fcn.00415da0
mov edx, dword [esi + 0x18]
add esp, 4
cmp al, 0x40
movzx ecx, byte [esi + 0x3b]
mov edi, dword [esi + 0x10]
je 0x420780
shl cl, 6
add al, cl
mov ecx, dword [esi + 0x4c]
mov edi, dword [esi + 4]
mov byte [ecx + edi + 2], al
add edi, 3
jmp 0x420780
mov eax, dword [esi + 0x94]
add eax, 0xfffffffb
mov edi, dword [esi + 0xbc]
mov dword [edi], eax
mov eax, dword [esi + 0x4c]
add eax, 5
mov dword [edi + 4], eax
mov ebx, dword [esi + 0x64]
mov dword [ebx], 0
mov dword [ebx + 4], 0
push 0x3234ab19
push dword [0x43f06c]
call fcn.00433e40
add esp, 8
push ebx
push 0
push 0
push 0
push 0
push 0
push edi
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43bf68]
mov dword [esi + 4], 0
mov ebx, dword [esi + 0x34]
jmp dword [0x43bf78]
mov eax, dword [esi + 0x8c]
mov dword [eax], 0xb328b567
mov dword [eax + 4], 0xaf62b122
mov dword [eax + 8], 0xab24ad22
mov dword [eax + 0xc], 0xa7a8a926
lea ecx, [eax + 0x10]
mov dword [esi + 4], ecx
mov byte [eax + 0x10], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0x10
mov ebx, dword [esi + 0x34]
ja 0x420932
nop
nop
nop
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edi, byte [eax + edx]
mov edx, 0x36
sub edx, ecx
add ecx, 0x2ea486c9
xor edx, ecx
and edx, edi
xor edx, ecx
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x20]
add cl, 0x81
mov edx, dword [esi]
mov byte [eax + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0x11
jb 0x420900
mov edx, eax
mov eax, dword [esi + 0x60]
mov edi, eax
mov ecx, 4
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [eax + 0x10]
xor ecx, ecx
mov eax, dword [esi + 4]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esi + 0x78]
add eax, 0x10
cmp dword [esi + 0x14], 0xfffffff8
jge 0x420962
mov eax, 0xffffffff
push eax
call fcn.00408a30
add esp, 4
mov edi, eax
mov eax, dword [esi + 0xc]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
je 0x4209a1
mov eax, dword [esi + 0xc]
lea edx, [eax + 2]
mov eax, edi
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 0x420990
mov word [eax], 0
mov ecx, dword [esi + 0x60]
movzx ecx, word [ecx]
test cx, cx
je 0x4209d1
mov edx, dword [esi + 0x88]
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 0x4209c0
mov word [eax], 0
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 0x64]
push dword [eax]
push dword [eax + 4]
push edi
call fcn.004093c0
mov dword [esi + 4], eax
jmp dword [0x43bf70]
push edi
call fcn.00408a40
add esp, 4
push 0xaa39f1ac
push dword [0x43f054]
call fcn.00433e40
add esp, 8
mov ecx, dword [esi + 0x64]
push dword [ecx + 4]
call eax
jmp dword [0x43bf78]
push dword [esi + 0x4c]
call fcn.00408a40
add esp, 4
push dword [esi + 0x98]
call fcn.00402990
add esp, 4
jmp dword [0x43bf80]
mov eax, dword [esi + 0x58]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
jmp dword [0x43bf30]
jmp dword [0x43bfec]
push edi
call fcn.00408a40
add esp, 4
nop
nop
nop
nop
nop
push edi
call fcn.00408a40
add esp, 4
jmp dword [0x43bff0]
mov eax, dword [esi + 0x10]
mov dword [eax], 0xbbfbb9d1
mov dword [eax + 4], 0xbf0cbd0a
mov dword [eax + 8], 0x832381fa
mov dword [eax + 0xc], 0x87278536
mov dword [eax + 0x10], 0x8b8889e1
lea ecx, [eax + 0x14]
mov dword [esi + 8], ecx
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov byte [eax + 0x1c], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0x1c
ja 0x420af2
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edx, byte [eax + edx]
mov edi, 0xe8
sub edi, ecx
add ecx, 0x5759de17
xor edi, ecx
and edi, edx
xor edi, ecx
mov dword [esi + 0x20], edi
mov ecx, dword [esi + 0x20]
add cl, 0x5f
mov edx, dword [esi]
mov byte [eax + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0x1d
jb 0x420ac0
mov edx, eax
mov eax, dword [esi + 0x1c]
mov edi, eax
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [eax + 0x14]
xor ecx, ecx
mov edx, dword [esi + 8]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov edi, dword [esi + 0x40]
push edi
push 0
push 0
push 9
push eax
push 0
call dword [0x43f05c]
mov edi, dword [edi]
lea eax, [edi + edi]
test edi, edi
jns 0x420b34
mov eax, 0xffffffff
push eax
call fcn.00408a30
add esp, 4
push dword [esi + 0x40]
push edi
push eax
push 9
push dword [esi + 0x1c]
push 0
call dword [0x43f05c]
mov eax, dword [esi + 0x18]
mov dword [eax], 0x2b832de0
mov dword [eax + 4], 0x17b929b7
mov dword [eax + 8], 0x138c1587
mov dword [eax + 0xc], 0x1f1e11bc
lea ecx, [eax + 0x10]
mov dword [esi + 8], ecx
mov word [eax + 0x10], 0
mov byte [eax + 0x12], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0x12
ja 0x420bc2
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edx, byte [eax + edx]
mov edi, 0xa5
sub edi, ecx
add ecx, 0x27be905a
xor edi, ecx
and edi, edx
xor edi, ecx
mov dword [esi + 0x20], edi
mov ecx, dword [esi + 0x20]
add cl, 0x8a
mov edx, dword [esi]
mov byte [eax + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0x13
jb 0x420b90
mov edx, eax
mov eax, dword [esi + 0xc]
mov edi, eax
mov ecx, 4
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [eax + 0x10]
xor ecx, ecx
mov eax, dword [esi + 8]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [ebx], 0x1be319c4
mov dword [ebx + 4], 0x17f515e7
mov dword [ebx + 8], 0x13e011e7
mov dword [ebx + 0xc], 0x2fed2dd0
mov dword [ebx + 0x10], 0x2bdc29c9
mov dword [ebx + 0x14], 0x27d425c5
mov dword [ebx + 0x18], 0x232221a9
lea eax, [ebx + 0x1c]
mov dword [esi + 8], eax
mov dword [ebx + 0x1c], 0
mov byte [ebx + 0x20], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0x20
ja 0x420c62
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edx, byte [ebx + edx]
mov edi, 0x2b
sub edi, ecx
add ecx, 0xa0ea79d4
xor edi, ecx
and edi, edx
xor edi, ecx
mov dword [esi + 0x20], edi
mov ecx, dword [esi + 0x20]
add cl, 0x34
mov edx, dword [esi]
mov byte [ebx + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0x21
jb 0x420c30
mov edx, ebx
mov eax, dword [esi + 0x14]
mov edi, eax
mov ecx, 7
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [eax + 0x1c]
xor ecx, ecx
mov eax, dword [esi + 8]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [esi + 4]
mov dword [edi], 0x3bb015a
mov dword [edi + 4], 0x1fa11d8f
mov dword [edi + 8], 0x1baa19af
mov dword [edi + 0xc], 0x174415a6
mov dword [edi + 0x10], 0x135211ba
lea eax, [edi + 0x14]
mov dword [esi + 8], eax
mov word [edi + 0x14], 0x6d12
mov dword [edi + 0x16], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0x19
ja 0x420d05
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edx, byte [edi + edx]
mov edi, 0xd4
sub edi, ecx
add ecx, 0xc432552b
xor edi, ecx
and edi, edx
xor edi, ecx
mov dword [esi + 0x20], edi
mov edi, dword [esi + 4]
mov ecx, dword [esi + 0x20]
add cl, 0xd3
mov edx, dword [esi]
mov byte [edi + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0x1a
jb 0x420cd0
mov edx, edi
mov eax, dword [esi + 0x3c]
mov edi, eax
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, eax
lea edi, [eax + 0x14]
mov ecx, 1
mov eax, dword [esi + 8]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0xc]
mov dword [eax], ecx
mov ecx, dword [esi + 0x14]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
push eax
sub esp, 0x1c
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x84], eax
mov esp, eax
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x80], eax
mov esp, eax
mov eax, dword [esi + 0x10]
mov dword [eax], 0xbbfbb9d1
mov dword [eax + 4], 0xbf0cbd0a
mov dword [eax + 8], 0x832381fa
mov dword [eax + 0xc], 0x87278536
mov dword [eax + 0x10], 0x8b8889e1
lea ecx, [eax + 0x14]
mov dword [esi + 8], ecx
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov byte [eax + 0x1c], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0x1c
ja 0x420de2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edx, byte [eax + edx]
mov edi, 0xe8
sub edi, ecx
add ecx, 0x5759de17
xor edi, ecx
and edi, edx
xor edi, ecx
mov dword [esi + 0x20], edi
mov ecx, dword [esi + 0x20]
add cl, 0x5f
mov edx, dword [esi]
mov byte [eax + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0x1d
jb 0x420db0
mov edx, eax
mov eax, dword [esi + 0x1c]
mov edi, eax
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [eax + 0x14]
xor ecx, ecx
mov edx, dword [esi + 8]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov edi, dword [esi + 0x40]
push edi
push 0
push 0
push 9
push eax
push 0
call dword [0x43f05c]
mov edi, dword [edi]
lea eax, [edi + edi]
test edi, edi
jns 0x420e24
mov eax, 0xffffffff
push eax
call fcn.00408a30
add esp, 4
push dword [esi + 0x40]
push edi
mov dword [esi + 8], eax
push eax
push 9
push dword [esi + 0x1c]
push 0
call dword [0x43f05c]
mov eax, dword [esi + 0x18]
mov dword [eax], 0x2b832de0
mov dword [eax + 4], 0x17b929b7
mov dword [eax + 8], 0x138c1587
mov dword [eax + 0xc], 0x1f1e11bc
lea ecx, [eax + 0x10]
mov dword [esi + 0x30], ecx
mov word [eax + 0x10], 0
mov byte [eax + 0x12], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0x12
ja 0x420eb2
nop
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edx, byte [eax + edx]
mov edi, 0xa5
sub edi, ecx
add ecx, 0x27be905a
xor edi, ecx
and edi, edx
xor edi, ecx
mov dword [esi + 0x20], edi
mov ecx, dword [esi + 0x20]
add cl, 0x8a
mov edx, dword [esi]
mov byte [eax + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0x13
jb 0x420e80
mov edx, eax
mov ecx, 4
mov eax, dword [esi + 0xc]
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [eax + 0x10]
xor ecx, ecx
mov eax, dword [esi + 0x30]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [ebx], 0x1be319c4
mov dword [ebx + 4], 0x17f515e7
mov dword [ebx + 8], 0x13e011e7
mov dword [ebx + 0xc], 0x2fed2dd0
mov dword [ebx + 0x10], 0x2bdc29c9
mov dword [ebx + 0x14], 0x27d425c5
mov dword [ebx + 0x18], 0x232221a9
lea eax, [ebx + 0x1c]
mov dword [esi + 0x30], eax
mov dword [ebx + 0x1c], 0
mov byte [ebx + 0x20], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0x20
ja 0x420f52
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edx, byte [ebx + edx]
mov edi, 0x2b
sub edi, ecx
add ecx, 0xa0ea79d4
xor edi, ecx
and edi, edx
xor edi, ecx
mov dword [esi + 0x20], edi
mov ecx, dword [esi + 0x20]
add cl, 0x34
mov edx, dword [esi]
mov byte [ebx + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0x21
jb 0x420f20
mov edx, ebx
mov ecx, 7
mov eax, dword [esi + 0x14]
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [eax + 0x1c]
xor ecx, ecx
mov eax, dword [esi + 0x30]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [esi + 4]
mov dword [edi], 0x3bb015a
mov dword [edi + 4], 0x1fa11d8f
mov dword [edi + 8], 0x1baa19af
mov dword [edi + 0xc], 0x174415a6
mov dword [edi + 0x10], 0x135211ba
lea eax, [edi + 0x14]
mov dword [esi + 0x30], eax
mov word [edi + 0x14], 0x6d12
mov dword [edi + 0x16], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0x19
ja 0x420ff5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edx, byte [edi + edx]
mov edi, 0xd4
sub edi, ecx
add ecx, 0xc432552b
xor edi, ecx
and edi, edx
xor edi, ecx
mov dword [esi + 0x20], edi
mov edi, dword [esi + 4]
mov ecx, dword [esi + 0x20]
add cl, 0xd3
mov edx, dword [esi]
mov byte [edi + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0x1a
jb 0x420fc0
mov edx, edi
mov eax, dword [esi + 0x3c]
mov edi, eax
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, eax
lea edi, [eax + 0x14]
mov ecx, 1
mov eax, dword [esi + 0x30]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
jmp dword [0x43bf24]
xor edx, edx
mov eax, dword [esi + 0x5c]
add eax, 2
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 0x68]
add eax, 2
mov dword [esi + 0x9c], eax
xor eax, eax
mov dword [esi + 0x58], 0
cmp edx, 0xc
setne al
mov edi, dword [esi + 8]
lea ebx, [edi + 2]
mov edx, dword [esi + 0x60]
lea edx, [edx + 2]
mov dword [esi + 0x88], edx
mov edx, dword [esi + 0x54]
lea edx, [edx + 2]
mov dword [esi + 0xb4], edx
mov edx, dword [esi + 0x80]
lea edx, [edx + 4]
mov dword [esi + 0xb0], edx
mov edx, dword [esi + 0x84]
lea edx, [edx + 0x12]
mov dword [esi + 0xac], edx
mov edx, dword [esi + 0x44]
add edx, 0x2e
mov dword [esi + 0xa8], edx
lea edx, [esi + 0x24]
mov dword [esi + 0xa4], edx
mov edx, dword [esi + 0x74]
add edx, 0x1a
mov dword [esi + 0xb8], edx
xor edx, edx
mov dword [esi + 0x7c], ebx
jmp dword [eax*4 + 0x43bf28]
loopne 0x43bc4c
add byte [esi], bl
inc ecx
add byte [esi], bl
inc ecx
add ah, ah
loopne 0x43bc58
add bh, ah
loope 0x43bc5c
add cl, dh
in eax, 0x41
add cl, bl
in eax, 0x41
add byte [edi - 0x1e], dl
inc ecx
add bl, ch
in eax, 0x41
add cl, bh
in eax, 0x41
add byte [esi - 0x4fffbe1e], bl
loop 0x43bc78
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edi + 0x400041e7], ch
loop 0x43bc8c
add dh, al
loop 0x43bc90
invalid
add dh, al
loop 0x43bc94
add dh, al
loop 0x43bc98
add dh, al
loop 0x43bc9c
invalid
add al, bh
clc
loop 0x43bca0
add byte [eax - 0x1e], al
inc ecx
add byte [esi], al
jecxz 0x43bca8
add byte [eax - 0x1e], al
inc ecx
add byte [edi], bh
jecxz 0x43bcb0
add byte [edi - 0x5fffbe1c], dl
in al, 0x41
add byte [ebx - 0x3bffbe1c], bh
mov ebx, 0xc40041e4
in al, 0x41
add byte [ebp + 0x41], bl
add byte [edx - 0x1b], ah
inc ecx
add ah, bl
out 0x41, al
add byte [ecx], dh
out 0x41, al
xor esi, esp
inc ecx
add byte [ecx], dh
out 0x41, al
xor esi, esp
inc ecx
add byte [edx - 0x75ffbe19], al
out 0x41, eax
and bh, 0x41
add byte [edx - 1761590809], cl
mov ah, bh
inc ecx
add byte [edi - 0x2fffbe19], dl
xchg edi, eax
out 0x41, eax
add al, dl
shl bh, 1
inc ecx
out 0x41, eax
add al, dl
out 0x41, eax
add al, dl
out 0x41, eax
shl bh, 1
inc ecx
add byte [eax - 0x4fffbe18], dl
call 0xe8f3bcf7
inc ecx
add byte [eax - 0x4dffbe18], dh
call 0xecb4bd03
mov al, 0xe8
inc ecx
add byte [eax - 0x4fffbe18], dh
call 0xe8f5bcff
inc ecx
add byte [ecx - 0x14], dh
inc ecx
add byte [ecx - 0x54ffbe18], bh
jmp 0xebd3bd0f
jmp 0x43bd4c
add bl, ch
std
inc ecx
add bl, ch
std
inc ecx
add byte [ebp - 0x29ffbe06], dh
cli
inc ecx
add byte [edx - 0xa], ah
inc ecx
add byte [edi + esi*8 - 0x981ffbf], dh
inc ecx
add byte [ebx - 0x53ffbe09], ah
test byte [ecx], 0x9a
test dword [ecx], case.0x41ec3e.27
lcall 0x41f8, 0x770041f7
add byte [edx - 1207942665], bl
clc
inc ecx
add byte [edi], dh
inc ecx
add byte [ebx - 0x56ffbe09], ah
test dword [ecx], case.0x41ec3e.22
jb 0x43bd8e
jmp 0x43bd4b
inc ecx
add byte [ecx - 0x4bffbe09], ch
test dword [ecx], case.0x41f793.8
fdiv st(2), st(0)
inc ecx
add ah, bl
cli
inc ecx
add dl, dh
cli
inc ecx
add byte [eax - 0xd], dh
inc ecx
add byte [eax - 0xd], dh
inc ecx
add byte [eax - 0xd], dh
inc ecx
add byte [eax - 0xd], dh
inc ecx
add byte [esi - 0xd], dh
inc ecx
add byte [esp + edi*8 + 0x41], bl
add byte [ebp - 0x4cffbe03], ah
std
inc ecx
add al, al
std
inc ecx
add dl, dl
std
inc ecx
add al, al
std
inc ecx
add byte [edx - 0x6cffbe0b], bl
hlt
hlt
out dx, eax
inc ecx
add cl, al
out dx, al
inc ecx
add byte [eax], al
out dx, eax
inc ecx
add byte [eax], al
out dx, eax
inc ecx
add byte [edx], al
out dx, eax
inc ecx
add byte [eax], al
out dx, eax
inc ecx
add byte [eax + 0x160041ee], ah
out dx, eax
inc ecx
add byte [ebx + 0x300041f1], bl
int1
inc ecx
add byte [eax], dh
int1
inc ecx
add byte [eax], dh
int1
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], dh
int1
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [esi - 0xf], bl
inc ecx
add byte [eax - 0xf], dh
inc ecx
add byte [eax - 0x7fffbe0f], al
int1
inc ecx
add byte [edx - 0x7fffbe0f], al
int1
inc ecx
add byte [ebx - 0x76ffbe0f], bl
int1
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ebx - 0x56ffbe0f], bl
int1
inc ecx
add byte [edx + 0x240041f1], dh
inc ecx
add byte [0x160041f2], ch
inc ecx
add byte [0x500041ee], al
hlt