Function at 0x423de0
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], 0x3760173
mov dword [esp + 0x64], 0x7670561
mov dword [esp + 0x68], 0xb240965
mov dword [esp + 0x6c], 0xf760d69
mov dword [esp + 0x70], 0x13121175
mov dword [esp + 0x74], 0
mov word [esp + 0x78], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0x19
ja 0x423ea5
nop
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx esi, byte [esp + ecx + 0x60]
lea ecx, [eax + 0xd491c00]
mov edx, eax
and edx, esi
xor ecx, esi
mov edi, esi
not edi
or edi, eax
mov ebx, 0xf2b6e3ff
sub ebx, eax
or ebx, esi
add eax, esi
add eax, ebx
add eax, edi
sub ecx, eax
lea eax, [ecx + edx*2]
add eax, 0xf2b6e3fe
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x60], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x1a
jb 0x423e50
lea eax, [esp + 0x60]
lea ecx, [esp + 0x4c]
push eax
call fcn.00438da0
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x445780]
lea ecx, [esp + 0x4c]
push 0x410
call fcn.00439010
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x445788]
xor ebx, ebx
jmp dword [0x44579c]
mov dword [esp + 0x60], 0xf22be4f1
mov dword [esp + 0x64], 0xecf211f4
mov dword [esp + 0x68], 0xf8f1f31d
mov dword [esp + 0x6c], 0xf70ef619
mov dword [esp + 0x70], 0x14e3e2f6
mov dword [esp + 0x74], 0xfe0e6e1
mov dword [esp + 0x78], 0xa0dee0a
mov dword [esp + 0x7c], 0x16cf08e3
mov dword [esp + 0x80], 0xf6e4e6e2
mov dword [esp + 0x84], 0x1efbd9e5
mov dword [esp + 0x88], 0x83d2fdfd
mov dword [esp + 0x8c], 0
mov dword [esp + 0x8f], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0x32
ja 0x423fb5
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0x60]
lea edx, [eax + 0xf2]
mov esi, ecx
not esi
or esi, edx
and edx, ecx
add edx, esi
neg edx
add eax, edx
add eax, 0x286356f1
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
add al, 0x62
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x60], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x33
jb case.default.0x423fdd
lea eax, [esp + 0x10]
lea ecx, [esp + 0x4c]
push 0
push 0x2b
lea edx, [esp + 0x68]
push edx
push eax
call fcn.004395d0
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
xor eax, eax
cmp esi, edi
sete al
xor ebx, ebx
jmp dword [eax*4 + 0x4457a0]
mov eax, edi
not eax
and eax, esi
mov ecx, esi
not ecx
and ecx, edi
sub ecx, eax
sar ecx, 2
imul eax, ecx, 0x421
push eax
call fcn.00409270
add esp, 4
mov ecx, dword [case.0x423fdd.5]
nop
nop
nop
nop
nop
nop
jmp ecx
jmp dword [0x4457c4]
mov dword [esp + 0x48], 0
lea ecx, [esp + 0x61]
mov dword [esp + 0x58], ecx
xor ecx, ecx
cmp esi, edi
setne cl
mov dword [esp + 0x44], eax
mov dword [esp + 0x24], eax
lea ebx, [esp + 0x60]
mov dword [esp + 0x40], edi
jmp dword [ecx*4 + 0x4457c8]
add esi, 4
xor eax, eax
mov edi, dword [esp + 0x40]
cmp esi, edi
setne al
lea ebx, [esp + 0x60]
jmp dword [eax*4 + 0x4457c8]
jmp dword [0x4457d4]
mov edi, dword [esi]
lea eax, [esp + 0x60]
push 0x400
push 0
push eax
call fcn.00409420
add esp, 0xc
lea eax, [esp + 0x30]
lea ecx, [esp + 0x4c]
push eax
push 0x400
lea eax, [esp + 0x68]
push eax
push edi
call fcn.00439460
nop
nop
mov edi, esi
mov esi, dword [esi]
push 0x400
push 0
push ebx
call fcn.00409420
add esp, 0xc
lea eax, [esp + 0x30]
lea ecx, [esp + 0x4c]
push eax
push 0x400
push ebx
push esi
mov esi, edi
call fcn.00439460
jmp dword [0x4457dc]
xor ecx, ecx
cmp eax, 0xc0000000
setae cl
xor eax, eax
jmp dword [ecx*4 + 0x4457e0]
xor ecx, ecx
cmp dword [esp + 0x30], 0
sete cl
jmp dword [ecx*4 + 0x4457e8]
mov eax, 1
jmp dword [0x4457f8]
mov ecx, dword [case.0x423fdd.27]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
jmp dword [eax*4 + 0x445810]
mov byte [esp + 0x45f], 0
movzx ecx, byte [esp + 0x60]
xor eax, eax
test cl, cl
je 0x424162
lea edx, [esp + 0x60]
cmp cl, 0x2e
je 0x424160
movzx ecx, byte [edx + 1]
inc edx
test cl, cl
jne 0x424150
jmp 0x424162
mov eax, edx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x445818]
lea edx, [eax + 1]
movzx ecx, byte [edx]
test cl, cl
je 0x424190
mov ebx, edx
nop
nop
nop
nop
cmp cl, 0x2e
je 0x424194
movzx ecx, byte [edx + 1]
inc edx
test cl, cl
jne 0x424180
jmp 0x424192
mov ebx, edx
xor edx, edx
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x445820]
mov esi, ebx
mov ecx, ebx
not ecx
and ecx, edx
mov dword [esp + 0x1c], ecx
lea ebx, [ecx + ecx]
mov dword [esp + 0x20], edx
mov dword [esp + 8], esi
xor edx, esi
sub ebx, edx
mov edx, ebx
and edx, 0xfffffffc
mov esi, ebx
and esi, 3
mov ecx, ebx
or ecx, 3
imul ecx, esi
xor esi, 3
imul esi, edx
add ecx, esi
shr ecx, 2
cmp byte [eax + ebx], 0x3d
jne 0x4241e5
lea eax, [ebx + ebx]
jmp 0x4241ff
mov edx, ebx
xor edx, 0xfffffffe
lea eax, [ebx + ebx]
mov esi, eax
and esi, 0xfffffffc
add esi, edx
mov edx, dword [esp + 8]
cmp byte [edx + esi + 1], 0x2e
jne 0x424200
dec ecx
mov edx, ebx
xor edx, 0xfffffffd
and eax, 0xfffffffa
add eax, edx
mov edx, dword [esp + 8]
cmp byte [edx + eax + 1], 0x3d
je 0x42421c
cmp byte [ebx + edx - 2], 0x2e
jne 0x42421d
dec ecx
mov eax, dword [case.0x424169.6]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [esp + 0x5c], ecx
lea eax, [ecx + 1]
push eax
call fcn.00409270
add esp, 4
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x20]
not eax
and eax, dword [esp + 8]
mov ecx, dword [esp + 0x1c]
sub ecx, eax
jne 0x42428a
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x28]
mov byte [esi + eax], 0
push esi
call fcn.00401e70
add esp, 4
mov ebx, eax
jmp dword [0x445838]
push esi
call fcn.00409280
add esp, 4
mov esi, edi
mov edi, dword [esp + 0x40]
jmp dword [0x445844]
xor edx, edx
mov esi, 2
mov dword [esp + 0x1c], ecx
jmp 0x4242ac
mov edx, dword [esp + 0x2c]
nop
nop
nop
nop
nop
lea eax, [esi + 4]
add esi, 2
cmp esi, ecx
mov esi, eax
jae 0x424258
mov dword [esp + 0x20], edx
mov ebx, dword [esp + 8]
movzx eax, byte [ebx + esi - 2]
push eax
call fcn.00419f30
add esp, 4
mov byte [esp + 0x2c], al
movzx eax, byte [ebx + esi - 1]
push eax
call fcn.00419f30
add esp, 4
mov byte [esp + 7], al
movzx eax, al
mov ecx, eax
not ecx
or ecx, 0x30
add eax, ecx
inc eax
movzx ecx, byte [esp + 0x2c]
shr eax, 4
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
mov byte [edx + ebx], al
lea edx, [ebx + 1]
cmp esi, ecx
jae 0x4242a0
mov eax, dword [esp + 8]
movzx eax, byte [eax + esi]
push eax
mov ebx, edx
call fcn.00419f30
mov edx, ebx
mov ecx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
je 0x4242a0
movzx edx, byte [esp + 7]
shl dl, 4
mov ah, al
shr ah, 2
and ah, 0xf
or ah, dl
mov ebx, dword [esp + 0x20]
lea edx, [ebx + 2]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x28]
mov byte [edx + ebx + 1], ah
mov ebx, eax
lea eax, [esi + 1]
cmp eax, ecx
jae 0x424297
mov eax, dword [esp + 8]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00419f30
mov ecx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
mov edx, dword [esp + 0x2c]
je 0x4242a0
shl bl, 6
add al, bl
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
mov byte [edx + ebx + 2], al
add ebx, 3
mov edx, ebx
jmp 0x4242a0
mov esi, edi
mov edi, dword [esp + 0x40]
jmp dword [0x445844]
mov edx, dword [esp + 0x24]
movzx eax, byte [esp + 0x60]
test al, al
je 0x4243cb
mov ecx, dword [esp + 0x58]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4243c0
mov byte [edx], 0xa
inc edx
mov dword [esp + 0x24], edx
mov al, 1
mov dword [esp + 0x48], eax
jmp case.0x424169.14
mov dword [esp + 0x30], 0x3607473
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov byte [esp + 0x3c], 0
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 0xc
ja 0x42444c
nop
nop
nop
nop
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx edx, byte [esp + edx + 0x30]
add ecx, 0xc080
xor ecx, edx
mov dword [esp], ecx
mov ecx, dword [esp]
mov edx, ecx
or edx, 0x7f
and ecx, 0x7f
add ecx, edx
inc cl
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x30], cl
inc dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp ecx, 0xd
jb 0x424410
lea ecx, [esp + 0x30]
push ecx
push eax
call fcn.004026a0
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x445858]
movzx ecx, byte [eax]
test cl, cl
mov edx, dword [esp + 0x24]
je 0x42448b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x424480
mov word [edx], 0x203a
add edx, 2
jmp 0x4243a6
push ebx
call fcn.00402900
add esp, 4
push ebx
call fcn.00402900
add esp, 4
jmp dword [0x445848]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x445850]
push ebx
call fcn.00402ed0
add esp, 4
add esi, 4
xor eax, eax
cmp esi, edi
setne al
lea ebx, [esp + 0x60]
jmp dword [eax*4 + 0x4457c8]
mov eax, dword [esp + 0x48]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x445870]
mov esi, dword [esp + 0x44]
jmp dword [0x445878]
mov edi, dword [esp + 0x24]
mov byte [edi], 0
mov esi, dword [esp + 0x44]
sub edi, esi
mov dword [esp + 0x60], 0x47545561
mov dword [esp + 0x64], 0x5b4f4c45
mov dword [esp + 0x68], 0x465e5c41
mov dword [esp + 0x6c], 0x5c446483
mov dword [esp + 0x70], 0x6f854651
mov dword [esp + 0x74], 0x4d53544b
mov dword [esp + 0x78], 0xbb488f4b
mov dword [esp + 0x7c], 0x41b6
mov byte [esp + 0x80], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x20
ja 0x4245a1
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x60]
lea edx, [eax - 0x5406819b]
add eax, 0x65
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x30]
mov ecx, eax
xor ecx, 0x3c
and eax, 0x3c
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esp]
mov byte [esp + ecx + 0x60], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x21
jb 0x424560
lea eax, [esp + 0x60]
mov ecx, dword [ebp + 8]
push edi
push esi
push eax
call fcn.00409cd0
jmp dword [0x445878]
push esi
mov esi, eax
call fcn.00409280
mov eax, esi
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, eax
and bl, 1
jmp dword [0x44588c]
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x423eb8.1
cmp eax, dword [esp + 0x14]
je case.0x423eb8.1
push eax
call fcn.00409280
add esp, 4
lea ecx, [esp + 0x4c]
call fcn.00439150
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
jmp dword [0x4458ac]
mov dword [ebx], 0x73a46db0
mov dword [ebx + 4], 0x77bd71b5
mov dword [ebx + 8], 0x7bad75bd
mov dword [ebx + 0xc], 0x7fa879ac
mov dword [ebx + 0x10], 0x3de7da5
mov dword [ebx + 0x14], 0x7c701cd
mov dword [ebx + 0x18], 0xbc205c3
mov dword [ebx + 0x1c], 0xfdc09c1
mov dword [ebx + 0x20], 0x13ce0dc9
mov dword [ebx + 0x24], 0x17c511c7
mov dword [ebx + 0x28], 0x1bce15de
mov dword [ebx + 0x2c], 0x1fdf19c3
mov dword [ebx + 0x30], 0x23e71dca
mov dword [ebx + 0x34], 0x27fc21fc
mov dword [ebx + 0x38], 0x2bc625c5
mov dword [ebx + 0x3c], 0x2fcb29d2
mov dword [ebx + 0x40], 0x33e52df0
mov dword [ebx + 0x44], 0x37d331c4
mov dword [ebx + 0x48], 0x3bd735d5
mov word [ebx + 0x4c], 0x3938
mov dword [ebx + 0x4e], 0
mov dword [esi], 0
mov eax, dword [esi]
cmp eax, 0x51
ja 0x42482f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi]
mov ecx, dword [esi]
movzx edi, byte [ebx + ecx]
lea ecx, [eax - 0x4e650ad2]
add eax, 0x2e
or eax, ecx
and eax, edi
or ecx, edi
sub ecx, eax
mov dword [esi + 0x18], ecx
mov eax, dword [esi + 0x18]
add al, 0xbe
mov ecx, dword [esi]
mov byte [ebx + ecx], al
inc dword [esi]
mov eax, dword [esi]
cmp eax, 0x52
jb 0x424800
push 0
push 0
push edx
push dword [esi + 0xc]
push ebx
call fcn.0043da70
add esp, 0x14
jmp case.0x424169.37
mov ecx, dword [esi + 4]
add eax, ecx
add eax, 0x2001a
push 0
push 0
push eax
push dword [esi + 0xc]
push ebx
call fcn.0043da70
add esp, 0x14
jmp dword [0x4458b4]
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov ecx, eax
or ecx, 0xfffdffe6
mov dword [esi + 4], ecx
xor eax, 0x20019
mov dword [ebx], 0x73a46db0
mov dword [ebx + 4], 0x77bd71b5
mov dword [ebx + 8], 0x7bad75bd
mov dword [ebx + 0xc], 0x7fa879ac
mov dword [ebx + 0x10], 0x3de7da5
mov dword [ebx + 0x14], 0x7c701cd
mov dword [ebx + 0x18], 0xbc205c3
mov dword [ebx + 0x1c], 0xfdc09c1
mov dword [ebx + 0x20], 0x13ce0dc9
mov dword [ebx + 0x24], 0x17c511c7
mov dword [ebx + 0x28], 0x1bce15de
mov dword [ebx + 0x2c], 0x1fdf19c3
mov dword [ebx + 0x30], 0x23e71dca
mov dword [ebx + 0x34], 0x27fc21fc
mov dword [ebx + 0x38], 0x2bc625c5
mov dword [ebx + 0x3c], 0x2fcb29d2
mov dword [ebx + 0x40], 0x33e52df0
mov dword [ebx + 0x44], 0x37d331c4
mov dword [ebx + 0x48], 0x3bd735d5
mov word [ebx + 0x4c], 0x3938
mov dword [ebx + 0x4e], 0
mov dword [esi], 0
mov edx, dword [esi]
cmp edx, 0x51
ja 0x424850
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esi]
mov edi, dword [esi]
movzx ecx, byte [ebx + edi]
lea edi, [edx - 0x4e650ad2]
add edx, 0x2e
or edx, edi
and edx, ecx
or edi, ecx
sub edi, edx
mov dword [esi + 0x18], edi
mov ecx, dword [esi + 0x18]
add cl, 0xbe
mov edx, dword [esi]
mov byte [ebx + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0x52
jb 0x424930
jmp 0x424850
shr eax, 0x1f
jmp dword [eax*4 + 0x4458b8]
mov edi, dword [esi + 0xc]
push dword [esi + 0x30]
push dword [esi + 0x74]
push 0
push 0
push 0
push 0
push 0
push 0
push dword [edi]
call fcn.0043dec0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4458c0]
mov eax, dword [esi + 0x30]
mov ecx, dword [eax]
lea eax, [ecx + ecx]
add eax, 2
inc ecx
jns 0x4249b8
mov eax, 0xffffffff
push eax
call fcn.00409270
add esp, 4
mov edi, dword [esi + 0x2c]
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov dword [edi], 0xdbacd991
mov dword [edi + 4], 0xe79ae597
mov dword [edi + 8], 0xe396e181
mov dword [edi + 0xc], 0xefbeed98
mov dword [edi + 0x10], 0xeb96e989
mov dword [edi + 0x14], 0xf7f6f59c
mov dword [edi + 0x18], 0
mov dword [edi + 0x1b], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0x1e
ja 0x424a4c
nop
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edx, byte [edi + edx]
mov edi, ecx
and edi, 0xec14fbdc
xor ecx, 0x6c14fbdc
lea ecx, [ecx + edi*2]
lea edi, [ecx + edx]
and ecx, edx
add ecx, ecx
sub edi, ecx
mov dword [esi + 0x18], edi
mov edi, dword [esi + 0x2c]
mov ecx, dword [esi + 0x18]
add cl, 0xfc
mov edx, dword [esi]
mov byte [edi + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0x1f
jb 0x424a10
push dword [esi + 0x30]
push eax
push 0
push edi
mov edi, dword [esi + 0xc]
push dword [edi]
call fcn.0043e5d0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x4458c8]
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x4458d0]
push eax
call fcn.00409280
add esp, 4
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov eax, dword [edi]
mov dword [esi + 4], eax
mov dword [esi + 0x18], 0x82858487
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov dword [esi + 8], 0
mov eax, dword [esi + 8]
cmp eax, 0xf
ja 0x424af6
nop
mov eax, dword [esi + 8]
mov ecx, dword [esi + 8]
movzx edx, byte [esi + ecx + 0x18]
lea ecx, [eax + 0x2c7950c1]
add eax, 0xc1
or eax, ecx
and eax, edx
or ecx, edx
sub ecx, eax
mov dword [esi], ecx
mov eax, dword [esi]
add al, 0xb9
mov ecx, dword [esi + 8]
mov byte [esi + ecx + 0x18], al
inc dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, 0x10
jb 0x424ac0
mov ecx, dword [0x449d18]
test ecx, ecx
mov edi, dword [esi + 0x64]
je case.default.0x424b80
mov eax, dword [esi + 0x18]
mov dword [esi + 0xa0], eax
xor eax, eax
mov edx, dword [0x449d1c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edx + eax*8], 0x11081610
je 0x424b42
inc eax
cmp ecx, eax
jne 0x424b20
jmp case.default.0x424b80
mov ecx, 4
mov eax, dword [case.0x424a63.15]
mov edi, dword [esi + 0x64]
jmp case.0x424a63.12
mov eax, dword [edx + eax*8 + 4]
cmp eax, dword [esi + 0xa0]
je case.default.0x424b80
push dword [esi + 4]
push 1
push dword [0x449d20]
push eax
call fcn.0043ab10
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
mov ecx, dword [esi + 0x10]
cmp dword [ecx], 0
setne al
mov ecx, 2
jmp dword [eax*4 + 0x4458d8]
push dword [esi + 0x5c]
call fcn.0043cf70
add esp, 4
movzx edx, al
xor ecx, ecx
mov eax, 1
jmp dword [edx*4 + 0x4458e0]
xor edx, edx
mov eax, dword [esi + 0x5c]
cmp dword [eax], 1
mov eax, 1
sete dl
jmp dword [edx*4 + 0x4458e8]
jmp dword [eax*4 + 0x4458f0]
xor ecx, ecx
mov eax, dword [case.0x424a63.15]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp ecx, 4
setl al
jmp dword [eax*4 + 0x445908]
sete al
movzx eax, al
jmp dword [eax*4 + 0x445910]
xor eax, eax
test ecx, ecx
sete al
jmp dword [eax*4 + 0x445918]
mov ecx, dword [esi + 0x14]
jmp dword [0x445924]
mov dword [ecx], 0x100
mov edx, 0x20119
xor eax, eax
jmp dword [0x445928]
mov dword [ecx], 0x100
mov dword [ecx], 0x100
mov edx, 0x20119
xor eax, eax
jmp dword [0x445928]
xor eax, eax
mov ecx, 2
jmp dword [eax*4 + 0x4458f0]
mov dword [esi + 0x14], ecx
mov dword [esi + 0x64], edi
jmp dword [eax*4 + 0x4458a0]
xor eax, eax
mov ebx, dword [esi + 0x10]
cmp dword [ebx], 0
sete al
jmp dword [eax*4 + 0x445930]
mov eax, dword [esi + 0x28]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov edi, dword [esi + 0x44]
mov dword [edi], 0x53fd51f2
mov dword [edi + 4], 0x5fea5de3
mov dword [edi + 8], 0x5bf359f0
mov dword [edi + 0xc], 0xa700a5f3
mov dword [edi + 0x10], 0xa311a10b
mov dword [edi + 0x14], 0xaf02ad14
mov dword [edi + 0x18], 0xab01a905
mov dword [edi + 0x1c], 0xb70ab5dc
mov dword [edi + 0x20], 0xb31eb11a
lea eax, [edi + 0x24]
mov dword [esi + 4], eax
mov word [edi + 0x24], 0xbdb2
mov dword [edi + 0x26], 0
mov dword [edi + 0x2a], 0
mov word [edi + 0x2e], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0x2f
ja 0x424d3a
nop
nop
nop
nop
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]
lea edx, [ecx + edi]
add ecx, 0xf3
and ecx, edi
mov edi, dword [esi + 0x44]
add ecx, ecx
sub edx, ecx
add edx, 0x7c0b8bf3
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x18]
add cl, 0x5b
mov edx, dword [esi]
mov byte [edi + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0x30
jb 0x424d00
mov ecx, 9
mov edx, dword [esi + 0x9c]
mov eax, edi
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [edx + 0x24]
mov ecx, 1
mov eax, dword [esi + 4]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [ebx]
mov eax, 0xfffffffe
mov ebx, dword [esi + 0x54]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edi + eax + 2], 0
lea eax, [eax + 2]
jne 0x424d70
cmp eax, 0xffffffd9
jge 0x424d8e
mov eax, 0xffffffff
jmp 0x424d91
xor eax, eax
jmp 0x42578d
add eax, 0x26
push eax
call fcn.00409270
add esp, 4
mov ecx, dword [esi + 0x58]
mov dword [ecx], eax
movzx ecx, word [edi]
test cx, cx
je 0x424dc1
lea edx, [edi + 2]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424db0
mov word [eax], 0
mov edx, dword [esi + 0x9c]
movzx ecx, word [edx]
test cx, cx
je 0x424df1
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 0x424de0
mov word [eax], 0
jmp dword [0x445938]
push edi
call fcn.00409280
add esp, 4
mov eax, dword [case.0x424a63.29]
nop
nop
nop
nop
nop
nop
jmp eax
push 0x60
push 3
push 0x120089
push ebx
mov eax, dword [esi + 0x58]
push dword [eax]
call fcn.0043d1d0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x445950]
mov ecx, dword [0x445b10]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx