Function at 0x424d86
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21ec
call fcn.0040c8f0
mov dword [esp + 0x11ec], 0x316c3f50
mov dword [esp + 0x11f0], 0x356b3377
mov dword [esp + 0x11f4], 0x4963376f
mov dword [esp + 0x11f8], 0x4d184b1c
mov dword [esp + 0x11fc], 0x41224f27
mov dword [esp + 0x1200], 0x45174317
mov dword [esp + 0x1204], 0x59144703
mov dword [esp + 0x1208], 0x5b58
mov dword [esp + 0xa7c], 0
mov eax, dword [esp + 0xa7c]
cmp eax, 0x1f
ja 0x424bc3
nop
nop
nop
mov eax, dword [esp + 0xa7c]
mov ecx, dword [esp + 0xa7c]
movzx ecx, byte [esp + ecx + 0x11ec]
mov edx, eax
xor edx, 0x233ca035
and eax, 0x233ca035
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x7c]
add al, 0xf7
mov ecx, dword [esp + 0xa7c]
mov byte [esp + ecx + 0x11ec], al
inc dword [esp + 0xa7c]
mov eax, dword [esp + 0xa7c]
cmp eax, 0x20
jb 0x424b70
lea eax, [esp + 0x34]
lea ebp, [esp + 0x11ec]
push 0
push 0
push 0x20019
push eax
push ebp
call fcn.00445080
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x44bb84]
lea eax, [esp + 0x64]
lea ecx, [esp + 0x48]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x54]
call fcn.004454f0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44bb8c]
xor eax, eax
jmp 0x426eba
xor ecx, ecx
xor eax, eax
mov dword [esp + 0xc], 0
cmp ecx, dword [esp + 0x48]
setb al
xor ebx, ebx
jmp dword [eax*4 + 0x44bb94]
mov word [ebp], 0
mov eax, dword [esp + 0xc]
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x44bb9c]
mov dword [esp + 0x14], ebp
jmp dword [0x44bc9c]
inc ebx
xor eax, eax
cmp ebx, dword [esp + 0x48]
setb al
jmp dword [eax*4 + 0x44bb94]
mov dword [esp + 0x38], ebx
mov edi, dword [esp + 0x64]
mov esi, ebp
mov eax, edi
inc eax
mov ebx, dword [case.0x424be4.10]
lea ebp, [edi + edi + 2]
jns case.0x424be4.8
mov ebp, 0xffffffff
nop
push ebp
call fcn.0040c990
add esp, 4
jmp ebx
mov dword [esp + 0x60], edi
mov ecx, dword [case.0x424be4.14]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
lea ecx, [esp + 0x60]
push ecx
mov dword [esp + 0x50], eax
push eax
mov ebx, dword [esp + 0x40]
push ebx
push dword [esp + 0x40]
call fcn.004451d0
add esp, 0x10
not eax
shr eax, 0x1f
mov ebp, esi
jmp dword [eax*4 + 0x44bbc4]
jmp dword [0x44bc94]
lea edi, [esp + 0x50]
mov esi, dword [esp + 0x4c]
jmp dword [0x44bbd0]
push dword [esp + 0x34]
push 0
push 0x20019
push edi
push esi
call fcn.00445080
add esp, 0x14
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push dword [esp + 0x34]
push 0
push 0x20019
push edi
push esi
call fcn.00445080
add esp, 0x14
jmp dword [0x44bbd4]
not eax
shr eax, 0x1f
lea esi, [esp + 0x11c]
jmp dword [eax*4 + 0x44bbdc]
jmp dword [0x44bc94]
jmp dword [0x44bbe8]
mov ecx, dword [esp + 0x54]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x44bc04]
mov dword [esp + 0x54], ecx
mov eax, dword [esp + ecx + 0x68]
mov dword [esp + 0x7c], 0xc392c190
mov dword [esp + 0x80], 0xc796c594
mov dword [esp + 0x84], 0xcb9ac998
mov dword [esp + 0x88], 0xcfb6cd9c
mov word [esp + 0x8c], 0xf1f0
lea ecx, [esp + 0x11c]
mov byte [ecx - 0x8c], 0
mov word [ecx - 0x8e], 0
mov dword [esp + 0x87c], 0
mov ecx, dword [esp + 0x87c]
cmp ecx, 0x14
ja 0x424e51
nop
mov ecx, dword [esp + 0x87c]
mov edx, dword [esp + 0x87c]
movzx edx, byte [esp + edx + 0x7c]
mov esi, ecx
xor esi, 0xebfc06d0
and ecx, 0xebfc06d0
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 0xa7c], ecx
mov ecx, dword [esp + 0xa7c]
mov edx, ecx
not edx
and edx, 0x10
and ecx, 0xef
sub ecx, edx
mov edx, dword [esp + 0x87c]
mov byte [esp + edx + 0x7c], cl
inc dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
cmp ecx, 0x15
jb 0x424df0
movzx ecx, word [eax]
lea edx, [esp + 0x87c]
test cx, cx
je 0x424e81
add eax, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x424e70
mov word [edx], 0
movzx eax, word [esp + 0x7c]
test ax, ax
je 0x424eb1
lea ecx, [esp + 0x7e]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edx], ax
add edx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x424ea0
mov word [edx], 0
mov eax, dword [case.0x4257da.9]
nop
nop
nop
nop
nop
jmp eax
mov cx, 0x31
xor eax, eax
cmp cx, 0x35
setb al
mov dword [esp + 0x58], edx
jmp dword [eax*4 + 0x44bc2c]
mov ecx, dword [esp + 0x18]
inc ecx
xor eax, eax
cmp cx, 0x35
setb al
mov edx, dword [esp + 0x58]
jmp dword [eax*4 + 0x44bc2c]
mov dword [esp + 0x18], ecx
mov word [edx - 2], cx
lea eax, [esp + 0x44]
lea ecx, [esp + 0x87c]
push dword [esp + 0x50]
push 0
push 0x20019
push eax
push ecx
call fcn.00445080
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44bc34]
mov dword [esp + 0x5c], 0x800
mov dword [esp + 0x3c], 0x400
xor esi, esi
mov dword [esp + 8], 0
jmp 0x424f51
inc esi
lea eax, [esp + 0x3c]
lea edi, [esp + 0xa7c]
lea ecx, [esp + 0x40]
lea edx, [esp + 0x5c]
push eax
push edi
push ecx
push edx
lea eax, [esp + 0x8c]
push eax
mov dword [esp + 0x18], esi
push esi
push dword [esp + 0x5c]
call fcn.004457f0
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44bc3c]
test byte [esp + 8], 1
sete al
cmp dword [esp + 0x40], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44bc44]
mov eax, dword [case.0x4257da.18]
nop
nop
jmp eax
mov dword [esp + 0x14], ebp
mov dword [esp + 0x1c], 0xf749f9b9
mov dword [esp + 0x20], 0xf341f54b
mov dword [esp + 0x24], 0xcf7cf17d
mov dword [esp + 0x28], 0xcbcacd40
mov word [esp + 0x2c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x11
ja 0x42502e
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x1c]
add eax, 0x1b3ae1d6
xor eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0xd2
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x12
jb 0x425000
movzx ebp, word [esp + 0x1c]
lea esi, [esp + 0x7c]
test bp, bp
je 0x42507c
lea eax, [esp + 0x7c]
lea edx, [esp + 0x1c]
mov esi, eax
jmp 0x425058
movzx ebp, word [edx]
test bp, bp
je 0x42507c
movzx ebx, word [eax]
test bx, bx
je 0x42507a
add eax, 2
add edx, 2
lea ecx, [esi + 2]
cmp bx, bp
je 0x425072
mov esi, ecx
mov eax, ecx
je 0x425050
lea edx, [esp + 0x1c]
jmp 0x425050
xor esi, esi
xor eax, eax
test esi, esi
setne al
mov ebp, dword [esp + 0x14]
jmp dword [eax*4 + 0x44bc4c]
jmp dword [0x44bc64]
mov eax, dword [esp + 0x40]
jmp dword [0x44bc6c]
mov eax, dword [esp + 0x40]
jmp dword [0x44bc6c]
xor ecx, ecx
cmp eax, 3
sete cl
mov esi, dword [esp + 4]
jmp dword [ecx*4 + 0x44bc74]
mov dword [esp + 0x1c], 0xe105e734
mov dword [esp + 0x20], 0xfd6fe36d
mov dword [esp + 0x24], 0xf90fff75
mov dword [esp + 0x28], 0xf506fb0a
mov word [esp + 0x2c], 0xf7f4
mov dword [esp + 0x2e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x15
ja 0x425152
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx edx, byte [esp + ecx + 0x1c]
mov ecx, eax
xor ecx, 0x2294ab29
and eax, 0x2294ab29
lea ecx, [ecx + eax*2]
lea eax, [ecx + edx]
and ecx, edx
mov edx, eax
not edx
and edx, ecx
mov esi, ecx
not esi
and eax, esi
sub eax, edx
xor ecx, eax
and eax, esi
add eax, eax
sub eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0x33
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x16
jb 0x425100
movzx edi, word [esp + 0x1c]
test di, di
je 0x425200
lea ecx, [esp + 0x7c]
lea edx, [esp + 0x1c]
mov eax, ecx
jmp 0x42517c
movzx edi, word [edx]
test di, di
je 0x42520a
mov ebx, ebp
movzx ebp, word [ecx]
test bp, bp
je 0x425206
add ecx, 2
add edx, 2
lea esi, [eax + 2]
cmp bp, di
je 0x42519c
mov eax, esi
mov ecx, esi
mov ebp, ebx
je 0x425170
lea edx, [esp + 0x1c]
jmp 0x425170
mov ecx, dword [esp + 0x3c]
cmp ecx, 2
jb 0x4252c5
shr ecx, 1
mov eax, ecx
and eax, 3
je 0x425267
xor edx, edx
lea edi, [esp + 0xa7c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [edi]
xor ebx, ebx
test si, si
setne bl
lea edi, [edi + ebx*2]
mov word [ebp], si
add ebp, 2
inc edx
cmp eax, edx
jne 0x4251e0
mov eax, ecx
sub eax, edx
jmp 0x425269
lea eax, [esp + 0x7c]
jmp 0x42520a
xor eax, eax
mov ebp, ebx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44bc7c]
mov edx, dword [esp + 0x3c]
cmp edx, 2
mov esi, dword [esp + 4]
jb 0x425359
shr edx, 1
mov ecx, edx
and ecx, 3
je 0x4252e4
xor edi, edi
lea eax, [esp + 0xa7c]
nop
movzx esi, word [eax]
xor ebx, ebx
test si, si
setne bl
lea eax, [eax + ebx*2]
mov word [ebp], si
add ebp, 2
inc edi
cmp ecx, edi
jne 0x425240
mov ecx, edx
sub ecx, edi
mov esi, dword [esp + 4]
jmp 0x4252ed
mov eax, ecx
dec ecx
cmp ecx, 3
jb 0x4252c5
nop
mov esi, ebp
movzx ecx, word [edi]
xor edx, edx
test cx, cx
setne dl
lea ebx, [edi + edx*2]
mov word [ebp], cx
movzx ecx, word [edi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [ebx + edx*2]
mov word [ebp + 2], cx
movzx ecx, word [ebx + edx*2]
xor edx, edx
test cx, cx
setne dl
lea ebx, [edi + edx*2]
mov word [ebp + 4], cx
movzx edx, word [edi + edx*2]
xor ecx, ecx
test dx, dx
setne cl
mov word [ebp + 6], dx
add ebp, 8
lea edi, [ebx + ecx*2]
add eax, 0xfffffffc
jne 0x425270
mov word [ebp], 0x3a
mov word [ebp + 2], 0x20
add ebp, 4
mov al, 1
mov dword [esp + 8], eax
mov esi, dword [esp + 4]
inc esi
jmp 0x424f51
lea eax, [esp + 0xa7c]
mov ecx, edx
dec edx
cmp edx, 3
jb 0x425359
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ebp
movzx edx, word [eax]
xor ebx, ebx
test dx, dx
setne bl
lea edi, [eax + ebx*2]
mov word [ebp], dx
movzx eax, word [eax + ebx*2]
xor edx, edx
test ax, ax
setne dl
lea ebx, [edi + edx*2]
mov word [ebp + 2], ax
movzx eax, word [edi + edx*2]
xor edx, edx
test ax, ax
setne dl
lea edi, [ebx + edx*2]
mov word [ebp + 4], ax
movzx edx, word [ebx + edx*2]
xor eax, eax
test dx, dx
setne al
mov word [ebp + 6], dx
add ebp, 8
lea eax, [edi + eax*2]
add ecx, 0xfffffffc
jne 0x425300
mov esi, dword [esp + 4]
mov word [ebp], 0xa
add ebp, 2
mov al, 1
mov dword [esp + 0xc], eax
inc esi
jmp 0x424f51
jmp dword [0x44bc88]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x1c], 0x80b0a0d
mov dword [esp + 0x20], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 7
ja 0x4253ec
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x1c]
mov esi, ecx
xor esi, 0x9f6bee83
and ecx, 0x1f6bee83
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
mov edx, esi
xor edx, ecx
add edx, ecx
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 0x71
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 8
jb 0x4253a0
mov ecx, dword [0x450704]
test ecx, ecx
je case.0x4257da.33
mov edx, dword [esp + 0x1c]
xor edi, edi
mov ebx, dword [0x450708]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x625b6034
je 0x425420
inc edi
cmp ecx, edi
jne 0x425410
jmp case.0x4257da.33
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je case.0x4257da.33
push eax
push 1
push dword [0x45070c]
push ecx
call fcn.00441120
add esp, 0x10
jmp case.0x4257da.33
jmp dword [0x44bc90]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x1c], 0x80b0a0d
mov dword [esp + 0x20], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 7
ja 0x4254bc
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x1c]
mov esi, ecx
xor esi, 0x9f6bee83
and ecx, 0x1f6bee83
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
mov edx, esi
xor edx, ecx
add edx, ecx
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 0x71
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 8
jb 0x425470
mov ecx, dword [0x450704]
test ecx, ecx
je 0x425440
mov edx, dword [esp + 0x1c]
xor edi, edi
mov ebx, dword [0x450708]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x625b6034
je 0x425500
inc edi
cmp ecx, edi
jne 0x4254e0
jmp 0x425440
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x425440
push eax
push 1
push dword [0x45070c]
push ecx
call fcn.00441120
add esp, 0x10
jmp dword [0x44bc90]
mov dword [esp + 0x7c], 0x51e54f03
mov dword [esp + 0x80], 0x55e053f5
mov dword [esp + 0x84], 0x59e357e5
mov dword [esp + 0x88], 0x5dfc5be9
mov dword [esp + 0x8c], 0xa1025fe8
mov dword [esp + 0x90], 0xa504a3f1
mov dword [esp + 0x94], 0xa90da702
mov dword [esp + 0x98], 0xad0dab0d
mov dword [esp + 0x9c], 0xb1ddaff0
mov dword [esp + 0xa0], 0xb5dcb3c7
mov dword [esp + 0xa4], 0xb9eab7c4
mov dword [esp + 0xa8], 0xbd0dbbe9
mov dword [esp + 0xac], 0x8112bf08
mov dword [esp + 0xb0], 0x85338331
mov dword [esp + 0xb4], 0x89da8729
mov dword [esp + 0xb8], 0x8d388bd8
mov dword [esp + 0xbc], 0x91288f3d
mov dword [esp + 0xc0], 0x953e933b
mov dword [esp + 0xc4], 0x99239733
mov dword [esp + 0xc8], 0x9dcb9bc4
mov dword [esp + 0xcc], 0xe12a9f2b
mov dword [esp + 0xd0], 0xe553e34c
mov dword [esp + 0xd4], 0xe94be755
mov dword [esp + 0xd8], 0xed91ebb4
mov dword [esp + 0xdc], 0xf197ef99
mov dword [esp + 0xe0], 0xf5b7f387
mov dword [esp + 0xe4], 0xf9b0f7b2
mov dword [esp + 0xe8], 0xfd8efb88
mov dword [esp + 0xec], 0xc18bff8f
mov dword [esp + 0xf0], 0xc5b1c3b3
mov dword [esp + 0xf4], 0xc962c7b7
mov dword [esp + 0xf8], 0xcd88cbbd
mov dword [esp + 0xfc], 0xd1b6cfb4
mov dword [esp + 0x100], 0xd5a2d393
mov dword [esp + 0x104], 0xd9a5d7a4
mov dword [esp + 0x108], 0xddaedba8
mov dword [esp + 0x10c], 0x21acdf9e
mov dword [esp + 0x110], 0x25542363
mov dword [esp + 0x114], 0x295f2752
mov dword [esp + 0x118], 0x2d762b5e
mov word [esp + 0x11c], 0x2f2c
lea eax, [esp + 0x11c]
mov byte [eax + 4], 0
mov word [eax + 2], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xa4
ja 0x42577c
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
mov esi, eax
not esi
or esi, 0x30761aed
add esi, eax
xor eax, 0x30761aed
lea eax, [eax + esi*2]
add eax, 2
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 0x5f
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa5
jb 0x425720
lea eax, [esp + 0x114a]
lea esi, [esp + 0x7c]
mov edi, eax
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea esi, [esp + 0x11c]
lea edi, [esp + 0x11ea]
mov ecx, 1
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov dword [esp + 0x68], ebx
lea ecx, [esp + 0x1064]
mov dword [esp + 0x6c], ecx
lea ecx, [esp + 0xe7e]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], eax
xor ecx, ecx
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x44bc04]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x7c], 0x80b0a0d
mov dword [esp + 0x80], 0
mov dword [esp + 0x87c], 0
mov ecx, dword [esp + 0x87c]
cmp ecx, 7
ja 0x425886
nop
nop
mov ecx, dword [esp + 0x87c]
mov edx, dword [esp + 0x87c]
movzx edx, byte [esp + edx + 0x7c]
mov esi, ecx
xor esi, 0x9f6bee83
and ecx, 0x1f6bee83
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
mov edx, esi
xor edx, ecx
add edx, ecx
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0xa7c], ecx
mov ecx, dword [esp + 0xa7c]
add cl, 0x71
mov edx, dword [esp + 0x87c]
mov byte [esp + edx + 0x7c], cl
inc dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
cmp ecx, 8
jb 0x425820
mov ecx, dword [0x450704]
test ecx, ecx
je 0x4258c0
mov edx, dword [esp + 0x7c]
xor edi, edi
mov ebx, dword [0x450708]
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x625b6034
je 0x4258b0
inc edi
cmp ecx, edi
jne 0x4258a0
jmp 0x4258c0
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x4258e7
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [esp + 0x38]
jmp dword [0x44bc94]
push dword [esp + 0x4c]
call fcn.0040c9a0
add esp, 4
inc ebx
xor eax, eax
cmp ebx, dword [esp + 0x48]
setb al
jmp dword [eax*4 + 0x44bb94]
push eax
push 1
push dword [0x45070c]
push ecx
call fcn.00441120
add esp, 0x10
mov ebx, dword [esp + 0x38]
jmp dword [0x44bc94]
jmp dword [0x44bbf4]
mov dword [esp + 0x7c], 0x832b81cd
mov dword [esp + 0x80], 0x87348527
mov dword [esp + 0x84], 0x8b398927
mov dword [esp + 0x88], 0x8f288d23
mov dword [esp + 0x8c], 0x93ce9124
mov dword [esp + 0x90], 0x973095db
mov dword [esp + 0x94], 0x9b33993e
mov dword [esp + 0x98], 0x9f3b9d3f
mov dword [esp + 0x9c], 0xe393e1bc
mov dword [esp + 0xa0], 0xe788e590
mov dword [esp + 0xa4], 0xebb6e998
mov dword [esp + 0xa8], 0xef5beda3
mov dword [esp + 0xac], 0xf35ef144
mov dword [esp + 0xb0], 0xf759f55b
mov dword [esp + 0xb4], 0xfba6f953
mov dword [esp + 0xb8], 0xff4cfdac
mov dword [esp + 0xbc], 0xc364c16f
mov dword [esp + 0xc0], 0xc76ac56d
mov dword [esp + 0xc4], 0xcb79c96d
mov dword [esp + 0xc8], 0xcf81cd90
mov dword [esp + 0xcc], 0xd366d165
mov dword [esp + 0xd0], 0xd779d578
mov dword [esp + 0xd4], 0xdb71d977
mov dword [esp + 0xd8], 0xdfa7dd80
mov dword [esp + 0xdc], 0x23552153
mov dword [esp + 0xe0], 0x27652551
mov dword [esp + 0xe4], 0x2b6c296e
mov dword [esp + 0xe8], 0x2f5a2d5c
mov dword [esp + 0xec], 0x33413141
mov dword [esp + 0xf0], 0x37473545
mov dword [esp + 0xf4], 0x3b9e3949
mov dword [esp + 0xf8], 0x3f7c3d4f
mov dword [esp + 0xfc], 0x37a0178
mov dword [esp + 0x100], 0x7760545
mov dword [esp + 0x104], 0xb7b0978
mov dword [esp + 0x108], 0xf7a0d7c
mov dword [esp + 0x10c], 0x13601152
mov dword [esp + 0x110], 0x17601555
mov dword [esp + 0x114], 0x1b6d196e
mov dword [esp + 0x118], 0x1f421d6a
mov word [esp + 0x11c], 0x6160
lea eax, [esp + 0x11c]
mov word [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xa7
ja 0x425b78
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
mov edx, eax
not edx
or edx, 0x45f1baa0
add edx, eax
xor eax, 0x45f1baa0
lea eax, [eax + edx*2]
add eax, 2
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
mov ecx, eax
not ecx
and ecx, 0x20
and eax, 0xdf
sub eax, ecx
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa8
jb 0x425b10
lea edi, [esp + 0xf20]
lea eax, [esp + 0x7c]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, esi
lea edi, [esp + 0xfc0]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
jmp case.0x424be4.28
lea edx, [esp + 0xf20]
lea eax, [esp + 0x7c]
mov edi, edx
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, esi
mov ecx, 1
lea edi, [esp + 0xfc0]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
jmp dword [0x44bbfc]
mov dword [esp + 0x7c], 0x832b81cd
mov dword [esp + 0x80], 0x87348527
mov dword [esp + 0x84], 0x8b398927
mov dword [esp + 0x88], 0x8f288d23
mov dword [esp + 0x8c], 0x93ce9124
mov dword [esp + 0x90], 0x973095db
mov dword [esp + 0x94], 0x9b33993e
mov dword [esp + 0x98], 0x9f3b9d3f
mov dword [esp + 0x9c], 0xe393e1bc
mov dword [esp + 0xa0], 0xe788e590
mov dword [esp + 0xa4], 0xebb6e998
mov dword [esp + 0xa8], 0xef5beda3
mov dword [esp + 0xac], 0xf35ef144
mov dword [esp + 0xb0], 0xf759f55b
mov dword [esp + 0xb4], 0xfba6f953
mov dword [esp + 0xb8], 0xff4cfdac
mov dword [esp + 0xbc], 0xc364c16f
mov dword [esp + 0xc0], 0xc76ac56d
mov dword [esp + 0xc4], 0xcb79c96d
mov dword [esp + 0xc8], 0xcf81cd90
mov dword [esp + 0xcc], 0xd366d165
mov dword [esp + 0xd0], 0xd779d578
mov dword [esp + 0xd4], 0xdb71d977
mov dword [esp + 0xd8], 0xdfa7dd80
mov dword [esp + 0xdc], 0x23552153
mov dword [esp + 0xe0], 0x27652551
mov dword [esp + 0xe4], 0x2b6c296e
mov dword [esp + 0xe8], 0x2f5a2d5c
mov dword [esp + 0xec], 0x33413141
mov dword [esp + 0xf0], 0x37473545
mov dword [esp + 0xf4], 0x3b9e3949
mov dword [esp + 0xf8], 0x3f7c3d4f
mov dword [esp + 0xfc], 0x37a0178
mov dword [esp + 0x100], 0x7760545
mov dword [esp + 0x104], 0xb7b0978
mov dword [esp + 0x108], 0xf7a0d7c
mov dword [esp + 0x10c], 0x13601152
mov dword [esp + 0x110], 0x17601555
mov dword [esp + 0x114], 0x1b6d196e
mov dword [esp + 0x118], 0x1f421d6a
mov word [esp + 0x11c], 0x6160
lea eax, [esp + 0x11c]
mov word [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xa7
ja 0x425bb0
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
mov edx, eax
not edx
or edx, 0x45f1baa0
add edx, eax
xor eax, 0x45f1baa0
lea eax, [eax + edx*2]
add eax, 2
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
mov ecx, eax
not ecx
and ecx, 0x20
and eax, 0xdf
sub eax, ecx
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa8
jb 0x425dd0
jmp 0x425bb0
mov dword [esp + 0x7c], 0xf965fbb7
mov dword [esp + 0x80], 0xfd68ff5d
mov dword [esp + 0x84], 0xf167f36d
mov dword [esp + 0x88], 0xf56cf761
mov dword [esp + 0x8c], 0xe946eb60
mov dword [esp + 0x90], 0xed71ef41
mov dword [esp + 0x94], 0xe146e37e
mov dword [esp + 0x98], 0xe56fe771
mov dword [esp + 0x9c], 0xd93adb71
mov dword [esp + 0xa0], 0xdd45df6b
mov dword [esp + 0xa4], 0xd147d349
mov dword [esp + 0xa8], 0xd54fd777
mov dword [esp + 0xac], 0xc958cb4b
mov dword [esp + 0xb0], 0xcd2ecf51
mov dword [esp + 0xb4], 0xc149c379
mov dword [esp + 0xb8], 0xc553c766
mov dword [esp + 0xbc], 0xb92fbb4b
mov dword [esp + 0xc0], 0xbd25bf2c
mov dword [esp + 0xc4], 0xb11eb32f
mov dword [esp + 0xc8], 0xb520b700
mov dword [esp + 0xcc], 0xa930ab25
mov dword [esp + 0xd0], 0xad32af37
mov dword [esp + 0xd4], 0xa137a337
mov dword [esp + 0xd8], 0xa569a70c
mov dword [esp + 0xdc], 0x99539b71
mov dword [esp + 0xe0], 0x9d5b9f53
mov dword [esp + 0xe4], 0x91289326
mov dword [esp + 0xe8], 0x95429740
mov dword [esp + 0xec], 0x895f8b43
mov dword [esp + 0xf0], 0x8d598f5f
mov dword [esp + 0xf4], 0x8126835b
mov dword [esp + 0xf8], 0x85408755
mov dword [esp + 0xfc], 0x79b27b4c
mov dword [esp + 0x100], 0x7dae7fbf
mov dword [esp + 0x104], 0x71a573ac
mov dword [esp + 0x108], 0x75a277a0
mov dword [esp + 0x10c], 0x69bc6bb2
mov dword [esp + 0x110], 0x6da46faf
mov dword [esp + 0x114], 0x61ab63a6
mov dword [esp + 0x118], 0x65ca67aa
mov word [esp + 0x11c], 0x5b64
lea eax, [esp + 0x11c]
mov word [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xa7
ja 0x426096
nop
nop
nop
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
mov edx, eax
xor edx, 0x7fc34bff
and eax, 0xffc34bff
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
mov ecx, edx
xor ecx, eax
add ecx, eax
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 5
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa8
jb 0x426030
lea edi, [esp + 0xfc2]
lea eax, [esp + 0x7c]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x11c]
lea edi, [esp + 0x1062]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0x97d0b5f
mov dword [esp + 0x80], 0x5880775
mov dword [esp + 0x84], 0x18f0375
mov dword [esp + 0x88], 0x1d641f71
mov dword [esp + 0x8c], 0x197e1b90
mov dword [esp + 0x90], 0x15611771
mov dword [esp + 0x94], 0x116e1366
mov dword [esp + 0x98], 0x2da72f61
mov dword [esp + 0x9c], 0x290a2ba1
mov dword [esp + 0xa0], 0x254a277a
mov dword [esp + 0xa4], 0x217f2340
mov dword [esp + 0xa8], 0x3db03fab
mov dword [esp + 0xac], 0x39413bb2
mov dword [esp + 0xb0], 0x35ba374a
mov dword [esp + 0xb4], 0x3149335e
mov dword [esp + 0xb8], 0x4dc34fbe
mov dword [esp + 0xbc], 0x493b4b3b
mov dword [esp + 0xc0], 0x4522473a
mov dword [esp + 0xc4], 0x4135432d
mov dword [esp + 0xc8], 0x5d225f32
mov dword [esp + 0xcc], 0x59d35b2d
mov dword [esp + 0xd0], 0x557657d5
mov dword [esp + 0xd4], 0x51295307
mov dword [esp + 0xd8], 0x6de36fdd
mov dword [esp + 0xdc], 0x69136b13
mov dword [esp + 0xe0], 0x6514671f
mov dword [esp + 0xe4], 0x6142631d
mov dword [esp + 0xe8], 0x7df57f0d
mov dword [esp + 0xec], 0x79f77b02
mov dword [esp + 0xf0], 0x75fb77ff
mov dword [esp + 0xf4], 0x710973f8
mov dword [esp + 0xf8], 0x8dea8f03
mov dword [esp + 0xfc], 0x89048bdc
mov dword [esp + 0x100], 0x85fc87f9
mov dword [esp + 0x104], 0x81f683f3
mov dword [esp + 0x108], 0x9d139ffb
mov dword [esp + 0x10c], 0x99cb9bf8
mov dword [esp + 0x110], 0x951a9713
mov dword [esp + 0x114], 0x91e393e0
mov dword [esp + 0x118], 0xaddbafe1
mov dword [esp + 0x11c], 0xa9edabc8
mov dword [esp + 0x120], 0xa5efa7e5
mov dword [esp + 0x124], 0xa1ffa3ef
mov dword [esp + 0x128], 0xbde4bffa
mov dword [esp + 0x12c], 0xb9f6bb8c
mov dword [esp + 0x130], 0xb5fbb7f7
mov dword [esp + 0x134], 0xb1fdb3fb
mov dword [esp + 0x138], 0xcdb2cfff
mov dword [esp + 0x13c], 0xc994cb81
mov dword [esp + 0x140], 0xc58ec780
mov dword [esp + 0x144], 0xc1f2c39b
mov dword [esp + 0x148], 0xdd91dff0
mov dword [esp + 0x14c], 0xd996dbec
mov dword [esp + 0x150], 0xd598d786
mov dword [esp + 0x154], 0xd198d38b
mov dword [esp + 0x158], 0xeda7ef9a
mov dword [esp + 0x15c], 0xe98eeba6
mov word [esp + 0x160], 0xe7e8
mov dword [esp + 0x162], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xe9
ja 0x4263c9
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
mov edx, eax
xor edx, 0xcf4f3803
and eax, 0xcf4f3803
lea eax, [edx + eax*2]
mov edx, eax
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
mov ecx, eax
not ecx
and ecx, 0xf
and eax, 0xf0
sub eax, ecx
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xea
jb 0x426360
lea edi, [esp + 0x1064]
lea eax, [esp + 0x7c]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x160]
mov ecx, 1
lea edi, [esp + 0x1148]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0xb1658f43
mov dword [esp + 0x80], 0xb520b355
mov dword [esp + 0x84], 0xb923b725
mov dword [esp + 0x88], 0xbd5cbb29
mov dword [esp + 0x8c], 0xa142bf28
mov dword [esp + 0x90], 0xa544a351
mov dword [esp + 0x94], 0xa94da742
mov dword [esp + 0x98], 0xad4dab4d
mov dword [esp + 0x9c], 0x517daf50
mov dword [esp + 0xa0], 0x557c5385
mov dword [esp + 0xa4], 0x59aa5784
mov dword [esp + 0xa8], 0x5dcd5ba9
mov dword [esp + 0xac], 0x41b25fc8
mov dword [esp + 0xb0], 0x45d343d1
mov dword [esp + 0xb4], 0x49ba47a9
mov dword [esp + 0xb8], 0x4dd84bb8
mov dword [esp + 0xbc], 0x71a84fdd
mov dword [esp + 0xc0], 0x759e739b
mov dword [esp + 0xc4], 0x79e37793
mov dword [esp + 0xc8], 0x7d8b7b84
mov dword [esp + 0xcc], 0x61ea7feb
mov dword [esp + 0xd0], 0x65f3638c
mov dword [esp + 0xd4], 0x698b67f5
mov dword [esp + 0xd8], 0x6db16b94
mov dword [esp + 0xdc], 0x11b76fb9
mov dword [esp + 0xe0], 0x15d713c7
mov dword [esp + 0xe4], 0x19d017d2
mov dword [esp + 0xe8], 0x1dce1bc8
mov dword [esp + 0xec], 0x1cb1fcf
mov dword [esp + 0xf0], 0x5d103d3
mov dword [esp + 0xf4], 0x9e207d7
mov dword [esp + 0xf8], 0xdc80bdd
mov dword [esp + 0xfc], 0x31d60fd4
mov dword [esp + 0x100], 0x35e233f3
mov dword [esp + 0x104], 0x39e537e4
mov dword [esp + 0x108], 0x3dee3be8
mov dword [esp + 0x10c], 0x21ec3ffe
mov dword [esp + 0x110], 0x25f423e3
mov dword [esp + 0x114], 0x29ff27f2
mov dword [esp + 0x118], 0x2dd62bfe
mov word [esp + 0x11c], 0x2f2c
lea eax, [esp + 0x11c]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xa6
ja 0x426642
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
mov edx, eax
xor edx, 0xddb5275d
and eax, 0xddb5275d
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
mov ecx, eax
xor ecx, 0xd1
and eax, 0x2e
add eax, eax
sub eax, ecx
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa7
jb 0x4265e0
lea edi, [esp + 0xe7e]
lea eax, [esp + 0x7c]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x11c]
lea edi, [esp + 0xf1e]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0xf965fbb7
mov dword [esp + 0x80], 0xfd68ff5d
mov dword [esp + 0x84], 0xf167f36d
mov dword [esp + 0x88], 0xf56cf761
mov dword [esp + 0x8c], 0xe946eb60
mov dword [esp + 0x90], 0xed71ef41
mov dword [esp + 0x94], 0xe146e37e
mov dword [esp + 0x98], 0xe56fe771
mov dword [esp + 0x9c], 0xd93adb71
mov dword [esp + 0xa0], 0xdd45df6b
mov dword [esp + 0xa4], 0xd147d349
mov dword [esp + 0xa8], 0xd54fd777
mov dword [esp + 0xac], 0xc958cb4b
mov dword [esp + 0xb0], 0xcd2ecf51
mov dword [esp + 0xb4], 0xc149c379
mov dword [esp + 0xb8], 0xc553c766
mov dword [esp + 0xbc], 0xb92fbb4b
mov dword [esp + 0xc0], 0xbd25bf2c
mov dword [esp + 0xc4], 0xb11eb32f
mov dword [esp + 0xc8], 0xb520b700
mov dword [esp + 0xcc], 0xa930ab25
mov dword [esp + 0xd0], 0xad32af37
mov dword [esp + 0xd4], 0xa137a337
mov dword [esp + 0xd8], 0xa569a70c
mov dword [esp + 0xdc], 0x99539b71
mov dword [esp + 0xe0], 0x9d5b9f53
mov dword [esp + 0xe4], 0x91289326
mov dword [esp + 0xe8], 0x95429740
mov dword [esp + 0xec], 0x895f8b43
mov dword [esp + 0xf0], 0x8d598f5f
mov dword [esp + 0xf4], 0x8126835b
mov dword [esp + 0xf8], 0x85408755
mov dword [esp + 0xfc], 0x79b27b4c
mov dword [esp + 0x100], 0x7dae7fbf
mov dword [esp + 0x104], 0x71a573ac
mov dword [esp + 0x108], 0x75a277a0
mov dword [esp + 0x10c], 0x69bc6bb2
mov dword [esp + 0x110], 0x6da46faf
mov dword [esp + 0x114], 0x61ab63a6
mov dword [esp + 0x118], 0x65ca67aa
mov word [esp + 0x11c], 0x5b64
lea eax, [esp + 0x11c]
mov word [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xa7
ja 0x4268c6
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
mov edx, eax
xor edx, 0x7fc34bff
and eax, 0xffc34bff
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
mov ecx, edx
xor ecx, eax
add ecx, eax
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 5
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa8
jb 0x426860
lea ebx, [esp + 0xfc2]
lea eax, [esp + 0x7c]
mov edi, ebx
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x11c]
lea edi, [esp + 0x1062]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0x97d0b5f
mov dword [esp + 0x80], 0x5880775
mov dword [esp + 0x84], 0x18f0375
mov dword [esp + 0x88], 0x1d641f71
mov dword [esp + 0x8c], 0x197e1b90
mov dword [esp + 0x90], 0x15611771
mov dword [esp + 0x94], 0x116e1366
mov dword [esp + 0x98], 0x2da72f61
mov dword [esp + 0x9c], 0x290a2ba1
mov dword [esp + 0xa0], 0x254a277a
mov dword [esp + 0xa4], 0x217f2340
mov dword [esp + 0xa8], 0x3db03fab
mov dword [esp + 0xac], 0x39413bb2
mov dword [esp + 0xb0], 0x35ba374a
mov dword [esp + 0xb4], 0x3149335e
mov dword [esp + 0xb8], 0x4dc34fbe
mov dword [esp + 0xbc], 0x493b4b3b
mov dword [esp + 0xc0], 0x4522473a
mov dword [esp + 0xc4], 0x4135432d
mov dword [esp + 0xc8], 0x5d225f32
mov dword [esp + 0xcc], 0x59d35b2d
mov dword [esp + 0xd0], 0x557657d5
mov dword [esp + 0xd4], 0x51295307
mov dword [esp + 0xd8], 0x6de36fdd
mov dword [esp + 0xdc], 0x69136b13
mov dword [esp + 0xe0], 0x6514671f
mov dword [esp + 0xe4], 0x6142631d
mov dword [esp + 0xe8], 0x7df57f0d
mov dword [esp + 0xec], 0x79f77b02
mov dword [esp + 0xf0], 0x75fb77ff
mov dword [esp + 0xf4], 0x710973f8
mov dword [esp + 0xf8], 0x8dea8f03
mov dword [esp + 0xfc], 0x89048bdc
mov dword [esp + 0x100], 0x85fc87f9
mov dword [esp + 0x104], 0x81f683f3
mov dword [esp + 0x108], 0x9d139ffb
mov dword [esp + 0x10c], 0x99cb9bf8
mov dword [esp + 0x110], 0x951a9713
mov dword [esp + 0x114], 0x91e393e0
mov dword [esp + 0x118], 0xaddbafe1
mov dword [esp + 0x11c], 0xa9edabc8
mov dword [esp + 0x120], 0xa5efa7e5
mov dword [esp + 0x124], 0xa1ffa3ef
mov dword [esp + 0x128], 0xbde4bffa
mov dword [esp + 0x12c], 0xb9f6bb8c
mov dword [esp + 0x130], 0xb5fbb7f7
mov dword [esp + 0x134], 0xb1fdb3fb
mov dword [esp + 0x138], 0xcdb2cfff
mov dword [esp + 0x13c], 0xc994cb81
mov dword [esp + 0x140], 0xc58ec780
mov dword [esp + 0x144], 0xc1f2c39b
mov dword [esp + 0x148], 0xdd91dff0
mov dword [esp + 0x14c], 0xd996dbec
mov dword [esp + 0x150], 0xd598d786
mov dword [esp + 0x154], 0xd198d38b
mov dword [esp + 0x158], 0xeda7ef9a
mov dword [esp + 0x15c], 0xe98eeba6
mov word [esp + 0x160], 0xe7e8
mov dword [esp + 0x162], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xe9
ja 0x426c09
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
mov edx, eax
xor edx, 0xcf4f3803
and eax, 0xcf4f3803
lea eax, [edx + eax*2]
mov edx, eax
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
mov ecx, eax
not ecx
and ecx, 0xf
and eax, 0xf0
sub eax, ecx
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xea
jb 0x426ba0
lea edi, [esp + 0x1064]
lea eax, [esp + 0x7c]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x160]
lea edi, [esp + 0x1148]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0xb1658f43
mov dword [esp + 0x80], 0xb520b355
mov dword [esp + 0x84], 0xb923b725
mov dword [esp + 0x88], 0xbd5cbb29
mov dword [esp + 0x8c], 0xa142bf28
mov dword [esp + 0x90], 0xa544a351
mov dword [esp + 0x94], 0xa94da742
mov dword [esp + 0x98], 0xad4dab4d
mov dword [esp + 0x9c], 0x517daf50
mov dword [esp + 0xa0], 0x557c5385
mov dword [esp + 0xa4], 0x59aa5784
mov dword [esp + 0xa8], 0x5dcd5ba9
mov dword [esp + 0xac], 0x41b25fc8
mov dword [esp + 0xb0], 0x45d343d1
mov dword [esp + 0xb4], 0x49ba47a9
mov dword [esp + 0xb8], 0x4dd84bb8
mov dword [esp + 0xbc], 0x71a84fdd
mov dword [esp + 0xc0], 0x759e739b
mov dword [esp + 0xc4], 0x79e37793
mov dword [esp + 0xc8], 0x7d8b7b84
mov dword [esp + 0xcc], 0x61ea7feb
mov dword [esp + 0xd0], 0x65f3638c
mov dword [esp + 0xd4], 0x698b67f5
mov dword [esp + 0xd8], 0x6db16b94
mov dword [esp + 0xdc], 0x11b76fb9
mov dword [esp + 0xe0], 0x15d713c7
mov dword [esp + 0xe4], 0x19d017d2
mov dword [esp + 0xe8], 0x1dce1bc8
mov dword [esp + 0xec], 0x1cb1fcf
mov dword [esp + 0xf0], 0x5d103d3
mov dword [esp + 0xf4], 0x9e207d7
mov dword [esp + 0xf8], 0xdc80bdd
mov dword [esp + 0xfc], 0x31d60fd4
mov dword [esp + 0x100], 0x35e233f3
mov dword [esp + 0x104], 0x39e537e4
mov dword [esp + 0x108], 0x3dee3be8
mov dword [esp + 0x10c], 0x21ec3ffe
mov dword [esp + 0x110], 0x25f423e3
mov dword [esp + 0x114], 0x29ff27f2
mov dword [esp + 0x118], 0x2dd62bfe
mov word [esp + 0x11c], 0x2f2c
lea eax, [esp + 0x11c]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xa6
ja 0x426e82
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
mov edx, eax
xor edx, 0xddb5275d
and eax, 0xddb5275d
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
mov ecx, eax
xor ecx, 0xd1
and eax, 0x2e
add eax, eax
sub eax, ecx
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa7
jb 0x426e20
lea edi, [esp + 0xe7e]
lea eax, [esp + 0x7c]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x11c]
lea edi, [esp + 0xf1e]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
jmp dword [0x44bbec]
mov eax, dword [esp + 0xc]
and al, 1
add esp, 0x21ec
pop esi
pop edi
pop ebx
pop ebp
ret
movzx ecx, word [esp + 0x11ec]
xor edi, edi
test cx, cx
je 0x426f14
xor edi, edi
lea eax, [esp + 0x11ec]
jmp 0x426eee
add edi, edx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
je 0x426f14
cmp eax, ebp
jae 0x426f14
movzx esi, cx
cmp esi, 0x800
mov ecx, 3
sbb ecx, 0
mov edx, 1
cmp esi, 0x80
jb 0x426ee0
mov edx, ecx
jmp 0x426ee0
lea eax, [edi + 1]
mov dword [esp + 8], eax
push eax
call fcn.0040c990
add esp, 4
lea ecx, [esp + 0x11ec]
cmp ecx, ebp
setb cl
mov dword [esp + 0x18], eax
mov ebp, eax
test edi, edi
jle 0x42701d
mov ebp, dword [esp + 0x18]
test cl, cl
je 0x42701d
mov ebp, dword [esp + 0x18]
lea eax, [edi + ebp]
mov dword [esp + 4], eax
add dword [esp + 8], ebp
lea edx, [esp + 0x11ee]
mov esi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [edx - 2]
test cx, cx
je 0x42701d
cmp cx, 0x7f
ja 0x426f90
mov byte [ebp], cl
mov edi, 1
jmp 0x427000
mov eax, ebp
not eax
add eax, dword [esp + 8]
movzx ebx, cx
cmp eax, 2
jb 0x426fd0
cmp ebx, 0x7ff
ja 0x426fd0
mov eax, ecx
shr eax, 6
add al, 0xc0
mov byte [ebp], al
and cl, 0x3f
or cl, 0x80
mov byte [ebp + 1], cl
mov edi, 2
jmp 0x427000
xor edi, edi
cmp eax, 3
jb 0x427000
mov eax, ebx
shr eax, 0xc
or al, 0xe0
mov byte [ebp], al
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [ebp + 1], bl
and cl, 0x3f
or cl, 0x80
mov byte [ebp + 2], cl
mov edi, 3
nop
nop
nop
nop
nop
add ebp, edi
cmp ebp, dword [esp + 4]
jae 0x42701b
lea eax, [edx + 2]
cmp edx, dword [esp + 0x14]
mov edx, eax
mov edi, esi
jb 0x426f70
jmp 0x42701d
mov edi, esi
mov byte [ebp], 0
mov dword [esp + 0x7c], 0x6f525101
mov dword [esp + 0x80], 0x5367666d
mov dword [esp + 0x84], 0x58646661
mov dword [esp + 0x88], 0x5b5b0223
mov dword [esp + 0x8c], 0x181d1e1c
mov dword [esp + 0x90], 0x1824055b
mov dword [esp + 0x94], 0x1e16101e
mov dword [esp + 0x98], 0x272a532f
mov dword [esp + 0x9c], 0xa134
mov byte [esp + 0xa0], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0x24
ja 0x4270ff
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
mov edx, eax
xor edx, 0xe6f180b0
and eax, 0xe6f180b0
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
mov ecx, eax
not ecx
and ecx, 0x70
and eax, 0x8f
sub eax, ecx
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0x25
jb 0x4270a0
lea eax, [esp + 0x7c]
mov ecx, dword [esp + 0x2200]
push edi
mov esi, dword [esp + 0x1c]
push esi
push eax
call fcn.0040d580
mov ebp, dword [esp + 0x14]
jmp dword [0x44bca8]
movzx ecx, word [esp + 0x11ec]
xor ebx, ebx
test cx, cx
je 0x427174
xor ebx, ebx
lea eax, [esp + 0x11ec]
jmp 0x42714e
add ebx, edx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
je 0x427174
cmp eax, ebp
jae 0x427174
movzx esi, cx
cmp esi, 0x800
mov ecx, 3
sbb ecx, 0
mov edx, 1
cmp esi, 0x80
jb 0x427140
mov edx, ecx
jmp 0x427140
lea eax, [ebx + 1]
mov dword [esp + 4], eax
push eax
call fcn.0040c990
add esp, 4
mov edi, eax
lea eax, [esp + 0x11ec]
cmp eax, ebp
setb al
mov dword [esp + 8], edi
mov ecx, ebx
mov dword [esp + 0xc], ebx
test ebx, ebx
jle 0x427275
mov edi, dword [esp + 8]
test al, al
je 0x427275
mov edi, dword [esp + 8]
mov eax, dword [esp + 0xc]
lea esi, [edi + eax]
add dword [esp + 4], edi
lea ebp, [esp + 0x11ee]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, word [ebp - 2]
test bx, bx
je 0x427275
cmp bx, 0x7f
ja 0x4271f0
mov byte [edi], bl
mov eax, 1
jmp 0x427260
mov ecx, edi
not ecx
add ecx, dword [esp + 4]
movzx edx, bx
cmp ecx, 2
jb 0x427230
cmp edx, 0x7ff
ja 0x427230
mov eax, ebx
shr eax, 6
add al, 0xc0
mov byte [edi], al
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
mov eax, 2
jmp 0x427260
xor eax, eax
cmp ecx, 3
jb 0x427260
mov eax, edx
shr eax, 0xc
or al, 0xe0
mov byte [edi], al
shr edx, 6
and dl, 0x3f
or dl, 0x80
mov byte [edi + 1], dl
and bl, 0x3f
or bl, 0x80
mov byte [edi + 2], bl
mov eax, 3
nop
nop
nop
nop
nop
nop
add edi, eax
cmp edi, esi
jae 0x427275
lea eax, [ebp + 2]
cmp ebp, dword [esp + 0x14]
mov ebp, eax
jb 0x4271d0
mov byte [edi], 0
mov dword [esp + 0x7c], 0x6f525101
mov dword [esp + 0x80], 0x5367666d
mov dword [esp + 0x84], 0x58646661
mov dword [esp + 0x88], 0x5b5b0223
mov dword [esp + 0x8c], 0x181d1e1c
mov dword [esp + 0x90], 0x1824055b
mov dword [esp + 0x94], 0x1e16101e
mov dword [esp + 0x98], 0x272a532f
mov dword [esp + 0x9c], 0xa134
mov byte [esp + 0xa0], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0x24
ja 0x42735f
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
mov edx, eax
xor edx, 0xe6f180b0
and eax, 0xe6f180b0
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
mov ecx, eax
not ecx
and ecx, 0x70
and eax, 0x8f
sub eax, ecx
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0x25
jb 0x427300
lea eax, [esp + 0x7c]
mov ecx, dword [esp + 0x2200]
push dword [esp + 0xc]
push dword [esp + 0xc]
push eax
call fcn.0040d580
mov ebp, dword [esp + 0x14]
jmp case.0x4257da.38
mov dword [esp + 0xc], eax
jmp dword [0x44bcac]
push esi
call fcn.0040c9a0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x44bcc0]
push edi
inc edx
add byte [esi + 0x100424d], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add al, dh
push edi
inc edx
add al, al
dec esi
inc edx
add al, al
dec esi
inc edx
add al, al
dec esi
inc edx
add dl, al
dec esi
inc edx
add byte [eax + 0x4d], dh
inc edx
add cl, bh
dec esi
inc edx
add al, ah
dec esi
inc edx
add byte [0x7000424f], ch
push ebx
inc edx
add byte [ebp - 0x56ffbdb1], cl
dec edi
inc edx
add al, al
dec edi
inc edx
add byte [esi - 0x4fffbdb0], cl
push ecx
inc edx
add byte [eax - 0x4fffbdb1], dh
dec edi
inc edx
add byte [esi - 0x4fffbdb0], cl
dec edi
inc edx
add byte [eax + edx*2 + 0x50a00042], dl
inc edx
add byte [edx - 0x5fffbdb0], ch
push eax
inc edx
add byte [eax + 0x4f], dl
inc edx
add byte [ebp - 0x25ffbdb0], bh
push edx
inc edx
add byte [eax], bl
push edx
inc edx
add byte [esi + 0x53], dh
inc edx
add byte [esi + 0x54], al
inc edx
add byte [esi + 0x54], al
inc edx
add al, ah
dec esi
inc edx
add dl, cl
pop eax
inc edx
add byte [eax + 0x4c], ah
inc edx
add ch, al
outsb dx, byte [esi]
inc edx
add byte [eax], ah
jno 0x44bce5
add byte [eax], ah
jno 0x44bce9
add byte [ecx - 0x74ffbd8d], al
jae 0x44bcf1
add byte [eax - 0x5fffbd8d], ah
jae 0x44bcf9
add byte [eax - 0x5fffbd8d], ah
jae 0x44bd01
add byte [esi + ebp*2 + 0x42], dh
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
nop
ja 0x44bd15
add byte [ebp + 0x77], cl
inc edx
add byte [edi - 0x3fffbd89], dl
jns 0x44bd21
add byte [edi + 0x79], bh
inc edx
add al, ah
jns 0x44bd29
add al, ah
jns 0x44bd2d
add al, ah
jns 0x44bd31
add al, ah
jns 0x44bd35
add byte [eax], dl
jp 0x44bd39
add byte [eax], dl
jp 0x44bd3d
add byte [eax], dl
jp 0x44bd41
add byte [edx], dl
jp 0x44bd45
add byte [edx], dl
jp 0x44bd49
add byte [eax], dh
jp 0x44bd4d
add byte [edx], dh
jp 0x44bd51
add byte [edx], dh
jp 0x44bd55
add byte [eax + 0x7a], dl
inc edx
jp 0x44bd59
add byte [ecx], ah
jnp 0x44bd5d
add byte [eax - 0x2fffbd85], al
jnp 0x44bd65
add byte [eax - 0x4ffbd84], dh
jl 0x44bd6d
add byte [ebx], ah
jge 0x44bd71
add byte [ebx], ah
jge 0x44bd75
add byte [ebx], ah
jge 0x44bd79
add byte [edx - 0x55ffbd84], ch
jl 0x44bd7d
add byte [edx - 0x29ffbd84], ch
jl 0x44bd81
add dh, dl
jge 0x44bd85
add byte [ebp - 0x5affbd85], ah
jnp 0x44bd89
add byte [ebp + 0x7000427b], ah
jnp 0x44bd8d
add byte [eax + 0x7b], dh
inc edx
jnp 0x44bd91
add byte [ebx + 0x1000427b], ch
jnp 0x44bd95
add byte [eax], dl
jnp 0x44bd99
add byte [ebp - 0x1cffbd87], ch
jns 0x44bd9d
inc edx
add bl, ah
jle 0x44bda1
add byte [eax - 0x1fffbd81], dh
jg 0x44bda9
add ah, al
jg 0x44bdad
add al, ah
jg 0x44bdb1
add al, al
jns 0x44bdb5
add dl, dh
add dword [edx], 0x427780
nop
ja 0x44bdbd
add byte [eax + 0x4d004277], dl
ja 0x44bdc1
add byte [ebp + 0x77], cl
inc edx
ja 0x44bdc5
add byte [ebx + 0x77], ah
inc edx
ja 0x44bdc9
add byte [ebx - 0x80], dl
inc edx
add dl, dh
add byte [edx], 0xf2
add dword [edx], 0x4281f2
rol dword [ecx - 0x7e23ffbe], cl
inc edx
add ah, bl
add dword [edx], 0x4281d3
fadd qword [ecx - 0x7e23ffbe]
inc edx
add byte [eax], dl
add dword [edx], 0x4281dc
fadd qword [ecx + 0x7a100042]
inc edx
add dword [edx], 0x4281dc
adc byte [edx + 0x42], bh
add dword [edx], 0x427a10
xor byte [edx + 0x42], bh
jp 0x44bde5
add byte [eax], dh
jp 0x44bde9
add byte [esi + 0x3500427c], bh
jl 0x44bded
add byte [0x6500427d], dh
jge 0x44bdf1
add byte [ebp + 0x7a], ah
inc edx
jp 0x44bdf5
add byte [edi + 0x2f00428d], dl
lea eax, [edx]
das
xchg dword [edx], eax
xchg edi, eax
lea eax, [edx]
dec ebx
xchg dword [edx], eax
cwde
mov word [edx], es
inc ebx
mov byte [edx], al
lodsb al, byte [esi]
lea eax, [edx]
jnp 0x44bd5a
inc edx
add byte [ebp + 0x20004288], dh
mov dword [edx], eax
add eax, 0x5004289
mov dword [edx], eax
sub eax, 0x58004289
mov dword [edx], eax
pop eax
mov word [edx], es
inc eax
mov dword [edx], eax
dec esi
mov dword [edx], eax
jno 0x44bd7f
mov dword [edx], eax
jno 0x44bd83
inc edx
add byte [ecx - 0x77], dh
inc edx
add byte [ebx - 0x1affbd77], al
mov al, byte [edx]
out dx, al
mov al, byte [edx]
or dword [ebx - 0x7460ffbe], ecx
inc edx
add byte [ebp + ecx*4 - 0x7253ffbe], ch
inc edx
add byte [ebp + ecx*4 - 0x7253ffbe], ch
inc edx
add byte [ebp - 0x6affbd75], dl
mov eax, dword [edx]
out dx, al
mov eax, dword [edx]
adc al, 0x8c
inc edx
add byte [edi], bl
mov word [edx], es
mov al, byte [0xa0004288]
mov byte [edx], al
mov al, byte [0xa7004288]
mov word [edx], es
mov ch, 0x8c
inc edx
add byte [ecx], al
lea eax, [edx]
lodsb al, byte [esi]
lea eax, [edx]
lodsb al, byte [esi]
lea eax, [edx]
lea ecx, [eax - 0x7295ffbe]
inc edx
add byte [edi - 0x73], dh
inc edx
add byte [edi - 0x73], dh
inc edx
add byte [eax - 0x68ffbd74], bl
lea eax, [edx]
push eax
mov word [edx], es
into
mov eax, dword [edx]
adc byte [esi - 0x7228ffbe], cl
inc edx
add byte [edi], dl
mov es, word [edx]
ljmp 0x428f