Function at 0x421b96
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 + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x60], 0xbb0cb903
mov dword [esp + 0x64], 0xbf1fbd1d
mov dword [esp + 0x68], 0x83ee8111
mov dword [esp + 0x6c], 0x873c8525
mov dword [esp + 0x70], 0x8b888921
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0x1b
ja 0x41f13e
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0x60]
mov edx, 0x68
sub edx, eax
add eax, 0xed97
xor edx, eax
and edx, ecx
xor edx, eax
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x30]
add al, 0xdf
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x60], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x1c
jb case.default.0x41f14f
lea edi, [esp + 0x60]
lea ecx, [esp + 0x48]
push edi
call fcn.00432140
shr eax, 0x1f
jmp dword [eax*4 + 0x43dc0c]
lea ecx, [esp + 0x48]
push 0x410
call fcn.00432390
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x43dc24]
mov dword [esp + 0x60], 0x9ac384e9
mov dword [esp + 0x64], 0x8c9af9e4
mov dword [esp + 0x68], 0xa0a99bfd
mov dword [esp + 0x6c], 0xd7aea6c1
mov dword [esp + 0x70], 0xa4cbfad6
mov dword [esp + 0x74], 0xafc8f6c9
mov dword [esp + 0x78], 0xb2cdced2
mov dword [esp + 0x7c], 0xb6efb0db
mov dword [esp + 0x80], 0xe6d4c6da
mov dword [esp + 0x84], 0xbee3f1d5
mov dword [esp + 0x88], 0xdb0adddd
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov byte [esp + 0x94], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0x34
ja 0x41f24e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0x60]
mov edx, 0x29
sub edx, eax
add eax, 0x9a2160d6
xor edx, eax
and edx, ecx
xor edx, eax
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x30]
add al, 0x26
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x60], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x35
jb 0x41f210
lea eax, [esp + 0x10]
lea ecx, [esp + 0x48]
push 0
push 0x2b
push edi
push eax
call fcn.00432950
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
xor eax, eax
cmp ebx, esi
sete al
jmp dword [eax*4 + 0x43dc2c]
mov eax, esi
sub eax, ebx
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.004090a0
add esp, 4
mov dword [esp + 0x40], 0
xor ecx, ecx
cmp ebx, esi
setne cl
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x5c], esi
jmp dword [ecx*4 + 0x43dc34]
mov ebx, dword [esp + 0x40]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x43dc3c]
jmp dword [0x43dc9c]
xor ebx, ebx
jmp dword [0x43dc20]
push ebx
call fcn.00402f10
add esp, 4
mov ebx, dword [esp + 0x58]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add ebx, 4
xor eax, eax
mov esi, dword [esp + 0x5c]
cmp ebx, esi
setne al
jmp dword [eax*4 + 0x43dc34]
mov esi, dword [ebx]
push 0x400
push 0
push edi
call fcn.004091b0
add esp, 0xc
lea eax, [esp + 0x30]
lea ecx, [esp + 0x48]
push eax
push 0x400
push edi
push esi
call fcn.004327f0
cmp eax, 0xc0000000
setae al
cmp dword [esp + 0x30], 0
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x43dc44]
mov eax, 1
jmp dword [eax*4 + 0x43dc4c]
xor eax, eax
jmp dword [eax*4 + 0x43dc4c]
mov byte [esp + 0x45f], 0
movzx eax, byte [esp + 0x60]
mov ecx, dword [case.0x41f270.12]
jmp case.0x41f270.10
jmp ecx
xor esi, esi
test al, al
je 0x41f3a0
mov ah, al
mov edx, edi
nop
nop
nop
nop
cmp ah, 0x2e
je 0x41f3c0
mov ah, byte [edx + 1]
inc edx
test ah, ah
jne 0x41f3b0
jmp 0x41f3a0
mov esi, edx
jmp ecx
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x43dc64]
mov ecx, esi
movzx eax, byte [esi + 1]
inc ecx
xor esi, esi
test al, al
mov dword [esp + 8], ecx
je 0x41f401
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x41f3ff
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x41f3f0
jmp 0x41f401
mov esi, ecx
xor eax, eax
test esi, esi
setne al
mov ecx, dword [esp + 8]
jmp dword [eax*4 + 0x43dc6c]
mov edx, esi
sub edx, ecx
lea ecx, [edx + edx*2]
shr ecx, 2
movzx eax, byte [esi - 1]
cmp eax, 0x3d
je 0x41f42b
cmp eax, 0x2e
jne 0x41f42c
dec ecx
mov eax, dword [esp + 8]
movzx eax, byte [eax + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0x28], edx
je 0x41f443
cmp eax, 0x2e
jne 0x41f444
dec ecx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x54], ecx
lea eax, [ecx + 1]
push eax
call fcn.004090a0
add esp, 4
mov dword [esp + 0x1c], eax
cmp esi, dword [esp + 8]
je 0x41f55a
xor edx, edx
mov edi, 2
jmp 0x41f490
mov edx, dword [esp + 0x44]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [edi + 4]
add edi, 2
cmp edi, ecx
mov edi, eax
jae 0x41f55a
mov dword [esp + 0x2c], edx
mov esi, dword [esp + 8]
movzx eax, byte [esi + edi - 2]
push eax
call fcn.00416920
add esp, 4
mov ebx, eax
movzx eax, byte [esi + edi - 1]
push eax
call fcn.00416920
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
mov byte [ecx + edx], al
inc edx
mov ecx, dword [esp + 0x28]
cmp edi, ecx
jae 0x41f480
mov eax, dword [esp + 8]
movzx eax, byte [eax + edi]
push eax
mov esi, edx
call fcn.00416920
mov edx, esi
mov ecx, dword [esp + 0x2c]
add esp, 4
cmp al, 0x40
je 0x41f480
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov esi, dword [esp + 0x2c]
lea edx, [esi + 2]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x1c]
mov byte [edx + esi + 1], al
lea eax, [edi + 1]
cmp eax, ecx
jae 0x41f46f
mov eax, dword [esp + 8]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.00416920
mov ecx, dword [esp + 0x2c]
add esp, 4
cmp al, 0x40
mov edx, dword [esp + 0x44]
je 0x41f480
shl bl, 6
add al, bl
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x2c]
mov byte [edx + esi + 2], al
add esi, 3
mov edx, esi
jmp 0x41f480
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x1c]
mov byte [esi + eax], 0
push esi
call fcn.00401f20
add esp, 4
mov ebx, eax
jmp dword [0x43dc74]
push esi
call fcn.004090b0
add esp, 4
push ebx
call fcn.00402970
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
lea edi, [esp + 0x60]
jmp dword [ecx*4 + 0x43dc7c]
mov dword [esp + 0x30], 0xb3102423
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 0xb
ja 0x41f610
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx edx, byte [esp + edx + 0x30]
mov esi, 0x37
sub esi, ecx
add ecx, 0x266e92c8
xor esi, ecx
and esi, edx
xor esi, ecx
mov dword [esp + 4], esi
mov ecx, dword [esp + 4]
add cl, 0x88
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x30], cl
inc dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp ecx, 0xc
jb 0x41f5d0
lea ecx, [esp + 0x30]
push ecx
push eax
call fcn.00402730
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
mov edx, dword [esp + 0x24]
jmp dword [ecx*4 + 0x43dc84]
jmp 0x41f66d
movzx ecx, byte [eax]
test cl, cl
je 0x41f64b
inc eax
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x41f640
mov byte [edx], 0
mov byte [edx], 0x3a
jmp dword [0x43dc8c]
mov byte [edx + 1], 0x20
nop
nop
nop
nop
nop
mov byte [edx + 1], 0x20
jmp dword [0x43dc98]
add edx, 2
movzx eax, byte [esp + 0x60]
test al, al
je 0x41f68b
lea ecx, [esp + 0x61]
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41f680
mov byte [edx], 0xa
inc edx
mov dword [esp + 0x24], edx
mov al, 1
mov dword [esp + 0x40], eax
jmp case.0x41f40c.4
xor edi, edi
test ebx, ebx
jne 0x41f7a4
jmp 0x41f7b1
mov ecx, dword [ebp + 8]
mov esi, dword [esp + 0x24]
mov byte [esi], 0
mov edx, dword [esp + 0x20]
mov eax, edx
not eax
and eax, esi
add eax, eax
mov dword [esp + 0x60], 0xf0a0959
mov dword [esp + 0x64], 0x1b77760d
mov dword [esp + 0x68], 0x40609
mov dword [esp + 0x6c], 0x12027e5b
mov dword [esp + 0x70], 0x675d1c69
mov dword [esp + 0x74], 0x111b1e13
mov dword [esp + 0x78], 0xb0e5713
mov word [esp + 0x7c], 0xbd30
mov dword [esp + 0x7e], 0
mov word [esp + 0x82], 0
xor esi, edx
sub eax, esi
mov dword [esp + 4], 0
mov edx, dword [esp + 4]
cmp edx, 0x23
ja 0x41f770
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 4]
mov esi, dword [esp + 4]
movzx esi, byte [esp + esi + 0x60]
mov edi, 0x3b
sub edi, edx
add edx, 0x96ee24c4
xor edi, edx
and edi, esi
xor edi, edx
mov dword [esp + 0x30], edi
mov edx, dword [esp + 0x30]
add dl, 0xa4
mov esi, dword [esp + 4]
mov byte [esp + esi + 0x60], dl
inc dword [esp + 4]
mov edx, dword [esp + 4]
cmp edx, 0x24
jb 0x41f730
lea edx, [esp + 0x60]
push eax
push dword [esp + 0x24]
push edx
call fcn.00409d00
mov ebx, eax
jmp dword [0x43dc9c]
push dword [esp + 0x20]
call fcn.004090b0
add esp, 4
and bl, 1
mov edi, ebx
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
test ebx, ebx
je 0x41f7b1
cmp ebx, esi
je 0x41f7b1
push ebx
call fcn.004090b0
add esp, 4
mov ebx, edi
lea ecx, [esp + 0x48]
call fcn.004324c0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
jmp dword [0x43dcb8]
xor eax, eax
mov ebx, dword [esp]
test ebx, ebx
sete al
jmp dword [eax*4 + 0x43dd4c]
mov dword [esp + 0x38], 0x8b258d28
mov dword [esp + 0x3c], 0x9724893b
mov dword [esp + 0x40], 0x933b953e
mov dword [esp + 0x44], 0x9f3a913b
mov dword [esp + 0x48], 0x9b299d33
mov dword [esp + 0x4c], 0x67cc992a
mov dword [esp + 0x50], 0x63c965cd
mov dword [esp + 0x54], 0x6fd46192
mov dword [esp + 0x58], 0x6bc06dc0
lea eax, [esp + 0x5c]
mov word [esp + 0x5c], 0x6968
mov dword [esp + 0x5e], 0
mov dword [esp + 0x61], 0
mov dword [esp + 0xa0], 0
mov ecx, dword [esp + 0xa0]
cmp ecx, 0x2c
ja 0x41f8f5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0xa0]
movzx edx, byte [esp + edx + 0x38]
mov esi, 0x95
sub esi, ecx
add ecx, 0x8d3cad6a
xor esi, ecx
and esi, edx
xor esi, ecx
mov dword [esp + 0xd4], esi
mov ecx, dword [esp + 0xd4]
add cl, 0x1a
mov edx, dword [esp + 0xa0]
mov byte [esp + edx + 0x38], cl
inc dword [esp + 0xa0]
mov ecx, dword [esp + 0xa0]
cmp ecx, 0x2d
jb 0x41f8a0
lea edi, [esp + 0xa0]
lea edx, [esp + 0x38]
mov ecx, 9
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xc4]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + eax + 2], 0
lea eax, [eax + 2]
jne 0x41f930
cmp eax, 0xffffffd9
jge 0x41fdfb
mov eax, 0xffffffff
jmp 0x41fdfe
jmp dword [0x43dd60]
xor eax, eax
jmp 0x420cad
xor ebx, ebx
test edx, edx
sete bl
xor ecx, ecx
jmp dword [ebx*4 + 0x43dd44]
jmp dword [ecx*4 + 0x43dca4]
mov dword [esp + 0x38], 0x6bc46dc8
mov dword [esp + 0x3c], 0x67dd69d5
mov dword [esp + 0x40], 0x63cd65dd
mov dword [esp + 0x44], 0x5ff061cc
mov dword [esp + 0x48], 0x5bfe5df5
mov dword [esp + 0x4c], 0x571759ed
mov dword [esp + 0x50], 0x53ea55eb
mov dword [esp + 0x54], 0x4ffc51e9
mov dword [esp + 0x58], 0x4bee4df1
mov dword [esp + 0x5c], 0x47f549e7
mov dword [esp + 0x60], 0x43ee45fe
mov dword [esp + 0x64], 0xbfff41eb
mov dword [esp + 0x68], 0xbb07bd12
mov dword [esp + 0x6c], 0xb71cb91c
mov dword [esp + 0x70], 0xb326b515
mov dword [esp + 0x74], 0xaf33b13a
mov dword [esp + 0x78], 0xab05ad08
mov dword [esp + 0x7c], 0xa73ba924
mov dword [esp + 0x80], 0xa337a505
mov word [esp + 0x84], 0xa1a0
lea ecx, [esp + 0x86]
mov word [ecx + 8], 0
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov dword [esp + 0xa0], 0
mov ecx, dword [esp + 0xa0]
cmp ecx, 0x57
ja 0x41faa5
nop
nop
nop
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0xa0]
movzx edx, byte [esp + edx + 0x38]
mov esi, 0x2d
sub esi, ecx
add ecx, 0x35b6fcd2
xor esi, ecx
and esi, edx
xor esi, ecx
mov dword [esp + 0xd4], esi
mov ecx, dword [esp + 0xd4]
add cl, 0x42
mov edx, dword [esp + 0xa0]
mov byte [esp + edx + 0x38], cl
inc dword [esp + 0xa0]
mov ecx, dword [esp + 0xa0]
cmp ecx, 0x58
jb 0x41fa50
lea ecx, [esp + 0xc]
lea edi, [esp + 0x38]
push 0
push 0
push eax
push ecx
push edi
call fcn.004364d0
add esp, 0x14
mov ecx, dword [case.0x41f40c.22]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
shr eax, 0x1f
jmp dword [eax*4 + 0x43dccc]
jmp dword [0x43dcd4]
lea eax, [esp + 0x34]
lea ecx, [esp + 4]
push eax
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x2c]
call fcn.00436970
add esp, 0x24
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea esi, [esp + 0x34]
lea eax, [esp + 4]
push esi
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x2c]
call fcn.00436970
add esp, 0x24
jmp dword [0x43dce0]
not eax
shr eax, 0x1f
mov ebx, dword [esp]
jmp dword [eax*4 + 0x43dce4]
mov ecx, dword [esp + 0x34]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x41fb5a
mov eax, 0xffffffff
push eax
call fcn.004090a0
add esp, 4
mov ebx, eax
mov dword [esp + 0x38], 0x6bf86d15
mov dword [esp + 0x3c], 0x67ea69e7
mov dword [esp + 0x40], 0x63f66505
mov dword [esp + 0x44], 0x9fee61f4
mov dword [esp + 0x48], 0x9b169dfd
mov dword [esp + 0x4c], 0x97969900
lea eax, [esp + 0x86]
mov word [eax - 0x32], 0
mov dword [eax - 0x36], 0
mov dword [esp + 0xa0], 0
mov eax, dword [esp + 0xa0]
cmp eax, 0x1d
ja 0x41fc13
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa0]
movzx ecx, byte [esp + ecx + 0x38]
mov edx, 0x8d
sub edx, eax
add eax, 0x4fa8a972
xor edx, eax
and edx, ecx
xor edx, eax
mov dword [esp + 0xd4], edx
mov eax, dword [esp + 0xd4]
add al, 0xe2
mov ecx, dword [esp + 0xa0]
mov byte [esp + ecx + 0x38], al
inc dword [esp + 0xa0]
mov eax, dword [esp + 0xa0]
cmp eax, 0x1e
jb case.default.0x41fc27
push esi
push ebx
push 0
push edi
push dword [esp + 0x1c]
call fcn.00437020
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x43dcec]
jmp dword [0x43dcf4]
push ebx
call fcn.004090b0
add esp, 4
mov eax, dword [case.0x41f40c.30]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor ebx, ebx
jmp eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x38], 0x62656467
lea eax, [esp + 0x86]
mov byte [eax - 0x42], 0
mov dword [eax - 0x46], 0
mov dword [eax - 0x4a], 0
mov dword [esp + 0xa0], 0
mov eax, dword [esp + 0xa0]
cmp eax, 0xc
ja 0x41fcf3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa0]
movzx ecx, byte [esp + ecx + 0x38]
mov edx, 0xee
sub edx, eax
add eax, 0x9c90311
xor edx, eax
and edx, ecx
xor edx, eax
mov dword [esp + 0xd4], edx
mov eax, dword [esp + 0xd4]
add al, 0x89
mov ecx, dword [esp + 0xa0]
mov byte [esp + ecx + 0x38], al
inc dword [esp + 0xa0]
mov eax, dword [esp + 0xa0]
cmp eax, 0xd
jb 0x41fca0
mov ecx, dword [0x44132c]
test ecx, ecx
mov dword [esp], ebx
je 0x41fd50
mov edx, dword [esp + 0x38]
xor esi, esi
mov eax, dword [0x441330]
nop
nop
nop
nop
nop
cmp dword [eax + esi*8], 0xa3c1f363
je 0x41fd3b
inc esi
cmp ecx, esi
jne 0x41fd10
jmp 0x41fd50
mov edx, 4
xor ebx, ebx
cmp edx, 4
setb bl
mov eax, 0x20119
xor ecx, ecx
jmp dword [ebx*4 + 0x43dd3c]
mov eax, dword [eax + esi*8 + 4]
cmp eax, edx
jne case.default.0x41fd57
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x43dd0c]
jmp dword [0x43dd14]
push edi
call fcn.00435a20
add esp, 4
nop
nop
nop
push edi
call fcn.00435a20
add esp, 4
jmp dword [0x43dd1c]
cmp dword [esp + 0x38], 1
sete cl
and al, cl
movzx eax, al
xor ecx, ecx
xor edx, edx
jmp dword [eax*4 + 0x43dd24]
mov eax, dword [case.0x41fdd7.6]
nop
nop
nop
nop
mov edx, 2
jmp eax
xor ebx, ebx
cmp edx, 4
setb bl
mov eax, 0x20119
jmp dword [ebx*4 + 0x43dd3c]
push dword [esp + 0x1c]
push 1
push dword [0x441334]
push eax
call fcn.00433920
add esp, 0x10
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x43dd0c]
mov edx, 2
xor ebx, ebx
cmp edx, 4
setb bl
mov eax, 0x20119
xor ecx, ecx
jmp dword [ebx*4 + 0x43dd3c]
add eax, 0x26
push eax
call fcn.004090a0
add esp, 4
mov edi, eax
movzx ecx, word [ebx]
test cx, cx
je 0x41fe31
lea edx, [ebx + 2]
mov eax, edi
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 0x41fe20
mov word [eax], 0
movzx ecx, word [esp + 0xa0]
test cx, cx
je 0x41fe61
lea edx, [esp + 0xa2]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41fe50
mov word [eax], 0
jmp dword [0x43dd64]
push ebx
call fcn.004090b0
add esp, 4
lea eax, [esp + 4]
push 0x60
push 3
push 0x120089
push eax
push edi
call fcn.00435c70
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43dd6c]
mov dword [esp + 0x1c], 0
xor ebx, ebx
jmp dword [0x43dddc]
lea eax, [esp + 0x34]
push 0
push eax
push dword [esp + 0xc]
call fcn.00436020
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
mov dword [esp + 0x1c], 0
jmp dword [eax*4 + 0x43dd74]
mov esi, dword [esp + 0x34]
lea eax, [esi + 1]
push eax
call fcn.004090a0
add esp, 4
push 0
push esi
mov dword [esp + 0x9c], eax
push eax
push dword [esp + 0x10]
call fcn.00436120
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
mov dword [esp + 0x1c], 0
jmp dword [eax*4 + 0x43dd7c]
mov dword [esp + 0x2c], edi
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x94]
mov byte [edi + esi], 0
push 0x20
call fcn.004090a0
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [esp + 0x98], eax
mov ecx, eax
push esi
push edi
call case.0x41fdd7.186
movzx eax, al
xor ebx, ebx
xor edx, edx
jmp dword [eax*4 + 0x43dd84]
mov dword [esp + 0x38], 0xcfbeb0ab
mov dword [esp + 0x3c], 0xa0aebecb
mov dword [esp + 0x40], 0xafbbb76f
mov dword [esp + 0x44], 0xba65aad4
mov dword [esp + 0x48], 0xa4b3aeda
mov dword [esp + 0x4c], 0x9291ae63
mov dword [esp + 0x50], 0xe79ee69f
mov dword [esp + 0x54], 0x65e7
mov byte [esp + 0x58], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x20
ja 0x420014
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx + 0x38]
mov edx, 0x74
sub edx, eax
add eax, 0x4e30888b
xor edx, eax
and edx, ecx
xor edx, eax
mov dword [esp + 0xd4], edx
mov eax, dword [esp + 0xd4]
add al, 0x33
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x38], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x21
jb 0x41ffd0
mov ecx, dword [esp + 0x98]
lea eax, [esp + 0x38]
push eax
call fcn.00422470
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
jmp dword [ecx*4 + 0x43dd8c]
mov dword [esp + 0x1c], edx
jmp dword [0x43ddac]
mov esi, dword [esp + 0x98]
mov ecx, esi
call fcn.004225e0
push esi
call fcn.004090b0
add esp, 4
mov eax, dword [case.0x41fdd7.28]
mov edi, dword [esp + 0x2c]
nop
jmp eax
mov eax, dword [case.0x42002e.16]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x43ddd4]
push dword [esp + 0x94]
call fcn.004090b0
add esp, 4
mov dword [esp + 0x2c], edi
mov eax, dword [esp + 4]
mov dword [esp + 0x38], 0x62656467
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov byte [esp + 0x44], 0
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 0xc
ja 0x420106
nop
nop
nop
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx edx, byte [esp + edx + 0x38]
mov esi, 0xee
sub esi, ecx
add ecx, 0x9c90311
xor esi, ecx
and esi, edx
xor esi, ecx
mov dword [esp + 0xd4], esi
mov ecx, dword [esp + 0xd4]
add cl, 0x89
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x38], cl
inc dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp ecx, 0xd
jb 0x4200c0
mov ecx, dword [0x44132c]
test ecx, ecx
je 0x42037b
mov edx, dword [esp + 0x38]
xor esi, esi
mov edi, dword [0x441330]
cmp dword [edi + esi*8], 0xa3c1f363
je 0x42036f
inc esi
cmp ecx, esi
jne 0x420120
jmp 0x42037b
jmp dword [0x43dd9c]
add eax, 8
xor edi, edi
mov esi, dword [eax]
xor eax, eax
test esi, esi
setne al
xor ebx, ebx
mov dword [esp + 0x14], 0
xor edx, edx
jmp dword [eax*4 + 0x43dda4]
not eax
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [edx + ecx + 4], eax
add ebx, 8
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
mov edi, edx
jmp dword [eax*4 + 0x43dda4]
mov dword [esp + 0x30], esi
mov eax, dword [esi]
mov dword [esp], eax
mov edx, ebx
sub edx, edi
mov ecx, dword [esp + 0x14]
cmp ebx, ecx
mov dword [esp + 0x18], edx
je 0x4201be
mov dword [esp + 0x20], ebx
mov ebx, edi
jmp 0x42024a
mov eax, ecx
sub eax, edi
sar eax, 3
mov esi, eax
shr esi, 1
add esi, eax
mov eax, edx
sar eax, 3
inc eax
cmp esi, eax
ja 0x4201d7
mov esi, eax
mov eax, esi
and eax, 0xfffffff7
mov ecx, esi
and ecx, 8
mov edx, esi
or edx, 8
imul edx, ecx
xor ecx, 8
imul ecx, eax
add edx, ecx
push edx
call fcn.004090a0
add esp, 4
mov ebx, eax
test edi, edi
je 0x42023b
mov edx, dword [esp + 0x14]
cmp edi, edx
je 0x420232
xor eax, eax
nop
nop
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 0x420210
push edi
call fcn.004090b0
add esp, 4
lea ecx, [ebx + esi*8]
mov eax, ebx
mov edx, dword [esp + 0x18]
add eax, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ecx
mov dword [ebx + edx], 0
mov dword [esp + 0x1c], ebx
mov dword [ebx + edx + 4], 0
mov ebx, 0xffffffff
xor eax, eax
mov ecx, dword [esp]
nop
nop
nop
nop
nop
mov esi, eax
cmp byte [ecx + ebx + 1], 0
lea ebx, [ebx + 1]
lea eax, [eax + 1]
jne 0x420270
lea eax, [ebx + 1]
mov dword [esp + 0x28], eax
push eax
call fcn.004090a0
add esp, 4
mov edx, eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [eax + ecx], edx
mov edi, edx
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x28]
mov ecx, eax
shr ecx, 2
mov edx, dword [esp]
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, eax
xor ecx, 3
mov edx, eax
or edx, 0xfffffffc
and edx, ecx
mov edi, dword [esp + 0x24]
add edi, edx
add edx, dword [esp]
mov ecx, eax
shr ecx, 1
and ecx, 1
mov eax, edx
mov dword [esp + 0x24], edi
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
test bl, 1
jne 0x4202f6
mov ecx, dword [esp + 0x28]
and ecx, 2
movzx eax, byte [edx + ecx]
mov edx, dword [esp + 0x24]
mov byte [edx + ecx], al
test ebx, ebx
je 0x420360
cmp ebx, 1
jne 0x420305
mov eax, 0xffffffff
mov edx, dword [esp]
jmp 0x42033b
and esi, 0xfffffffe
mov eax, 0xffffffff
mov edx, dword [esp]
mov ecx, eax
shr ecx, 8
xor al, byte [edx]
movzx eax, al
xor ecx, dword [eax*4 + 0x4397c8]
mov eax, ecx
shr eax, 8
xor cl, byte [edx + 1]
add edx, 2
movzx ecx, cl
xor eax, dword [ecx*4 + 0x4397c8]
add esi, 0xfffffffe
jne 0x420310
test bl, 1
mov esi, dword [esp + 0x30]
je 0x420170
mov ecx, eax
shr ecx, 8
xor al, byte [edx]
movzx eax, al
xor ecx, dword [eax*4 + 0x4397c8]
mov eax, ecx
jmp 0x420170
xor eax, eax
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x30]
jmp 0x420176
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x420797
mov edi, dword [esp + 0x2c]
jmp dword [0x43dddc]
jmp dword [0x43dde4]
push edi
call fcn.004090b0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push edi
call fcn.004090b0
add esp, 4
jmp dword [0x43ddec]
xor eax, eax
cmp dword [esp + 0x1c], ebx
sete al
jmp dword [eax*4 + 0x43ddf4]
mov dword [esp + 0x20], ebx
mov eax, ebx
sub eax, dword [esp + 0x1c]
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.004090a0
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x38], 0xb5e0d61
mov dword [esp + 0x3c], 0x17b909bb
mov dword [esp + 0x40], 0x13a615b5
mov dword [esp + 0x44], 0x1fae1151
mov dword [esp + 0x48], 0x1b561dac
mov dword [esp + 0x4c], 0x67da19b9
mov dword [esp + 0x50], 0x630f65c5
mov dword [esp + 0x54], 0x6f3161c4
mov dword [esp + 0x58], 0x6bc76dd0
mov dword [esp + 0x5c], 0x77c369c9
mov dword [esp + 0x60], 0x73c675d0
mov dword [esp + 0x64], 0x7fd171c3
mov dword [esp + 0x68], 0x7bce7ddd
mov dword [esp + 0x6c], 0x47fc790a
mov dword [esp + 0x70], 0x43e845e8
lea eax, [esp + 0x74]
mov word [esp + 0x74], 0x4140
mov dword [esp + 0x76], 0
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 0x41
ja 0x4204c6
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx edx, byte [esp + edx + 0x38]
mov esi, 0x55
sub esi, ecx
add ecx, 0x506894aa
xor esi, ecx
and esi, edx
xor esi, ecx
mov dword [esp + 0xd4], esi
mov ecx, dword [esp + 0xd4]
add cl, 0x5a
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x38], cl
inc dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp ecx, 0x42
jb 0x420480
lea esi, [esp + 0xd4]
lea edx, [esp + 0x38]
mov ecx, 0xf
mov edi, esi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x110]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [esp + 0x34]
push edi
push 0
push 0
push 0x1e
push esi
push 0
call dword [0x441328]
mov ebx, dword [esp + 0x34]
test ebx, ebx
jns 0x42052d
mov eax, 0xffffffff
jmp 0x420530
jmp dword [0x43de04]
xor eax, eax
jmp 0x420ea8
lea eax, [ebx + ebx]
push eax
call fcn.004090a0
add esp, 4
push edi
mov edi, eax
push ebx
push eax
push 0x1e
push esi
push 0
call dword [0x441328]
lea eax, [esp + 0x9c]
push 0x60
push 3
push 0x120089
push eax
push edi
call fcn.00435c70
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43de0c]
mov dword [esp + 0x28], 0
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
jmp dword [0x43df04]
lea eax, [esp + 0xd0]
push 0
push eax
push dword [esp + 0xa4]
call fcn.00436020
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
mov ebx, dword [esp + 0x20]
jmp dword [eax*4 + 0x43de14]
mov esi, dword [esp + 0xd0]
lea eax, [esi + 1]
push eax
call fcn.004090a0
add esp, 4
push 0
push esi
mov dword [esp + 0xd4], eax
push eax
push dword [esp + 0xa8]
call fcn.00436120
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
jmp dword [eax*4 + 0x43de1c]
mov dword [esp + 0x30], edi
mov eax, dword [esp + 0xd0]
mov edi, dword [esp + 0xcc]
mov dword [esp], eax
mov byte [edi + eax], 0
push 0x20
call fcn.004090a0
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 esi, eax
mov ecx, eax
push dword [esp]
push edi
call case.0x41fdd7.186
movzx eax, al
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc8], esi
jmp dword [eax*4 + 0x43de24]
mov dword [esp + 0x38], 0x37c03ed3
mov dword [esp + 0x3c], 0xba48c833
mov dword [esp + 0x40], 0x47b3af87
mov dword [esp + 0x44], 0xa08dbc4a
mov dword [esp + 0x48], 0x4ebbb040
mov dword [esp + 0x4c], 0x5555968b
mov dword [esp + 0x50], 0x5fada856
mov dword [esp + 0x54], 0xa7a1a08f
mov word [esp + 0x58], 0xcda1
mov dword [esp + 0x5a], 0
mov dword [esp + 0x5e], 0
mov dword [esp + 0x61], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x2c
ja 0x42073e
nop
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 + 0x38]
mov edx, 0xc5
sub edx, eax
add eax, 0xc97cac3a
xor edx, eax
and edx, ecx
xor edx, eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xc]
add al, 0x6a
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x38], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x2d
jb 0x420700
mov ecx, dword [esp + 0xc8]
lea eax, [esp + 0x38]
push eax
call fcn.00422470
mov ecx, dword [case.0x41fdd7.74]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x28], 0
mov edx, dword [esp + 0x18]
mov dword [esp + 0x14], edx
jmp dword [ecx*4 + 0x43de3c]
mov edi, dword [esp + 0x30]
jmp dword [0x43dec4]
mov esi, dword [esp + 0xc8]
jmp dword [0x43decc]
push eax
push 1
push dword [0x441334]
push ecx
call fcn.00433920
add esp, 0x10
mov edi, dword [esp + 0x2c]
jmp dword [0x43dddc]
add eax, 8
mov dword [esp + 0x28], 0
mov edi, dword [eax]
xor eax, eax
test edi, edi
setne al
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
jmp dword [eax*4 + 0x43de44]
add edi, 4
mov edi, dword [edi]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x43de44]
mov edx, dword [edi]
cmp dword [edi + 0x18], 3
mov esi, 0
jne case.default.0x420808
mov esi, dword [edi + 0x10]
test edx, edx
setne al
test esi, esi
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x43de4c]
mov dword [esp], esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, esi
inc esi
cmp byte [ecx], 0
jne case.default.0x420862
mov dword [esp + 0x24], edx
mov esi, dword [esp]
sub ecx, esi
inc ecx
shr ecx, 1
mov dword [esp + 0x2c], edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x98], ecx
lea eax, [ecx + 1]
push eax
call fcn.004090a0
add esp, 4
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
mov dword [esp + 0x94], eax
mov edi, esi
jmp dword [edx*4 + 0x43de54]
mov byte [eax], cl
inc eax
movsx ecx, byte [esi]
xor ebx, ebx
test ecx, ecx
setne bl
mov edi, esi
jmp dword [ebx*4 + 0x43de54]
mov dword [esp], edi
lea esi, [edi + 1]
mov edi, ecx
or edi, 0x20
lea ebx, [edi - 0x61]
cmp ebx, 5
ja case.default.0x4208af
and ecx, 0xffffff9e
xor edi, 0xffffff9e
lea ecx, [edi + ecx*2]
add ecx, 0xb
movsx ebx, byte [esi]
xor edx, edx
test ebx, ebx
setne dl
jmp dword [edx*4 + 0x43de5c]
add ecx, 0xffffffd0
cmp ecx, 0xa
jb case.default.0x4208d7
mov ecx, 0xffffffff
movsx ebx, byte [esi]
xor edx, edx
test ebx, ebx
setne dl
jmp dword [edx*4 + 0x43de5c]
shl ecx, 4
mov edi, dword [esp]
add edi, 2
mov edx, ebx
or edx, 0x20
lea esi, [edx - 0x61]
cmp esi, 5
ja case.default.0x42090f
and ebx, 0xffffff9e
xor edx, 0xffffff9e
lea edx, [edx + ebx*2]
add edx, 0xb
or edx, ecx
mov byte [eax], dl
inc eax
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x43de54]
add ebx, 0xffffffd0
cmp ebx, 0xa
jb case.default.0x42093c
mov ebx, 0xffffffff
or ebx, ecx
mov byte [eax], bl
inc eax
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x43de54]
mov byte [eax], 0
push 0
push 0x10
push 0
push dword [esp + 0x30]
call fcn.00422680
add esp, 0x10
mov dword [esp], eax
mov dword [esp + 0x24], 0
mov ecx, dword [case.0x4208d7.58]
xor ebx, ebx
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x20]
setne bl
jmp dword [ebx*4 + 0x43de64]
mov ebx, dword [edi + 4]
mov esi, ebx
shr esi, 0x1c
shl ebx, 4
or ebx, 1
xor esi, edx
xor ebx, dword [esp]
xor eax, eax
or ebx, esi
sete al
jmp dword [eax*4 + 0x43de6c]
mov ebx, 1
jmp dword [ebx*4 + 0x43de74]
mov eax, dword [edi]
mov dword [esp + 0x24], eax
xor ebx, ebx
jmp dword [ebx*4 + 0x43de74]
jmp ecx
add edi, 8
xor ebx, ebx
cmp edi, dword [esp + 0x20]
setne bl
jmp dword [ebx*4 + 0x43de64]
xor eax, eax
mov ecx, dword [esp + 0x24]
test ecx, ecx
setne al
jmp dword [eax*4 + 0x43de8c]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x2c]
jmp dword [0x43debc]
mov eax, dword [esp + 0x98]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x3c], eax
mov eax, 0xffffffff
mov edi, dword [esp + 0x2c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ecx + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x420a79
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
push 0x3234ab19
push dword [0x441338]
call fcn.00435170
add esp, 8
lea ecx, [esp + 0xc]
lea edx, [esp + 4]
push edx
push 1
push 0
push 0
push ecx
push 0
lea ecx, [esp + 0x50]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
mov ebx, dword [esp + 0x20]
jmp dword [ecx*4 + 0x43de94]
jmp dword [0x43debc]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
jmp dword [0x43dea0]
movzx eax, byte [edx]
mov ecx, esi
test al, al
je 0x420abb
mov ecx, dword [esp + 0x24]
lea edx, [ecx + 1]
mov ecx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x420ab0
mov byte [ecx], 0
mov edx, dword [esp + 0x24]
jmp case.0x41fdd7.101
mov byte [ebx], 0
jmp dword [0x43dea4]
movzx eax, byte [edx]
mov ebx, esi
test al, al
je 0x420ad0
lea ecx, [edx + 1]
mov ebx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x420af0
jmp 0x420ad0
mov word [ebx], 0x203a
add ebx, 2
mov eax, dword [esp + 4]
mov dword [esp], eax
jmp dword [0x43deac]
inc edi
mov dword [esp + 0x14], edi
mov al, 1
mov dword [esp + 0x28], eax
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x2c]
jmp dword [0x43debc]
push dword [esp + 0x94]
call fcn.004090b0
add esp, 4
add edi, 4
mov edi, dword [edi]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x43de44]
mov edi, ebx
test eax, eax
je 0x420bd9
mov eax, dword [esp + 8]
mov edi, dword [esp]
mov esi, edi
and esi, 3
je 0x420b93
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [eax]
cmp cl, 1
sbb eax, 0xffffffff
mov byte [ebx + edx], cl
inc edx
cmp esi, edx
jne 0x420b70
lea ecx, [ebx + edx]
mov edi, dword [esp]
mov esi, edi
sub esi, edx
mov dword [esp + 0x14], ecx
mov edx, ecx
jmp 0x420b97
mov edx, ebx
mov esi, edi
cmp edi, 4
mov edi, dword [esp + 0x14]
jb 0x420bd9
movzx ecx, byte [eax]
cmp cl, 1
sbb eax, 0xffffffff
mov byte [edx], cl
movzx ecx, byte [eax]
cmp cl, 1
sbb eax, 0xffffffff
mov byte [edx + 1], cl
movzx ecx, byte [eax]
cmp cl, 1
sbb eax, 0xffffffff
mov byte [edx + 2], cl
movzx ecx, byte [eax]
cmp cl, 1
sbb eax, 0xffffffff
lea edi, [edx + 4]
mov byte [edx + 3], cl
mov edx, edi
add esi, 0xfffffffc
jne 0x420ba0
mov byte [edi], 0xa
push 0xaa39f1ac
push dword [0x441320]
call fcn.00435170
add esp, 8
push dword [esp + 8]
call eax
mov eax, dword [esp]
jmp dword [0x43deb4]
mov esi, ebx
test eax, eax
je 0x420c89
mov eax, dword [esp + 8]
mov ecx, dword [esp]
mov esi, ecx
and esi, 3
je 0x420c3f
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [eax]
cmp cl, 1
sbb eax, 0xffffffff
mov byte [ebx + edx], cl
inc edx
cmp esi, edx
jne 0x420c20
lea esi, [ebx + edx]
mov ecx, dword [esp]
mov edi, ecx
sub edi, edx
mov edx, esi
jmp 0x420c43
mov edx, ebx
mov edi, ecx
cmp ecx, 4
jb 0x420c89
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [eax]
cmp cl, 1
sbb eax, 0xffffffff
mov byte [edx], cl
movzx ecx, byte [eax]
cmp cl, 1
sbb eax, 0xffffffff
mov byte [edx + 1], cl
movzx ecx, byte [eax]
cmp cl, 1
sbb eax, 0xffffffff
mov byte [edx + 2], cl
movzx ecx, byte [eax]
cmp cl, 1
sbb eax, 0xffffffff
lea esi, [edx + 4]
mov byte [edx + 3], cl
mov edx, esi
add edi, 0xfffffffc
jne 0x420c50
mov byte [esi], 0xa
push 0xaa39f1ac
push dword [0x441320]
call fcn.00435170
add esp, 8
push dword [esp + 8]
call eax
mov eax, dword [esp]
jmp case.0x41fdd7.104
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
jmp dword [0x43defc]
push dword [esp + 0xcc]
call fcn.004090b0
add esp, 4
mov dword [esp + 0x30], edi
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x38], 0x62656467
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov byte [esp + 0x44], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 0xc
ja 0x420d50
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x38]
mov esi, 0xee
sub esi, ecx
add ecx, 0x9c90311
xor esi, ecx
and esi, edx
xor esi, ecx
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0xc]
add cl, 0x89
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x38], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 0xd
jb 0x420d10
mov ecx, dword [0x44132c]
test ecx, ecx
je 0x420d88
mov edx, dword [esp + 0x38]
xor esi, esi
mov edi, dword [0x441330]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xa3c1f363
je 0x420d80
inc esi
cmp ecx, esi
jne 0x420d70
jmp 0x420d88
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x420d9c
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x14]
jmp dword [0x43df04]
jmp dword [0x43df10]
push eax
push 1
push dword [0x441334]
push ecx
call fcn.00433920
add esp, 0x10
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x14]
jmp dword [0x43df04]
mov eax, dword [esp + 0x28]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x43df1c]
jmp dword [0x43df24]
mov byte [esi], 0
mov dword [esp + 0x38], 0x97a8a975
mov dword [esp + 0x3c], 0xab9f9891
mov dword [esp + 0x40], 0xb68eb095
mov dword [esp + 0x44], 0x80b09073
mov dword [esp + 0x48], 0x9f798685
mov dword [esp + 0x4c], 0x818b80bb
mov dword [esp + 0x50], 0x8b847fbb
mov dword [esp + 0x54], 0x1586
mov byte [esp + 0x58], 0
sub esi, dword [esp + 0x18]
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x20
ja 0x420e7e
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 + 0x38]
mov edx, 0xf8
sub edx, eax
add eax, 0x5ea11107
xor edx, eax
and edx, ecx
xor edx, eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xc]
add al, 0xcf
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x38], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x21
jb 0x420e40
mov ecx, dword [ebp + 8]
push esi
push dword [esp + 0x1c]
lea eax, [esp + 0x40]
push eax
call fcn.00409d00
jmp dword [0x43df24]
push dword [esp + 0x18]
mov esi, eax
call fcn.004090b0
mov eax, esi
add esp, 4
and al, 1
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x420cad
cmp esi, ebx
je 0x420cad
mov edi, eax
jmp 0x420ec7
add esi, 8
cmp esi, ebx
je 0x420ed8
mov eax, dword [esi]
test eax, eax
je 0x420ec0
push eax
call fcn.004090b0
add esp, 4
jmp 0x420ec0
push dword [esp + 0x1c]
call fcn.004090b0
add esp, 4
mov eax, edi
jmp 0x420cad
mov eax, dword [case.0x41fdd7.68]
jmp eax
push esi
call fcn.004090b0
add esp, 4
push esi
call fcn.004090b0
add esp, 4
jmp dword [0x43dee8]
jmp dword [0x43dee0]
push edi
call fcn.004090b0
add esp, 4
push edi
call fcn.004090b0
add esp, 4
jmp dword [0x43df18]
mov ecx, esi
call fcn.004225e0
mov ecx, esi
call fcn.004225e0
jmp dword [0x43ded4]
mov eax, dword [esi + 0x5c]
and al, 1
or al, bl
mov dword [esi + 0x5c], eax
mov edx, dword [esi + 0x8c]
add edx, 4
mov eax, dword [esi + 0x10]
lea ebx, [eax + 2]
xor eax, eax
cmp edx, 0xc
setne al
mov dword [esi + 0x58], ebx
mov ecx, dword [esi + 0x78]
jmp dword [eax*4 + 0x43df3c]
mov dword [esi + 0x8c], edx
mov ecx, dword [ecx + edx]
mov eax, 0xfffffffe
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x420fa0
mov dword [esi + 0x50], eax
mov dword [esi + 0xc], ecx
mov dword [edi], 0xb3eeb1dc
mov dword [edi + 4], 0xb7d5b5cb
mov dword [edi + 8], 0xcbb6c9a9
mov dword [edi + 0xc], 0xcf9dcdec
mov dword [edi + 0x10], 0xc3a3c1b4
mov dword [edi + 0x14], 0xc7a3c5b0
mov word [edi + 0x18], 0xd9d8
mov eax, dword [esi + 0xb0]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0x25
ja 0x421045
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx edx, byte [edi + ecx]
mov ecx, 0x47
sub ecx, eax
add eax, 0x5a8814b8
xor ecx, eax
and ecx, edx
xor ecx, eax
mov dword [esi + 0x20], ecx
mov eax, dword [esi + 0x20]
add al, 0xf8
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x26
jb 0x421010
lea eax, [edi + 0x18]
mov dword [esi + 8], eax
mov edx, dword [esi + 0x50]
sar edx, 1
mov eax, edi
mov edi, dword [esi + 0x40]
mov ecx, 6
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, dword [esi + 0x40]
lea edi, [eax + 0x18]
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 + 0x44]
mov eax, dword [eax]
lea ecx, [edx + eax]
add ecx, 0xd
test ecx, ecx
mov dword [esi + 0x68], edx
jns 0x421090
mov eax, 0xffffffff
jmp 0x421099
add eax, edx
lea eax, [eax*2 + 0x1a]
mov edi, dword [esi + 0x10]
push eax
call fcn.004090a0
add esp, 4
movzx ecx, word [edi]
mov dword [esi + 0x1c], eax
test cx, cx
mov edi, dword [esi + 0x54]
je 0x4210d1
mov eax, dword [esi + 0x1c]
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 0x4210c0
mov word [eax], 0x5c
add eax, 2
mov edx, dword [esi + 0xc]
movzx ecx, word [edx]
test cx, cx
je 0x421110
add edx, 2
mov ebx, dword [esi + 0x14]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4210f0
jmp 0x421113
mov ebx, dword [esi + 0x14]
mov word [eax], 0
mov ecx, dword [esi + 0x40]
movzx ecx, word [ecx]
test cx, cx
je 0x421141
mov edx, dword [esi + 0xac]
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 0x421130
mov word [eax], 0
push 0x60
push 3
push 0x120089
push ebx
push dword [esi + 0x1c]
call fcn.00435c70
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43df4c]
xor ebx, ebx
mov eax, dword [case.0x41fdd7.166]
jmp case.0x41fdd7.164
push 0
push dword [esi + 0x38]
push dword [ebx]
call fcn.00436020
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esi + 8], 0
jmp dword [eax*4 + 0x43df54]
jmp dword [0x43df5c]
mov eax, dword [esi + 0x38]
mov edi, dword [eax]
lea eax, [edi + 1]
push eax
call fcn.004090a0
add esp, 4
push 0
push edi
push eax
mov eax, dword [esi + 0x14]
push dword [eax]
call fcn.00436120
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x38]
mov edi, dword [eax]
lea eax, [edi + 1]
push eax
call fcn.004090a0
add esp, 4
mov ebx, eax
push 0
push edi
mov edi, dword [esi + 0x38]
push eax
mov eax, dword [esi + 0x14]
push dword [eax]
call fcn.00436120
add esp, 0x10
jmp dword [0x43df64]
mov dword [esi + 0x7c], ebx
not eax
shr eax, 0x1f
xor edx, edx
jmp dword [eax*4 + 0x43df6c]
mov eax, dword [edi]
mov ecx, dword [esi + 0x7c]
mov byte [ecx + eax], 0
push ecx
call fcn.00401f20
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
jmp dword [ecx*4 + 0x43df74]
mov dword [esi + 8], edx
mov ebx, dword [esi + 0x14]
jmp dword [0x43df94]
push dword [esi + 0x7c]
call fcn.004090b0
add esp, 4
mov eax, dword [ebx]
mov dword [esi + 0x20], 0x62656467
mov ecx, dword [esi + 0xa4]
mov byte [ecx + 8], 0
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov dword [esi + 0x48], 0
mov ecx, dword [esi + 0x48]
cmp ecx, 0xc
ja 0x4212b9
nop
nop
nop
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, 0xee
sub edx, ecx
add ecx, 0x9c90311
xor edx, ecx
and edx, edi
xor edx, ecx
mov dword [esi + 4], edx
mov ecx, dword [esi + 4]
add cl, 0x89
mov edx, dword [esi + 0x48]
mov byte [esi + edx + 0x20], cl
inc dword [esi + 0x48]
mov ecx, dword [esi + 0x48]
cmp ecx, 0xd
jb 0x421280
mov ecx, dword [0x44132c]
test ecx, ecx
je 0x421300
mov edx, dword [esi + 0x20]
xor edi, edi
mov ebx, dword [0x441330]
nop
nop
cmp dword [ebx + edi*8], 0xa3c1f363
je 0x4212e0
inc edi
cmp ecx, edi
jne 0x4212d0
jmp 0x421300
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x421300
push eax
push 1
push dword [0x441334]
push ecx
call fcn.00433920
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov eax, dword [case.0x41fdd7.166]
mov edi, dword [esi + 0x54]
mov ebx, dword [esi + 8]
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x43dfac]
push dword [esi + 0x1c]
call fcn.004090b0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x43dfc0]
movzx eax, bl
jmp dword [eax*4 + 0x43dfc4]
mov edx, dword [esi + 0x8c]
add edx, 4
mov eax, dword [esi + 0x10]
lea ebx, [eax + 2]
xor eax, eax
cmp edx, 0xc
setne al
mov dword [esi + 0x58], ebx
mov ecx, dword [esi + 0x78]
jmp dword [eax*4 + 0x43df3c]
mov edi, dword [esi + 0x88]
mov dword [edi], 0xb340b552
mov dword [edi + 4], 0xaf2db123
mov dword [edi + 8], 0xab38ad31
mov dword [edi + 0xc], 0xa745a98a
mov dword [edi + 0x10], 0xa335a52a
mov dword [edi + 0x14], 0x5f3fa12c
mov dword [edi + 0x18], 0x5bc75dc7
mov dword [edi + 0x1c], 0x57cc59be
mov dword [edi + 0x20], 0x53de55cd
mov dword [edi + 0x24], 0x4fc451c9
mov dword [edi + 0x28], 0x4bd24dd2
mov word [edi + 0x2c], 0x494a
mov eax, dword [esi + 0xa8]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0x30
ja 0x421425
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx edx, byte [edi + ecx]
mov ecx, 0x16
sub ecx, eax
add eax, 0x93eec2e9
xor ecx, eax
and ecx, edx
xor ecx, eax
mov dword [esi + 0x20], ecx
mov eax, dword [esi + 0x20]
add al, 0xa1
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x31
jb 0x4213f0
lea eax, [edi + 0x2c]
mov edx, edi
mov ebx, dword [esi + 0x70]
mov edi, ebx
mov ecx, 0xb
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 + 0x44]
mov eax, dword [eax]
mov edx, dword [esi + 0x68]
lea ecx, [edx + eax]
add ecx, 0x17
test ecx, ecx
jns 0x421460
mov eax, 0xffffffff
jmp 0x421469
add eax, edx
lea eax, [eax*2 + 0x2e]
mov edi, dword [esi + 0x84]
mov ebx, dword [esi + 0x58]
push eax
call fcn.004090a0
add esp, 4
mov edx, eax
mov eax, dword [esi + 0x10]
movzx ecx, word [eax]
mov dword [esi + 8], edx
mov eax, edx
test cx, cx
je 0x4214a1
mov eax, dword [esi + 8]
mov word [eax], cx
add eax, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x421490
mov word [eax], 0x5c
add eax, 2
mov edx, dword [esi + 0xc]
movzx ecx, word [edx]
test cx, cx
je 0x4214d1
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 0x4214c0
mov word [eax], 0
mov ecx, dword [esi + 0x70]
movzx ecx, word [ecx]
test cx, cx
je 0x421501
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 0x4214f0
mov word [eax], 0
mov dword [edi], 0x7b047957
mov dword [edi + 4], 0x7f0a7d1d
mov dword [edi + 8], 0x730c7119
mov dword [edi + 0xc], 0x77167516
mov word [edi + 0x10], 0x8976
mov dword [edi + 0x16], 0
mov dword [edi + 0x12], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0x19
ja 0x421585
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx edx, byte [edi + ecx]
mov ecx, 0x10
sub ecx, eax
add eax, 0xae70a6ef
xor ecx, eax
and ecx, edx
xor ecx, eax
mov dword [esi + 0x20], ecx
mov eax, dword [esi + 0x20]
add al, 0x77
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x1a
jb 0x421550
lea eax, [edi + 0x10]
mov edx, edi
mov ebx, dword [esi + 0x6c]
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
cmp dword [esi + 0x68], 0xfffffff7
jge 0x4215c0
mov eax, 0xffffffff
jmp 0x4215c6
mov eax, dword [esi + 0x50]
add eax, 0x12
mov ebx, dword [esi + 0x80]
push eax
call fcn.004090a0
add esp, 4
mov edi, eax
mov edx, dword [esi + 0xc]
movzx ecx, word [edx]
test cx, cx
je 0x421601
add edx, 2
mov eax, edi
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 0x4215f0
mov word [eax], 0
mov ecx, dword [esi + 0x6c]
movzx ecx, word [ecx]
test cx, cx
je 0x421631
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 0x421620
mov word [eax], 0
mov dword [ebx], 0x8b8485a8
mov dword [ebx + 8], 0
mov dword [ebx + 4], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0xb
ja 0x421695
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx edx, byte [ebx + ecx]
mov ecx, 0xea
sub ecx, eax
add eax, 0xdac17a15
xor ecx, eax
and ecx, edx
xor ecx, eax
mov dword [esi + 0x20], ecx
mov eax, dword [esi + 0x20]
add al, 0x6d
mov ecx, dword [esi + 4]
mov byte [ebx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0xc
jb 0x421660
push 0
push 0
push 0
push 0xc00000
push ebx
push dword [esi + 8]
push edi
push dword [ebp + 8]
call fcn.00418ee0
add esp, 0x20
mov ebx, eax
jmp dword [0x43dfcc]
push edi
call fcn.004090b0
add esp, 4
mov edi, dword [esi + 0x54]
jmp dword [0x43dfd4]
mov edi, dword [esi + 0x54]
jmp dword [0x43dfd4]
jmp dword [0x43dfe0]
mov dword [esi + 0x98], eax
push eax
call fcn.00402970
add esp, 4
mov ebx, dword [esi + 0xbc]
mov dword [ebx], 0xbe81acb7
mov dword [ebx + 4], 0x938c96b0
mov dword [ebx + 8], 0x868e86c8
mov dword [ebx + 0xc], 0x9b849e88
mov dword [ebx + 0x10], 0x86b18d89
mov word [ebx + 0x14], 0x868d
mov byte [ebx + 0x16], 0xc
mov dword [ebx + 0x17], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x1a
ja 0x421777
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edi, byte [ebx + edx]
mov edx, 0xa4
sub edx, ecx
add ecx, 0x1304335b
xor edx, ecx
and edx, edi
xor edx, ecx
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x20]
add cl, 0x83
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x1b
jb 0x421740
push ebx
push eax
call fcn.00402d20
add esp, 8
mov edx, 0xffffffff
mov ecx, 0xfffffffd
nop
nop
nop
nop
nop
add ecx, 3
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x421790
shr ecx, 2
mov edi, edx
mov dword [esi + 0x34], edx
movzx edx, byte [eax + edx - 1]
cmp edx, 0x3d
je 0x4217b4
cmp edx, 0x2e
jne 0x4217b5
dec ecx
mov edx, dword [esi + 0x34]
movzx edx, byte [eax + edx - 2]
cmp edx, 0x3d
mov dword [esi + 0x74], eax
je 0x4217ca
cmp edx, 0x2e
jne 0x4217cb
dec ecx
mov dword [esi + 0x94], ecx
lea eax, [ecx + 1]
push eax
call fcn.004090a0
add esp, 4
mov dword [esi + 0x4c], eax
cmp dword [esi + 0x34], 0
je 0x4218d7
mov dword [esi + 8], 0
mov ebx, 2
jmp 0x421813
mov edi, dword [esi + 0x18]
nop
nop
nop
nop
nop
lea eax, [ebx + 4]
add ebx, 2
mov dword [esi + 8], edi
cmp ebx, edx
mov ebx, eax
jae 0x4218d7
mov edi, dword [esi + 0x74]
movzx eax, byte [edi + ebx - 2]
push eax
call fcn.00416920
add esp, 4
mov byte [esi + 0x18], al
movzx eax, byte [edi + ebx - 1]
push eax
call fcn.00416920
mov edx, dword [esi + 0x34]
add esp, 4
movzx ecx, byte [esi + 0x18]
shl cl, 2
mov byte [esi + 0x18], al
shr al, 4
and al, 3
or al, cl
mov ecx, dword [esi + 0x4c]
mov edi, dword [esi + 8]
mov byte [ecx + edi], al
inc edi
cmp ebx, edx
jae 0x421800
mov eax, dword [esi + 0x74]
movzx eax, byte [eax + ebx]
push eax
call fcn.00416920
mov edx, dword [esi + 0x34]
add esp, 4
cmp al, 0x40
je 0x421800
movzx ecx, byte [esi + 0x18]
shl cl, 4
mov byte [esi + 0x3f], al
shr al, 2
and al, 0xf
or al, cl
mov ecx, dword [esi + 8]
add ecx, 2
mov dword [esi + 0x18], ecx
mov ecx, dword [esi + 0x4c]
mov edi, dword [esi + 8]
mov byte [ecx + edi + 1], al
lea eax, [ebx + 1]
cmp eax, edx
jae 0x4217f8
mov eax, dword [esi + 0x74]
movzx eax, byte [eax + ebx + 1]
push eax
call fcn.00416920
mov edx, dword [esi + 0x34]
add esp, 4
cmp al, 0x40
movzx ecx, byte [esi + 0x3f]
mov edi, dword [esi + 0x18]
je 0x421800
shl cl, 6
add al, cl
mov ecx, dword [esi + 0x4c]
mov edi, dword [esi + 8]
mov byte [ecx + edi + 2], al
add edi, 3
jmp 0x421800
mov eax, dword [esi + 0x94]
add eax, 0xfffffffb
mov edi, dword [esi + 0xb8]
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 [0x441338]
call fcn.00435170
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 + 0x43df7c]
mov dword [esi + 8], 0
mov ebx, dword [esi + 0x14]
jmp dword [0x43df8c]
mov edi, dword [esi + 0xb4]
mov dword [edi], 0x2b862dff
mov dword [edi + 4], 0x17c429b8
mov dword [edi + 8], 0x138a1588
mov dword [edi + 0xc], 0x1f1e118c
mov byte [edi + 0x10], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0x10
mov ebx, dword [esi + 0x14]
ja 0x4219b5
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx edx, byte [edi + ecx]
mov ecx, 0xa5
sub ecx, eax
add eax, 0x8601e85a
xor ecx, eax
and ecx, edx
xor ecx, eax
mov dword [esi + 0x20], ecx
mov eax, dword [esi + 0x20]
add al, 0x8a
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x11
jb 0x421980
lea eax, [edi + 0x10]
mov dword [esi + 8], eax
mov edx, edi
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 + 8]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
cmp dword [esi + 0x68], 0xfffffff8
jge 0x4219e7
mov eax, 0xffffffff
jmp 0x4219ed
mov eax, dword [esi + 0x50]
add eax, 0x10
push eax
call fcn.004090a0
add esp, 4
mov edi, eax
mov eax, dword [esi + 0xc]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
je 0x421a21
mov eax, dword [esi + 0xc]
lea edx, [eax + 2]
mov eax, edi
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x421a10
mov word [eax], 0
mov ecx, dword [esi + 0x60]
movzx ecx, word [ecx]
test cx, cx
je 0x421a51
mov edx, dword [esi + 0x90]
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 0x421a40
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.00409b50
mov dword [esi + 8], eax
jmp dword [0x43df84]
push edi
call fcn.004090b0
add esp, 4
push 0xaa39f1ac
push dword [0x441320]
call fcn.00435170
add esp, 8
mov ecx, dword [esi + 0x64]
push dword [ecx + 4]
call eax
jmp dword [0x43df8c]
push dword [esi + 0x4c]
call fcn.004090b0
add esp, 4
push dword [esi + 0x98]
call fcn.00402f10
add esp, 4
jmp dword [0x43df94]
push dword [esi + 8]
call fcn.004090b0
add esp, 4
push dword [esi + 8]
call fcn.004090b0
add esp, 4
jmp dword [0x43dfe8]
mov eax, dword [esi + 0x5c]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, dword [esi + 0x10]
jmp dword [0x43df44]
jmp dword [0x43dffc]
push edi
call fcn.004090b0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push edi
call fcn.004090b0
add esp, 4
jmp dword [0x43e004]
xor edx, edx
mov eax, dword [esi + 0x6c]
add eax, 2
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 0x70]
add eax, 2
mov dword [esi + 0x9c], eax
xor eax, eax
mov dword [esi + 0x5c], 0
cmp edx, 0xc
setne al
mov edx, dword [esi + 0x10]
lea ebx, [edx + 2]
mov edx, dword [esi + 0x60]
lea edx, [edx + 2]
mov dword [esi + 0x90], edx
mov edx, dword [esi + 0x40]
lea edx, [edx + 2]
mov dword [esi + 0xac], edx
mov edx, dword [esi + 0x88]
add edx, 0x2e
mov dword [esi + 0xa8], edx
lea edx, [esi + 0x24]
mov dword [esi + 0xa4], edx
mov edi, dword [esi + 0x54]
lea edx, [edi + 0x1a]
mov dword [esi + 0xb0], edx
xor edx, edx
mov dword [esi + 0x58], ebx
jmp dword [eax*4 + 0x43df3c]
push eax
sub esp, 0x10
mov dword [esi + 8], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
push eax
mov dword [esi + 0x38], esp
sub esp, 0x10
mov dword [esi + 0x1c], esp
sub esp, 0x18
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
sub esp, 0x18
mov dword [esi + 0x40], esp
sub esp, 0x28
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x10], ecx
mov esp, ecx
push eax
sub esp, 0x14
mov dword [esi + 0x14], esp
sub esp, 0x20
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
mov esp, ecx
mov dword [eax], 0x8b53954d
mov dword [eax + 4], 0x8f18891a
mov dword [eax + 8], 0x832b8d4a
mov dword [eax + 0xc], 0x87278116
mov dword [eax + 0x10], 0x7b84855d
lea ecx, [eax + 0x14]
mov dword [esi + 0xc], ecx
mov dword [eax + 0x14], 0
mov byte [eax + 0x18], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x18
ja 0x421c67
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edi, dword [esi + 4]
movzx edi, byte [eax + edi]
mov edx, 0x92
sub edx, ecx
add ecx, 0xa8fc8e6d
xor edx, ecx
and edx, edi
xor edx, ecx
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x20]
add cl, 5
mov edx, dword [esi + 4]
mov byte [eax + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x19
jb 0x421c30
mov edx, dword [esi + 8]
mov edi, edx
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, edx
add edi, 0x14
xor ecx, ecx
mov eax, dword [esi + 0xc]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [esi + 0x38]
push edi
push 0
push 0
push 9
push edx
push 0
call dword [0x441328]
mov edi, dword [edi]
lea eax, [edi + edi]
test edi, edi
jns 0x421ca5
mov eax, 0xffffffff
push eax
call fcn.004090a0
add esp, 4
push dword [esi + 0x38]
push edi
push eax
push 9
push dword [esi + 8]
push 0
call dword [0x441328]
mov dword [ebx], 0x33cb31f4
mov dword [ebx + 4], 0x37d535c7
mov dword [ebx + 8], 0xcb38c937
mov dword [ebx + 0xc], 0xcfcecd28
lea eax, [ebx + 0x10]
mov dword [ebx + 0x10], 0
mov word [ebx + 0x14], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x15
ja 0x421d37
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [ebx + edx]
mov edi, 0x87
sub edi, ecx
add ecx, 0xe5795678
xor edi, ecx
and edi, edx
xor edi, ecx
mov dword [esi + 0x20], edi
mov ecx, dword [esi + 0x20]
add cl, 0xb8
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x16
jb 0x421d00
mov edx, dword [esi + 0x1c]
mov edi, edx
mov ecx, 4
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
add edx, 0x10
mov edi, edx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ebx, dword [esi + 0x10]
mov dword [ebx], 0xf35b8dc8
mov dword [ebx + 4], 0xf751f167
mov dword [ebx + 8], 0xfb6cf567
mov dword [ebx + 0xc], 0xffb9f95c
mov dword [ebx + 0x10], 0xe370fd5d
mov dword [ebx + 0x14], 0xe770e141
mov dword [ebx + 0x18], 0xebeae57d
lea eax, [ebx + 0x1c]
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x20], 0
mov byte [ebx + 0x24], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x24
ja 0x421de7
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [ebx + edx]
mov edi, 0xc1
sub edi, ecx
add ecx, 0xf1638b3e
xor edi, ecx
and edi, edx
xor edi, ecx
mov dword [esi + 0x20], edi
mov ecx, dword [esi + 0x20]
add cl, 0x4e
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x25
jb 0x421db0
mov edx, dword [esi + 0x40]
mov edi, edx
mov ecx, 7
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
add edx, 0x1c
mov edi, edx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ebx, dword [esi + 0x44]
mov dword [ebx], 0xc36bc184
mov dword [ebx + 4], 0xc765c577
mov dword [ebx + 8], 0xcb78c967
mov dword [ebx + 0xc], 0xcf9ecd68
mov dword [ebx + 0x10], 0xd390d184
lea eax, [ebx + 0x14]
mov word [ebx + 0x14], 0xd5d4
mov dword [ebx + 0x16], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x19
ja 0x421e87
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [ebx + edx]
mov edi, 0x1f
sub edi, ecx
add ecx, 0xa1439ae0
xor edi, ecx
and edi, edx
xor edi, ecx
mov dword [esi + 0x20], edi
mov ecx, dword [esi + 0x20]
add cl, 0xe0
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x1a
jb 0x421e50
mov ecx, 5
mov edx, dword [esi + 0x14]
mov edi, edx
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
add edx, 0x14
mov edi, edx
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
push eax
sub esp, 0x10
mov dword [esi + 0xc], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
push eax
mov dword [esi + 0x44], esp
sub esp, 0x10
mov dword [esi + 0x1c], esp
sub esp, 0x18
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
sub esp, 0x18
mov dword [esi + 0x18], esp
sub esp, 0x28
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x34], ecx
mov esp, ecx
push eax
sub esp, 0x14
mov dword [esi + 0x50], esp
sub esp, 0x20
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 8], ecx
mov esp, ecx
push eax
sub esp, 8
mov dword [esi + 0x78], esp
sub esp, 0x1c
mov dword [esi + 0x40], esp
sub esp, 0x28
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x54], ecx
mov esp, ecx
push eax
mov dword [esi + 0x14], esp
push eax
mov dword [esi + 0x38], esp
sub esp, 0x20
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0xbc], ecx
mov esp, ecx
push eax
push eax
mov dword [esi + 0xb8], esp
sub esp, 8
mov dword [esi + 0x64], esp
sub esp, 0x10
mov dword [esi + 0x60], esp
sub esp, 0x18
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0xb4], ecx
mov esp, ecx
push eax
sub esp, 0x2c
mov dword [esi + 0x70], esp
sub esp, 0x38
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x88], ecx
mov esp, ecx
push eax
sub esp, 0x10
mov dword [esi + 0x6c], esp
sub esp, 0x20
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x84], ecx
mov esp, ecx
push eax
sub esp, 0xc
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
mov dword [eax], 0x8b53954d
mov dword [eax + 4], 0x8f18891a
mov dword [eax + 8], 0x832b8d4a
mov dword [eax + 0xc], 0x87278116
mov dword [eax + 0x10], 0x7b84855d
lea ecx, [eax + 0x14]
mov dword [esi + 0x10], ecx
mov dword [eax + 0x14], 0
mov byte [eax + 0x18], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x18
ja 0x422007
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edi, dword [esi + 4]
movzx edi, byte [eax + edi]
mov edx, 0x92
sub edx, ecx
add ecx, 0xa8fc8e6d
xor edx, ecx
and edx, edi
xor edx, ecx
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x20]
add cl, 5
mov edx, dword [esi + 4]
mov byte [eax + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x19
jb 0x421fd0
mov edx, dword [esi + 0xc]
mov edi, edx
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, edx
add edi, 0x14
xor ecx, ecx
mov eax, dword [esi + 0x10]
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 9
push edx
push 0
call dword [0x441328]
mov edi, dword [edi]
lea eax, [edi + edi]
test edi, edi
jns 0x422045
mov eax, 0xffffffff
push eax
call fcn.004090a0
add esp, 4
push dword [esi + 0x44]
push edi
mov dword [esi + 0x10], eax
push eax
push 9
push dword [esi + 0xc]
push 0
call dword [0x441328]
mov dword [ebx], 0x33cb31f4
mov dword [ebx + 4], 0x37d535c7
mov dword [ebx + 8], 0xcb38c937
mov dword [ebx + 0xc], 0xcfcecd28
lea eax, [ebx + 0x10]
mov dword [ebx + 0x10], 0
mov word [ebx + 0x14], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x15
ja 0x4220d7
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [ebx + edx]
mov edi, 0x87
sub edi, ecx
add ecx, 0xe5795678
xor edi, ecx
and edi, edx
xor edi, ecx
mov dword [esi + 0x20], edi
mov ecx, dword [esi + 0x20]
add cl, 0xb8
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x16
jb 0x4220a0
mov edx, dword [esi + 0x1c]
mov edi, edx
mov ecx, 4
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
add edx, 0x10
mov edi, edx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ebx, dword [esi + 0x34]
mov dword [ebx], 0xf35b8dc8
mov dword [ebx + 4], 0xf751f167
mov dword [ebx + 8], 0xfb6cf567
mov dword [ebx + 0xc], 0xffb9f95c
mov dword [ebx + 0x10], 0xe370fd5d
mov dword [ebx + 0x14], 0xe770e141
mov dword [ebx + 0x18], 0xebeae57d
lea eax, [ebx + 0x1c]
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x20], 0
mov byte [ebx + 0x24], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x24
ja 0x422187
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [ebx + edx]
mov edi, 0xc1
sub edi, ecx
add ecx, 0xf1638b3e
xor edi, ecx
and edi, edx
xor edi, ecx
mov dword [esi + 0x20], edi
mov ecx, dword [esi + 0x20]
add cl, 0x4e
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x25
jb 0x422150
mov edx, ebx
mov ebx, dword [esi + 0x18]
mov edi, ebx
mov ecx, 7
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edi, ebx
add edi, 0x1c
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [esi + 8]
mov dword [edi], 0xc36bc184
mov dword [edi + 4], 0xc765c577
mov dword [edi + 8], 0xcb78c967
mov dword [edi + 0xc], 0xcf9ecd68
mov dword [edi + 0x10], 0xd390d184
lea eax, [edi + 0x14]
mov dword [esi + 0xc], eax
mov word [edi + 0x14], 0xd5d4
mov dword [edi + 0x16], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x19
ja 0x42222a
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [edi + edx]
mov edi, 0x1f
sub edi, ecx
add ecx, 0xa1439ae0
xor edi, ecx
and edi, edx
xor edi, ecx
mov dword [esi + 0x20], edi
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0x20]
add cl, 0xe0
mov edx, dword [esi + 4]
mov byte [edi + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x1a
jb 0x4221f0
mov edx, dword [esi + 0x50]
mov eax, edi
mov edi, edx
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, edx
add edi, 0x14
mov ecx, 1
mov eax, dword [esi + 0xc]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0x1c]
mov dword [ecx], eax
mov dword [ecx + 4], ebx
mov dword [ecx + 8], edx
jmp dword [0x43df38]
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov eax, dword [esp + 0x28]
mov byte [esp + 2], 0
mov byte [esp + 3], 0
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov byte [esp + 0x10], 0
cmp byte [eax], 0
je 0x422455
mov esi, ecx
mov dword [esp + 4], 0
lea edi, [esp + 3]
lea ebx, [esp + 2]
jmp 0x4222c3
mov dword [esp + 4], ebp
xor esi, esi
mov eax, dword [esp + 0x28]
cmp byte [eax], 0
je 0x422455
lea ecx, [esp + 8]
push edi
push ebx
call fcn.00422910
test eax, eax
je 0x422455
mov ebp, eax
cmp byte [esp + 2], 0
jne 0x4222e9
cmp byte [ebp], 0
je 0x422455
test esi, esi
je 0x422360
xor ebx, ebx
nop
cmp byte [ebp + ebx], 0
lea ebx, [ebx + 1]
jne 0x4222f0
push ebx
call fcn.004090a0
add esp, 4
mov dword [esi], eax
mov ecx, ebx
shr ecx, 2
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, ebx
xor ecx, 3
mov edx, ebx
or edx, 0xfffffffc
and edx, ecx
add eax, edx
add ebp, edx
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov ecx, ebx
inc cl
test cl, 1
jne 0x42234a
and ebx, 2
movzx ecx, byte [ebp + ebx]
mov byte [eax + ebx], cl
mov ebp, esi
lea edi, [esp + 3]
jmp 0x42240b
push 0x20
call fcn.004090a0
add esp, 4
mov esi, eax
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebp + ebx], 0
lea ebx, [ebx + 1]
jne 0x4223a0
push ebx
call fcn.004090a0
add esp, 4
mov dword [esi], eax
mov ecx, ebx
shr ecx, 2
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, ebx
xor ecx, 3
mov edx, ebx
or edx, 0xfffffffc
and edx, ecx
add eax, edx
add ebp, edx
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov ecx, ebx
inc cl
test cl, 1
jne 0x4223fa
and ebx, 2
movzx ecx, byte [ebp + ebx]
mov byte [eax + ebx], cl
mov eax, dword [esp + 4]
test eax, eax
lea edi, [esp + 3]
je 0x422409
mov dword [eax + 4], esi
mov ebp, esi
lea ebx, [esp + 2]
lea esi, [esp + 8]
mov ecx, esi
push edi
push ebx
call fcn.00422910
cmp byte [esp + 3], 0
je 0x42242c
mov ecx, esi
push edi
push ebx
call fcn.00422910
test eax, eax
je 0x4222b0
cmp byte [eax], 0x7b
jne 0x4222b0
cmp byte [esp + 2], 0
jne 0x4222b0
mov ecx, ebp
push esi
call fcn.00422b80
jmp 0x4222b0
mov al, 1
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret 8
std
inc ecx
add al, ah
std
inc ecx
add byte [eax - 3], dh
inc ecx
add byte [ebp + edi*8 + 0x41], ah
add byte [edi - 3], bh
inc ecx
add byte [eax - 3], dh
inc ecx
add byte [edi - 0x68ffbe03], ah
std
inc ecx
add byte [eax - 0x5fffbe03], ah
std
inc ecx
add byte [edi - 0x5fffbe03], ah
std
inc ecx
add byte [eax - 7], dh
inc ecx
add byte [eax - 7], ah
inc ecx
add byte [esi], al
clc
inc ecx
add byte [eax - 7], dh
inc ecx
add byte [edi], dl
clc
inc ecx
add byte [eax - 7], dl
inc ecx
add byte [eax - 7], dl
inc ecx
add byte [eax - 7], dl
inc ecx
add byte [eax - 7], dl
inc ecx
add byte [esi - 7], dl
inc ecx
add byte [esi + edi*8 + 0x41], ch
add byte [ebp - 2], dh
inc ecx
add byte [eax - 0x57ffbe02], bl
inc byte [ecx]
xchg dword [eax], eax
inc edx
add cl, dl
inc byte [ecx]
bound eax, qword [eax]
inc edx
add byte [esi], cl
inc dword [ecx]
xor eax, 0x72004200
inc dword [ecx]
xor eax, 0x40004200
add dword [edx], eax
inc eax
add dword [edx], eax
inc eax
add dword [edx], eax
inc esi
add dword [edx], eax
inc eax
add dword [edx], eax
xor eax, 0x9a004200
add dword [edx], eax
inc edx
add byte [edi], bh
add byte [edx], al
push esi
add byte [edx], al
pushal
add byte [edx], al
pushal
add byte [edx], al
bound eax, qword [eax]
inc edx
add byte [eax], ah
inc edx
add byte [eax], dh
inc edx
add byte [eax], dh
inc edx
add byte [edx], dh
inc edx
add byte [eax], dh
inc edx
add byte [eax], bh
inc edx
add byte [edi - 0x7affbe00], al
add eax, dword [edx]
scasd eax, dword es:[edi]
add eax, dword [edx]
mov al, byte [0x8b004203]
add eax, dword [edx]
scasd eax, dword es:[edi]
add eax, dword [edx]
mov al, byte [0xbf004203]
add eax, dword [edx]
and byte [0x5200042], al
inc edx
add byte [eax], ah
add eax, 0x5260042
inc edx
add byte [eax], ah
add eax, 0x56f0042
inc edx
add byte [ebp - 0x35ffbdfb], al
or al, 0x42
add byte [esi - 0x4affbdfb], bh
or al, 0x42
add byte [edi], al
push es
inc edx
add byte [eax - 0x7effbdf9], al
push es
inc edx
add byte [eax + 7], ah
inc edx
add byte [eax + 7], ah
inc edx
add byte [edx + 7], ah
inc edx
add byte [eax + 7], ah
inc edx
add byte [eax - 0x4cffbdf9], al
pop es
inc edx
add byte [eax - 0x16ffbdf9], al
pop es
inc edx
add dh, dl
pop es
inc edx
add byte [edi], cl
or byte [edx], al
inc ebx
or dword [edx], eax
xchg byte [eax], cl
inc edx
add byte [eax + 8], dh
inc edx
add dh, bl
or byte [edx], al
aad 9
inc edx
add byte [eax - 0x5effbdf7], al
or dword [edx], eax
mov al, 9
inc edx
add ch, dl
or dword [edx], eax
ror byte [ecx], 0x42
add al, al
or dword [edx], eax
ror byte [ecx], 0x42
add dl, al
or dword [edx], eax
ror byte [ecx], 0x42
add bh, ah
or dword [edx], eax
cmc
or dword [edx], eax
or byte [edx], 0x42
add byte [esi - 1811922422], al
or al, byte [edx]
invalid