Function at 0x424460
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x160
mov dword [esp + 0x10], 0x73336d49
mov dword [esp + 0x14], 0x77067100
mov dword [esp + 0x18], 0x7b1b7530
mov dword [esp + 0x1c], 0x7f1f790c
mov dword [esp + 0x20], 0x83827d59
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0
mov byte [esp + 0x28], 0
mov dword [esp + 0x8c], 0
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x18
ja 0x42452d
nop
mov edi, dword [esp + 0x8c]
mov ecx, dword [esp + 0x8c]
movzx ebx, byte [esp + ecx + 0x10]
lea esi, [edi + 0x6e]
lea ecx, [edi + ebx]
add ecx, 0xa603db6e
and esi, ebx
not ebx
mov edx, 0x91
sub edx, edi
or edx, ebx
mov edi, edx
not edi
or esi, edi
add edi, esi
xor edi, ecx
sub edx, esi
and edx, ecx
add edx, edx
sub edx, edi
mov dword [esp + 0xc8], edx
mov ecx, dword [esp + 0xc8]
add cl, 0xfe
mov edx, dword [esp + 0x8c]
mov byte [esp + edx + 0x10], cl
inc dword [esp + 0x8c]
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x19
jb 0x4244c0
lea esi, [esp + 0x132]
lea edx, [esp + 0x10]
mov ecx, 5
mov edi, esi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x146]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [esp + 0x88]
push edi
push 0
push 0
push 9
push esi
push 0
call dword [0x446c1c]
mov ebx, dword [esp + 0x88]
test ebx, ebx
jns 0x42457c
mov eax, 0xffffffff
jmp 0x42457f
lea eax, [ebx + ebx]
push eax
call fcn.00408d40
add esp, 4
push edi
push ebx
mov dword [esp + 0x7c], eax
push eax
push 9
push esi
push 0
call dword [0x446c1c]
mov dword [esp + 0x10], 0x4beb4582
mov dword [esp + 0x14], 0x4fed49df
mov dword [esp + 0x18], 0x33da4ddf
mov dword [esp + 0x1c], 0x37303196
mov dword [esp + 0x20], 0
mov word [esp + 0x24], 0
mov dword [esp + 0x8c], 0
mov eax, dword [esp + 0x8c]
cmp eax, 0x15
ja 0x424631
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x8c]
movzx ecx, byte [esp + ecx + 0x10]
lea edx, [eax + 0x35]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0x33ad0a35
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc8]
add al, 0x8d
mov ecx, dword [esp + 0x8c]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0x8c]
mov eax, dword [esp + 0x8c]
cmp eax, 0x16
jb 0x4245e0
lea edi, [esp + 0x122]
lea edx, [esp + 0x10]
mov ecx, 4
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x132]
lea edx, [esp + 0x20]
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x10], 0x338b31f4
mov dword [esp + 0x14], 0x37953587
mov dword [esp + 0x18], 0xbb809b7
mov dword [esp + 0x1c], 0xfcd0da8
mov dword [esp + 0x20], 0x3bc01a1
mov dword [esp + 0x24], 0x7b405a5
mov dword [esp + 0x28], 0x1b1a1991
lea esi, [esp + 0x2c]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x2f], 0
mov dword [esp + 0x8c], 0
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x22
ja 0x42471c
nop
nop
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x8c]
movzx edx, byte [esp + edx + 0x10]
lea edi, [ecx + 0xd8]
mov ebx, edx
not ebx
or ebx, edi
and edi, edx
add edi, ebx
neg edi
add ecx, edi
add ecx, 0xa818cfd7
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0xc8]
add cl, 0x18
mov edx, dword [esp + 0x8c]
mov byte [esp + edx + 0x10], cl
inc dword [esp + 0x8c]
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x23
jb 0x4246c0
lea edx, [esp + 0x8c]
lea ebx, [esp + 0x10]
mov edi, edx
mov ecx, 7
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea edi, [esp + 0xa8]
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov dword [esp + 0x10], 0x23bb21da
mov dword [esp + 0x14], 0xdf41ddaf
mov dword [esp + 0x18], 0xdb4ad94f
mov dword [esp + 0x1c], 0xd724d546
mov dword [esp + 0x20], 0xd312d13a
lea ebx, [esp + 0x24]
mov word [esp + 0x24], 0xcdd2
mov dword [esp + 0x26], 0
mov dword [esp + 0x29], 0
mov dword [esp + 0xf8], 0
mov ecx, dword [esp + 0xf8]
cmp ecx, 0x1c
ja 0x424812
nop
nop
mov edi, dword [esp + 0xf8]
mov ecx, dword [esp + 0xf8]
movzx eax, byte [esp + ecx + 0x10]
lea ecx, [edi - 0x60b73905]
lea esi, [edi + eax]
add esi, 0x9f48c6fb
add edi, 0xfb
and edi, eax
and ecx, eax
add ecx, edi
mov eax, ecx
xor eax, esi
not ecx
and ecx, esi
add ecx, ecx
sub ecx, eax
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0xc8]
mov eax, ecx
or eax, 0x22
and ecx, 0x22
add ecx, eax
inc cl
mov eax, dword [esp + 0xf8]
mov byte [esp + eax + 0x10], cl
inc dword [esp + 0xf8]
mov eax, dword [esp + 0xf8]
cmp eax, 0x1d
jb 0x4247a0
lea esi, [esp + 0x146]
lea eax, [esp + 0x10]
mov ecx, 5
mov edi, esi
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0x15a]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
lea eax, [esp + 0x122]
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], edx
mov dword [esp + 0x11c], esi
lea ebx, [esp + 0x28]
mov eax, dword [esp + 0x74]
add eax, 2
mov dword [esp + 0xb0], eax
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x7c], 0
cmp ecx, 3
setne al
xor ecx, ecx
jmp dword [eax*4 + 0x442d14]
mov dword [esp + 0xac], edi
mov dword [esp + 0xc0], eax
push eax
call fcn.00402720
add esp, 4
mov dword [esp + 0x10], 0xbe81acb7
mov dword [esp + 0x14], 0x938c96b0
mov dword [esp + 0x18], 0x868e86c8
mov dword [esp + 0x1c], 0x9b849e88
mov dword [esp + 0x20], 0x86b18d89
mov word [esp + 0x24], 0x868d
mov byte [esp + 0x26], 0xc
mov dword [esp + 0x27], 0
mov dword [esp + 0x54], 0
mov ecx, dword [esp + 0x54]
cmp ecx, 0x1a
ja 0x424947
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 0x54]
mov ecx, dword [esp + 0x54]
movzx ebx, byte [esp + ecx + 0x10]
lea ecx, [edi + 0x741fb85b]
lea edx, [edi + ebx]
add edx, 0x741fb85b
add edi, 0x5b
and edi, ebx
and ecx, ebx
add ecx, edi
mov edi, edx
not edi
and edi, ecx
not ecx
and ecx, edx
sub ecx, edi
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0xc8]
add cl, 0x83
mov edx, dword [esp + 0x54]
mov byte [esp + edx + 0x10], cl
inc dword [esp + 0x54]
mov ecx, dword [esp + 0x54]
cmp ecx, 0x1b
jb 0x4248f0
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.00402870
add esp, 8
mov edx, 0xffffffff
mov ecx, 0xfffffffd
nop
add ecx, 3
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x424960
shr ecx, 2
mov edi, edx
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + edx - 1]
cmp edx, 0x3d
je 0x424985
cmp edx, 0x2e
jne 0x424986
dec ecx
mov edx, dword [esp + 0x4c]
movzx edx, byte [eax + edx - 2]
cmp edx, 0x3d
mov dword [esp + 0x80], eax
mov dword [esp + 0xa8], esi
je 0x4249a7
cmp edx, 0x2e
jne 0x4249a8
dec ecx
mov eax, ecx
and eax, 1
mov dword [esp + 0xbc], ecx
xor ecx, 1
lea eax, [ecx + eax*2]
push eax
call fcn.00408d40
add esp, 4
mov dword [esp + 0x68], eax
cmp dword [esp + 0x4c], 0
je 0x424adb
xor esi, esi
mov edi, 2
jmp 0x4249f2
mov ecx, dword [esp + 0x70]
nop
lea eax, [edi + 4]
add edi, 2
mov esi, ecx
cmp edi, edx
mov edi, eax
jae 0x424adb
mov ebx, dword [esp + 0x80]
movzx eax, byte [ebx + edi - 2]
push eax
call fcn.004187f0
add esp, 4
mov byte [esp + 4], al
movzx eax, byte [ebx + edi - 1]
push eax
call fcn.004187f0
mov edx, dword [esp + 0x50]
add esp, 4
movzx ecx, byte [esp + 4]
shl cl, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, cl
mov ecx, dword [esp + 0x68]
mov byte [ecx + esi], ah
lea ecx, [esi + 1]
cmp edi, edx
jae 0x4249e0
mov byte [esp + 0x70], al
mov dword [esp + 4], esi
mov eax, dword [esp + 0x80]
movzx eax, byte [eax + edi]
push eax
mov ebx, ecx
call fcn.004187f0
mov ecx, ebx
mov edx, dword [esp + 0x50]
add esp, 4
cmp al, 0x40
je 0x4249e0
movzx ecx, byte [esp + 0x70]
shl cl, 4
mov ah, al
shr ah, 2
and ah, 0xf
or ah, cl
mov ebx, dword [esp + 4]
lea ecx, [ebx + 2]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x68]
mov byte [ecx + ebx + 1], ah
mov ebx, eax
lea eax, [edi + 1]
cmp eax, edx
jae 0x4249db
mov eax, dword [esp + 0x80]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.004187f0
mov edx, dword [esp + 0x50]
add esp, 4
cmp al, 0x40
mov ecx, dword [esp + 0x70]
je 0x4249e0
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 4]
mov byte [ecx + ebx + 2], al
add ebx, 3
mov ecx, ebx
jmp 0x4249e0
mov eax, dword [esp + 0xbc]
add eax, 0xfffffffb
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x68]
add eax, 5
mov dword [esp + 0x58], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
push 0x932a8d34
push dword [0x446c2c]
call fcn.00439870
add esp, 8
lea ecx, [esp + 8]
lea edx, [esp + 0x54]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x442d4c]
mov dword [esp + 4], 0
lea ebx, [esp + 0x28]
mov edi, dword [esp + 0xac]
mov esi, dword [esp + 0xa8]
jmp dword [0x442d5c]
mov dword [esp + 0x10], 0x638865b7
mov dword [esp + 0x14], 0x6fb261f2
mov dword [esp + 0x18], 0x6bf46df2
mov dword [esp + 0x1c], 0x176869f6
lea eax, [esp + 0x20]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x50]
cmp eax, 0x12
lea ebx, [esp + 0x28]
mov esi, dword [esp + 0xa8]
ja 0x424bed
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x50]
movzx ecx, byte [esp + ecx + 0x10]
lea edx, [eax + 0xb1]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0xb8097cb1
mov dword [esp], eax
mov eax, dword [esp]
add al, 0x29
mov ecx, dword [esp + 0x50]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0x50]
mov eax, dword [esp + 0x50]
cmp eax, 0x13
jb 0x424bb0
lea edi, [esp + 0xc8]
lea eax, [esp + 0x10]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x20]
lea edi, [esp + 0xd8]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea eax, [esi + 0x10]
cmp esi, 0xffffffef
jge 0x424c20
mov eax, 0xffffffff
push eax
call fcn.00408d40
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x6c]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
je 0x424c61
mov eax, dword [esp + 0x6c]
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 0x424c50
mov word [eax], 0
movzx ecx, word [esp + 0xc8]
test cx, cx
je 0x424c91
lea edx, [esp + 0xca]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424c80
mov word [eax], 0
mov ecx, dword [ebp + 8]
push dword [esp + 8]
push dword [esp + 0x10]
push edi
call fcn.00409650
mov dword [esp + 4], eax
jmp dword [0x442d54]
push edi
call fcn.00408d50
add esp, 4
push 0x2e0ec9bb
push dword [0x446c14]
call fcn.00439870
add esp, 8
push dword [esp + 0xc]
call eax
mov edi, dword [esp + 0xac]
jmp dword [0x442d5c]
push dword [esp + 0x68]
call fcn.00408d50
add esp, 4
push dword [esp + 0xc0]
call fcn.004029b0
add esp, 4
jmp dword [0x442d64]
mov eax, dword [esp + 0x84]
mov byte [edi + eax], 0
push edi
call fcn.00401e30
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
jmp dword [ecx*4 + 0x442d44]
mov dword [esp + 4], edx
jmp dword [0x442d64]
push edi
call fcn.00408d50
add esp, 4
jmp case.0x42487d.8
not eax
shr eax, 0x1f
mov dword [esp + 4], 0
jmp dword [eax*4 + 0x442d34]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x10], 0x2050407
mov dword [ebx - 0x11], 0
mov dword [ebx - 0x14], 0
mov dword [esp + 0x54], 0
mov eax, dword [esp + 0x54]
cmp eax, 0xa
ja 0x424df2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x54]
movzx edx, byte [esp + ecx + 0x10]
lea edi, [eax + 0x3e506d01]
lea ecx, [eax + edx]
add ecx, 0x3e506d01
and edi, edx
mov ebx, 0xc1af92fe
sub ebx, eax
or ebx, edx
add ebx, eax
lea eax, [edi + ebx]
add eax, 0x3e506d02
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc8]
add al, 0xf9
mov ecx, dword [esp + 0x54]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0x54]
mov eax, dword [esp + 0x54]
cmp eax, 0xb
jb 0x424d90
mov ecx, dword [0x446c20]
test ecx, ecx
je 0x424e60
mov edx, dword [esp + 0x10]
xor edi, edi
mov eax, dword [0x446c24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + edi*8], 0x11081610
je 0x424e56
inc edi
cmp ecx, edi
jne 0x424e10
jmp 0x424e60
mov edi, dword [esp + 0x84]
lea eax, [edi + 1]
push eax
call fcn.00408d40
add esp, 4
push 0
push edi
mov edi, eax
push eax
push dword [esp + 0x84]
call fcn.0043a930
add esp, 0x10
not eax
shr eax, 0x1f
xor edx, edx
jmp dword [eax*4 + 0x442d3c]
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
jne 0x424e71
nop
nop
mov edi, dword [esp + 0xb4]
mov ebx, dword [esp + 4]
jmp dword [0x442d6c]
push dword [esp + 0x4c]
push 1
push dword [0x446c28]
push eax
call fcn.00437df0
add esp, 0x10
mov edi, dword [esp + 0xb4]
mov ebx, dword [esp + 4]
jmp dword [0x442d6c]
lea eax, [esp + 0x84]
push 0
push eax
push dword [esp + 0x80]
call fcn.0043a830
add esp, 0xc
lea eax, [esp + 0x84]
push 0
push eax
push dword [esp + 0x80]
call fcn.0043a830
add esp, 0xc
jmp dword [0x442d30]
mov dword [esp + 0xc4], ecx
mov eax, dword [esp + ecx*4 + 0x114]
mov esi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [eax + esi + 2], 0
lea esi, [esi + 2]
jne 0x424f00
mov dword [esp + 0x6c], eax
mov eax, esi
sar eax, 1
mov dword [esp + 0xb8], eax
mov dword [esp + 0x10], 0xf3becdb0
mov dword [esp + 0x14], 0xf791f163
mov dword [esp + 0x18], 0xfb96f595
mov dword [esp + 0x1c], 0xff89f9d8
mov dword [esp + 0x20], 0xe383fd68
mov dword [esp + 0x24], 0xe783e174
mov word [esp + 0x28], 0xe5e4
mov dword [ebx + 9], 0
mov dword [ebx + 6], 0
mov dword [ebx + 2], 0
mov dword [esp + 0x54], 0
mov eax, dword [esp + 0x54]
cmp eax, 0x24
ja 0x424fc5
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x54]
movzx ecx, byte [esp + ecx + 0x10]
lea edx, [eax + 0xde]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0xc04dcbde
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc8]
add al, 0xee
mov ecx, dword [esp + 0x54]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0x54]
mov eax, dword [esp + 0x54]
cmp eax, 0x25
jb 0x424f80
lea edi, [esp + 0xf8]
lea eax, [esp + 0x10]
mov ecx, 6
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, ebx
lea edi, [esp + 0x110]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0xb8]
lea ecx, [edx + eax]
add edx, eax
add edx, 0xd
lea eax, [ecx + ecx]
add eax, 0x1a
test edx, edx
jns 0x425011
mov eax, 0xffffffff
push eax
call fcn.00408d40
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x74]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
je 0x425051
mov edx, dword [esp + 0xb0]
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 0x425040
mov word [eax], 0x5c
add eax, 2
mov edx, dword [esp + 0x6c]
movzx ecx, word [edx]
test cx, cx
je 0x425081
add edx, 2
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 0x425070
mov word [eax], 0
movzx ecx, word [esp + 0xf8]
test cx, cx
je 0x4250b1
lea edx, [esp + 0xfa]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4250a0
mov word [eax], 0
lea eax, [esp + 0x78]
push 0x60
push 3
push 0x120089
push eax
push edi
call fcn.0043a480
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x442d1c]
xor ebx, ebx
jmp dword [0x442d6c]
push edi
call fcn.00408d50
add esp, 4
movzx eax, bl
jmp dword [eax*4 + 0x442d74]
mov dword [esp + 0x10], 0x5b8e59fc
mov dword [esp + 0x14], 0x57f555e3
mov dword [esp + 0x18], 0x53e651f1
mov dword [esp + 0x1c], 0x2ffd2dcc
mov dword [esp + 0x20], 0x2b9d29a4
mov dword [esp + 0x24], 0x27872596
mov dword [esp + 0x28], 0x239f219f
mov dword [esp + 0x2c], 0x3f8a3d98
mov dword [esp + 0x30], 0x3bb43985
mov dword [esp + 0x34], 0x37823589
mov dword [esp + 0x38], 0x3390318c
mov word [esp + 0x3c], 0xd0c
lea eax, [esp + 0x28]
mov byte [eax + 0x1a], 0
mov dword [eax + 0x16], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x32
ja 0x4251be
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x10]
lea edx, [eax + ecx]
add eax, 0x34
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0xf3fff634
mov dword [esp + 0x54], edx
mov eax, dword [esp + 0x54]
add al, 0x94
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x33
jb 0x425180
lea edi, [esp + 0xc8]
lea eax, [esp + 0x10]
mov ecx, 0xb
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x3c]
lea edi, [esp + 0xf4]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0xb8]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx + ecx]
add eax, 0x2e
test edx, edx
jns 0x42520c
mov eax, 0xffffffff
push eax
call fcn.00408d40
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x74]
movzx ecx, word [eax]
mov eax, ebx
test cx, cx
je 0x425241
mov edx, dword [esp + 0xb0]
mov eax, ebx
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425230
mov word [eax], 0x5c
add eax, 2
mov edx, dword [esp + 0x6c]
movzx ecx, word [edx]
test cx, cx
je 0x425271
add edx, 2
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 0x425260
mov word [eax], 0
movzx ecx, word [esp + 0xc8]
test cx, cx
je 0x4252a1
lea edx, [esp + 0xca]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425290
mov word [eax], 0
mov dword [esp + 0x10], 0x5bce590f
mov dword [esp + 0x14], 0x47d84529
mov dword [esp + 0x18], 0x43d6412d
mov dword [esp + 0x1c], 0x4f2c4d20
mov word [esp + 0x20], 0x4948
lea eax, [esp + 0x28]
mov dword [eax + 2], 0
mov dword [eax - 2], 0
mov dword [eax - 6], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1d
ja 0x42534a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x10]
mov edx, eax
and edx, 0x36d30cc
xor eax, 0x836d30cc
lea eax, [eax + edx*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
mov ecx, edx
not ecx
and ecx, eax
not eax
and eax, edx
sub eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x6c
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1e
jb 0x425300
lea edi, [esp + 0x54]
lea eax, [esp + 0x10]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x20]
lea edi, [esp + 0x64]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea eax, [esi + 0x12]
cmp esi, 0xffffffed
jge 0x42537a
mov eax, 0xffffffff
push eax
call fcn.00408d40
add esp, 4
mov edi, eax
mov edx, dword [esp + 0x6c]
movzx ecx, word [edx]
test cx, cx
je 0x4253b1
add edx, 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 0x4253a0
mov word [eax], 0
movzx ecx, word [esp + 0x54]
test cx, cx
je 0x4253e1
lea edx, [esp + 0x56]
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 0x4253d0
mov word [eax], 0
mov dword [esp + 0x10], 0x3b38395c
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xb
ja 0x42544a
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x10]
lea edx, [eax + 0x87]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0xf9dbab87
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x4f
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xc
jb 0x425410
push 0
push 0
push 0
push 0xc00000
lea eax, [esp + 0x20]
push eax
push ebx
push edi
push dword [ebp + 8]
call fcn.0041b030
add esp, 0x20
mov ecx, dword [esp + 0x7c]
and cl, 1
or cl, al
mov dword [esp + 0x7c], ecx
jmp dword [0x442d7c]
push edi
call fcn.00408d50
add esp, 4
mov eax, dword [case.0x42487d.27]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x442d94]
mov dword [esp + 0xb4], edi
jmp dword [0x442d24]
movzx eax, bl
jmp dword [eax*4 + 0x442d74]
mov eax, dword [0x442da4]
lea ebx, [esp + 0x28]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x442dbc]