Function at 0x42c530
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x458
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x54], 0xf96efb91
mov dword [esp + 0x58], 0xfd59ff63
mov dword [esp + 0x5c], 0xf120f36f
mov dword [esp + 0x60], 0xf57ef76b
mov dword [esp + 0x64], 0xe9eaeb6f
mov byte [esp + 0x68], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x14
ja 0x42c2cb
nop
nop
nop
mov eax, dword [esp + 0xc]
movzx eax, byte [esp + eax + 0x54]
push dword [esp + 0xc]
push eax
call fcn.0042f8e0
add esp, 8
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x54], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x15
jb 0x42c2a0
lea ebx, [esp + 0x54]
lea ecx, [esp + 0x3c]
push ebx
call fcn.004440c0
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x4532ec]
lea ecx, [esp + 0x3c]
push 0x410
call fcn.004442c0
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4532f4]
xor ecx, ecx
jmp dword [0x453308]
mov dword [esp + 0x54], 0x9a63a885
mov dword [esp + 0x58], 0x909a7d80
mov dword [esp + 0x5c], 0x9c858361
mov dword [esp + 0x60], 0x978e8665
mov dword [esp + 0x64], 0x806b7266
mov dword [esp + 0x68], 0x8f6c766d
mov dword [esp + 0x6c], 0xb2a94eaa
mov dword [esp + 0x70], 0xb64fb453
mov dword [esp + 0x74], 0x46505652
mov dword [esp + 0x78], 0xbe437551
mov dword [esp + 0x7c], 0x1b6a4141
mov word [esp + 0x80], 0
mov byte [esp + 0x82], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x2e
ja 0x42c3bb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
movzx eax, byte [esp + eax + 0x54]
push dword [esp + 0xc]
push eax
call fcn.0042f950
add esp, 8
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x54], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x2f
jb 0x42c390
lea eax, [esp + 0xc]
lea ecx, [esp + 0x3c]
push 0
push 0x2b
push ebx
push eax
call fcn.00444dc0
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xor eax, eax
cmp edi, esi
sete al
jmp dword [eax*4 + 0x45330c]
mov eax, esi
sub eax, edi
sar eax, 3
mov edx, eax
and edx, 0x421
mov ecx, eax
or eax, 0x421
imul eax, edx
xor edx, 0x421
and ecx, 0xfffffbde
imul ecx, edx
add eax, ecx
push eax
call fcn.0040c4f0
add esp, 4
mov dword [esp + 0x38], 0
xor ecx, ecx
mov dword [esp + 0x50], esi
cmp edi, esi
setne cl
mov dword [esp + 0x34], eax
mov esi, eax
jmp dword [ecx*4 + 0x453324]
mov ecx, dword [esp + 0x38]
mov eax, ecx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x45332c]
mov edi, dword [esp + 0x34]
jmp dword [0x4533ac]
add edi, 8
xor eax, eax
cmp edi, dword [esp + 0x50]
setne al
jmp dword [eax*4 + 0x453324]
mov dword [esp + 8], esi
mov esi, dword [edi]
mov dword [esp + 0x24], edi
mov edi, dword [edi + 4]
push 0x400
push 0
push ebx
call fcn.0040c570
add esp, 0xc
mov eax, esp
lea ecx, [esp + 0x3c]
push eax
push 0
push 0x400
push ebx
push edi
push esi
call fcn.00444bc0
cmp eax, 0xc0000000
setae al
mov ecx, dword [esp]
or ecx, dword [esp + 4]
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x453334]
mov eax, 1
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 8]
jmp dword [eax*4 + 0x45333c]
xor eax, eax
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 8]
jmp dword [eax*4 + 0x45333c]
mov byte [esp + 0x453], 0
movzx eax, byte [esp + 0x54]
mov ecx, dword [case.0x42c3dd.16]
jmp case.0x42c3dd.14
xor edx, edx
jmp ecx
xor edx, edx
test al, al
je 0x42c512
mov ah, al
mov edx, ebx
nop
nop
cmp ah, 0x2e
je 0x42c512
mov ah, byte [edx + 1]
inc edx
test ah, ah
jne 0x42c520
jmp 0x42c510
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x453354]
movzx eax, byte [edx + 1]
inc edx
xor esi, esi
test al, al
je 0x42c561
mov ecx, edx
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x42c55f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42c550
jmp 0x42c561
mov esi, ecx
xor eax, eax
test esi, esi
setne al
mov dword [esp + 0x28], edx
jmp dword [eax*4 + 0x45335c]
mov eax, dword [case.0x42c3dd.12]
mov esi, dword [esp + 8]
jmp case.0x42c77b.2
mov eax, esi
sub eax, edx
mov dword [esp + 0x1c], eax
lea ebx, [eax + eax*2]
shr ebx, 2
movzx eax, byte [esi - 1]
cmp eax, 0x3d
je 0x42c59d
cmp eax, 0x2e
jne 0x42c59e
dec ebx
mov ecx, dword [esp + 0x1c]
mov eax, ecx
xor eax, 2
and ecx, 0xfffffffd
add ecx, ecx
sub ecx, eax
movzx eax, byte [edx + ecx]
cmp eax, 0x3d
je 0x42c5bc
cmp eax, 0x2e
jne 0x42c5c1
mov edi, edx
dec ebx
jmp 0x42c5c3
mov edi, edx
mov dword [esp + 0x4c], ebx
lea eax, [ebx + 1]
push eax
call fcn.0040c4f0
add esp, 4
mov dword [esp + 0x18], eax
cmp esi, edi
je 0x42c6d7
xor ecx, ecx
mov esi, 2
jmp 0x42c608
lea eax, [esi + 4]
add esi, 2
mov ecx, dword [esp + 0x2c]
cmp esi, edx
mov esi, eax
mov edi, dword [esp + 0x28]
jae 0x42c6d7
mov dword [esp + 0x20], ecx
movzx eax, byte [edi + esi - 2]
push eax
call fcn.00421630
add esp, 4
mov bh, al
movzx eax, byte [edi + esi - 1]
push eax
call fcn.00421630
add esp, 4
mov bl, al
shl bh, 2
shr al, 4
and al, 3
or al, bh
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov byte [ecx + edx], al
lea eax, [edx + 1]
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x1c]
cmp esi, edx
jae 0x42c5f0
mov eax, dword [esp + 0x28]
movzx eax, byte [eax + esi]
push eax
call fcn.00421630
mov edx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
je 0x42c5f0
mov ecx, dword [esp + 0x20]
add ecx, 2
mov dword [esp + 0x2c], ecx
shl bl, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, bl
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
mov byte [edi + ebx + 1], cl
lea ecx, [esi + 1]
cmp ecx, edx
jae 0x42c5f0
mov ecx, dword [esp + 0x28]
movzx ecx, byte [ecx + esi + 1]
push ecx
mov ebx, eax
call fcn.00421630
mov edx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
je 0x42c5f0
mov ecx, ebx
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
mov byte [ecx + edi + 2], al
add edi, 3
mov dword [esp + 0x2c], edi
jmp 0x42c5f0
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x18]
mov byte [esi + eax], 0
push esi
call fcn.00403b60
add esp, 4
mov ebx, eax
jmp dword [0x453364]
jmp dword [0x45336c]
mov edi, dword [esp + 0x24]
jmp dword [0x45337c]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x45338c]
mov esi, dword [esp + 8]
jmp 0x42c7d5
mov esi, eax
mov dword [esp + 0x30], 0xb7d81417
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 3
ja 0x42c766
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x30]
push dword [esp]
push eax
call fcn.0042f9d0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 4
jb 0x42c740
lea eax, [esp + 0x30]
push eax
push esi
call fcn.00404400
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x453394]
mov esi, dword [esp + 8]
jmp 0x42c7b3
movzx ecx, byte [eax]
test cl, cl
mov esi, dword [esp + 8]
je 0x42c7ab
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], cl
inc esi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x42c7a0
mov word [esi], 0x203a
add esi, 2
movzx eax, byte [esp + 0x54]
test al, al
je 0x42c7cb
lea ecx, [esp + 0x55]
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42c7c0
mov byte [esi], 0xa
inc esi
mov al, 1
mov dword [esp + 0x38], eax
push ebx
call fcn.00404720
add esp, 4
mov eax, dword [case.0x42c3dd.12]
lea ebx, [esp + 0x54]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
push esi
call fcn.0040c500
add esp, 4
push esi
call fcn.0040c500
add esp, 4
jmp dword [0x453374]
push ebx
call fcn.004044b0
add esp, 4
push ebx
call fcn.004044b0
add esp, 4
jmp dword [0x453388]
xor ecx, ecx
test edi, edi
jne 0x42c8f8
jmp case.0x42c2de.1
mov ebx, esi
mov esi, dword [ebp + 8]
mov byte [ebx], 0
mov dword [esp + 0x54], 0x67626151
mov dword [esp + 0x58], 0x234f4e55
mov dword [esp + 0x5c], 0x585c5e51
mov dword [esp + 0x60], 0x5a2a7693
mov dword [esp + 0x64], 0x4f955441
mov dword [esp + 0x68], 0x4943464b
mov dword [esp + 0x6c], 0x33368f4b
mov word [esp + 0x70], 0xb538
mov dword [esp + 0x72], 0
mov byte [esp + 0x76], 0
mov edi, dword [esp + 0x34]
sub ebx, edi
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x22
ja 0x42c8c6
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x54]
push dword [esp]
push eax
call fcn.0042fa60
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x54], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x23
jb 0x42c8a0
lea eax, [esp + 0x54]
mov ecx, esi
push ebx
push edi
push eax
call fcn.0040d2a0
mov ecx, eax
jmp dword [0x4533ac]
push edi
mov esi, ecx
call fcn.0040c500
mov ecx, esi
add esp, 4
and cl, 1
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
test edi, edi
je case.0x42c2de.1
cmp edi, esi
je case.0x42c2de.1
push edi
mov esi, ecx
call fcn.0040c500
mov ecx, esi
add esp, 4
mov ebx, ecx
lea ecx, [esp + 0x3c]
call fcn.00444410
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
xor ecx, ecx
test eax, eax
sete cl
mov esi, 0x20119
xor eax, eax
jmp dword [ecx*4 + 0x45342c]
jmp dword [eax*4 + 0x4533c4]
mov dword [esp + 0x14], 0x316c3f50
mov dword [esp + 0x18], 0x356b3377
mov dword [esp + 0x1c], 0x4963376f
mov dword [esp + 0x20], 0x4d184b1c
mov dword [esp + 0x24], 0x41224f27
mov dword [esp + 0x28], 0x4501431f
mov dword [esp + 0x2c], 0x591e4701
mov dword [esp + 0x30], 0x5d045b03
mov dword [esp + 0x34], 0x51325f1b
mov dword [esp + 0x38], 0x55035305
mov dword [esp + 0x3c], 0x69025712
mov dword [esp + 0x40], 0x6d296b01
mov dword [esp + 0x44], 0x61296f3e
mov dword [esp + 0x48], 0x6534630c
mov dword [esp + 0x4c], 0x791a6707
mov dword [esp + 0x50], 0x7d1d7b0e
mov dword [esp + 0x54], 0x712b7f10
mov dword [esp + 0x58], 0x75157304
mov dword [esp + 0x5c], 0x89097717
mov word [esp + 0x60], 0x8b88
mov dword [esp + 0x62], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x51
ja 0x42ca46
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.00430180
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x52
jb 0x42ca20
push 0
push 0
push esi
lea eax, [esp + 0x84]
push eax
push ebp
call fcn.0044aed0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x4533cc]
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x84]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x98]
call fcn.0044b2e0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4533d4]
mov ecx, dword [esp + 0x6c]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x42caad
mov eax, 0xffffffff
push eax
call fcn.0040c4f0
add esp, 4
mov esi, eax
mov dword [esp + 0x14], 0x93e491c9
mov dword [esp + 0x18], 0xaf22addf
mov dword [esp + 0x1c], 0xabdea9c9
mov dword [esp + 0x20], 0xa7f6a5d0
mov dword [esp + 0x24], 0xa32ea1c1
mov dword [esp + 0x28], 0xbfbebdc4
mov word [esp + 0x2c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x19
ja 0x42cb26
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.004301f0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1a
jb 0x42cb00
lea eax, [esp + 0x6c]
push eax
push esi
push 0
push ebp
push dword [esp + 0x88]
call fcn.0044b8b0
add esp, 0x14
shr eax, 0x1f
mov edi, esi
jmp dword [eax*4 + 0x4533dc]
xor edi, edi
jmp dword [0x4533e4]
push esi
call fcn.0040c500
add esp, 4
nop
nop
nop
nop
nop
mov esi, dword [esp + 0x78]
mov dword [esp], 0xc0c7c6c5
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 3
ja 0x42cba9
nop
nop
nop
nop
mov eax, dword [esp + 0x14]
movzx eax, byte [esp + eax]
push dword [esp + 0x14]
push eax
call fcn.004310b0
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 4
jb 0x42cb80
mov eax, dword [0x457518]
test eax, eax
je 0x42cbf0
mov ecx, dword [esp]
xor edx, edx
mov ebx, dword [0x45751c]
nop
nop
nop
cmp dword [ebx + edx*8], 0x625b6034
je 0x42cbe4
inc edx
cmp eax, edx
jne 0x42cbc0
jmp 0x42cbf0
mov eax, 4
xor ecx, ecx
cmp eax, 4
setl cl
jmp dword [ecx*4 + 0x45341c]
mov eax, dword [ebx + edx*8 + 4]
cmp eax, ecx
jne case.default.0x42cbfc
nop
nop
nop
nop
xor ecx, ecx
test edi, edi
setne cl
mov eax, 2
jmp dword [ecx*4 + 0x4533ec]
push ebp
call fcn.0044a570
add esp, 4
cmp dword [esp + 0x14], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4533f4]
xor eax, eax
jmp 0x42cc29
mov eax, 2
mov ecx, dword [case.0x42cc75.1]
nop
jmp ecx
xor ecx, ecx
cmp eax, 4
setl cl
jmp dword [ecx*4 + 0x45341c]
xor ecx, ecx
cmp eax, 4
sete cl
mov esi, 0x20119
xor eax, eax
jmp dword [ecx*4 + 0x453424]
push esi
push 1
push dword [0x457520]
push eax
call fcn.00447030
add esp, 0x10
xor ecx, ecx
test edi, edi
setne cl
mov eax, 2
jmp dword [ecx*4 + 0x4533ec]
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x453434]
mov ecx, edi
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x42cc90
sub eax, edi
cmp eax, 0xffffffd9
jge 0x42ccbd
mov eax, 0xffffffff
jmp 0x42ccc0
jmp dword [0x453444]
xor eax, eax
jmp 0x42dc53
add eax, 0x26
push eax
call fcn.0040c4f0
add esp, 4
mov ebx, eax
mov dword [esp + 0x14], 0x89378b28
mov dword [esp + 0x18], 0x85348739
mov dword [esp + 0x1c], 0x8135833e
mov dword [esp + 0x20], 0x9d3a9f39
mov dword [esp + 0x24], 0x992b9b21
mov dword [esp + 0x28], 0x952c972a
mov dword [esp + 0x2c], 0x912b9323
mov dword [esp + 0x30], 0x6de46f62
mov dword [esp + 0x34], 0x69d06bd0
mov word [esp + 0x38], 0x6768
mov dword [esp + 0x3a], 0
mov byte [esp + 0x3e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2a
ja 0x42cd66
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.00430260
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2b
jb 0x42cd40
movzx ecx, word [edi]
mov eax, ebx
test cx, cx
je 0x42cd91
lea edx, [edi + 2]
mov eax, ebx
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 0x42cd80
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x42cdc1
lea edx, [esp + 0x16]
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 0x42cdb0
mov word [eax], 0
jmp dword [0x45344c]
push edi
call fcn.0040c500
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x453460]
xor eax, eax
cmp word [ebx], 0x2a
sete al
jmp dword [eax*4 + 0x453464]
mov dword [esp + 0x14], 0x23e821e3
mov dword [esp + 0x18], 0x27c525c8
mov dword [esp + 0x1c], 0xdb44d947
mov dword [esp + 0x20], 0xdf47dd3a
mov dword [esp + 0x24], 0xd33ed137
mov dword [esp + 0x28], 0xd749d537
mov dword [esp + 0x2c], 0xcb2cc956
mov dword [esp + 0x30], 0xcf29cd55
mov dword [esp + 0x34], 0xc354c11e
mov dword [esp + 0x38], 0xc720c520
mov word [esp + 0x3c], 0xf9f8
mov dword [esp + 0x3e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2d
ja 0x42ce96
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.004302f0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2e
jb 0x42ce70
push 0
push ebp
push ebx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0x60
push 3
push 0x120089
lea eax, [esp + 0x84]
push eax
push ebx
call fcn.0044a790
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x45346c]
xor edi, edi
xor esi, esi
jmp dword [0x4534bc]
push ebx
call fcn.0040c500
add esp, 4
xor eax, eax
cmp edi, esi
sete al
jmp dword [eax*4 + 0x4534c4]
xor eax, eax
mov ebx, esi
test edi, edi
jne 0x42dc1c
jmp 0x42dc53
mov dword [esp + 0x10], ebx
push 0
lea eax, [esp + 0x84]
push eax
push dword [esp + 0x80]
call fcn.0044aae0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
xor ebx, ebx
jmp dword [eax*4 + 0x453474]
mov esi, dword [esp + 0x80]
lea eax, [esi + 1]
push eax
call fcn.0040c4f0
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x84]
call fcn.0044abc0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
xor ebx, ebx
jmp dword [eax*4 + 0x45347c]
mov esi, dword [esp + 0x80]
mov byte [edi + esi], 0
push 0x20
call fcn.0040c4f0
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 + 0x68], eax
mov ecx, eax
push esi
push edi
call fcn.0042fae0
movzx eax, al
mov dword [esp + 8], 0
xor ebx, ebx
jmp dword [eax*4 + 0x453484]
mov dword [esp + 0x8c], edi
mov dword [esp + 0x14], 0xd7e4eef3
mov dword [esp + 0x18], 0xe2d4e4d3
mov dword [esp + 0x1c], 0xe7ebff27
mov dword [esp + 0x20], 0xfc21e8da
mov dword [esp + 0x24], 0x1e131424
mov dword [esp + 0x28], 0x1415f4db
mov dword [esp + 0x2c], 0x2f142c17
mov word [esp + 0x30], 0xbd2f
mov dword [esp + 0x32], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x21
ja 0x42d056
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.00430e30
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x22
jb 0x42d030
mov ecx, dword [esp + 0x68]
push ebp
call fcn.0042fcd0
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 8], 0
xor ebx, ebx
jmp dword [ecx*4 + 0x45348c]
mov eax, dword [case.0x42cebf.6]
mov edi, dword [esp + 0x8c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x4534ac]
mov esi, dword [esp + 0x68]
mov ecx, esi
call fcn.0042fe50
push esi
call fcn.0040c500
add esp, 4
jmp dword [0x4534b4]
jmp dword [0x4534b4]
push edi
call fcn.0040c500
add esp, 4
mov esi, dword [esp + 0x78]
mov dword [esp], 0xc0c7c6c5
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 3
ja 0x42d109
nop
nop
nop
mov eax, dword [esp + 0x14]
movzx eax, byte [esp + eax]
push dword [esp + 0x14]
push eax
call fcn.004310b0
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 4
jb 0x42d0e0
mov eax, dword [0x457518]
test eax, eax
je 0x42d13c
mov ecx, dword [esp]
xor edx, edx
mov edi, dword [0x45751c]
nop
nop
nop
cmp dword [edi + edx*8], 0x625b6034
je 0x42d130
inc edx
cmp eax, edx
jne 0x42d120
jmp 0x42d13c
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x42d46e
mov edi, ebx
mov esi, dword [esp + 8]
mov ebx, dword [esp + 0x10]
jmp dword [0x4534bc]
xor eax, eax
cmp edi, esi
sete al
jmp dword [eax*4 + 0x4534c4]
mov dword [esp + 8], esi
mov eax, esi
sub eax, edi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.0040c4f0
add esp, 4
mov dword [esp + 0xc], eax
mov esi, dword [0x457514]
mov dword [esp + 0x14], 0x11e21f3b
mov dword [esp + 0x18], 0x15f71381
mov dword [esp + 0x1c], 0x98a17f7
mov dword [esp + 0x20], 0xd9a0bcb
mov dword [esp + 0x24], 0x1ca0f9c
mov dword [esp + 0x28], 0x59603e3
mov dword [esp + 0x2c], 0x392107e7
mov dword [esp + 0x30], 0x3dcf3bd4
mov dword [esp + 0x34], 0x31d93fa8
mov dword [esp + 0x38], 0x35ad33d3
mov dword [esp + 0x3c], 0x29aa37d8
mov dword [esp + 0x40], 0x2dcf2bb9
mov dword [esp + 0x44], 0x21b22fcf
mov dword [esp + 0x48], 0x25b423fe
mov dword [esp + 0x4c], 0xd9c027c0
mov dword [esp + 0x50], 0xdbd8
mov byte [esp + 0x54], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x40
ja 0x42d246
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.00430ea0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x41
jb 0x42d220
lea eax, [esp + 0x80]
push eax
push 0
push 0
push 0x1e
push ebp
push 0
call esi
mov esi, dword [esp + 0x80]
test esi, esi
mov dword [esp + 0x74], edi
jns 0x42d26f
mov eax, 0xffffffff
jmp 0x42d272
lea eax, [esi + esi]
push eax
call fcn.0040c4f0
add esp, 4
mov dword [esp + 0x70], eax
mov edi, dword [0x457514]
mov dword [esp + 0x14], 0x41f2472b
mov dword [esp + 0x18], 0x4def43d1
mov dword [esp + 0x1c], 0x49da4fef
mov dword [esp + 0x20], 0xb5da4b0b
mov dword [esp + 0x24], 0xb1fab724
mov dword [esp + 0x28], 0xbd2eb313
mov dword [esp + 0x2c], 0xb9d1bf1f
mov dword [esp + 0x30], 0xa507bb1c
mov dword [esp + 0x34], 0xa109a738
mov dword [esp + 0x38], 0xad35a303
mov dword [esp + 0x3c], 0xa93aaf08
mov dword [esp + 0x40], 0x9507ab39
mov dword [esp + 0x44], 0x91029737
mov dword [esp + 0x48], 0x9d0c93c6
mov dword [esp + 0x4c], 0x99309f30
mov word [esp + 0x50], 0x9b98
mov dword [esp + 0x52], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x41
ja 0x42d346
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.00430f20
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x42
jb 0x42d320
lea eax, [esp + 0x80]
push eax
push esi
mov esi, dword [esp + 0x78]
push esi
push 0x1e
push ebp
push 0
call edi
push 0x60
push 3
push 0x120089
lea eax, [esp + 0x78]
push eax
push esi
call fcn.0044a790
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4534cc]
xor ebx, ebx
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x74]
jmp dword [0x4535d4]
push dword [esp + 0x70]
call fcn.0040c500
add esp, 4
mov eax, ebx
and al, 1
movzx ecx, al
mov eax, ebx
jmp dword [ecx*4 + 0x4535dc]
mov byte [esi], 0
mov dword [esp + 0x14], 0x736e6959
mov dword [esp + 0x18], 0x57437a75
mov dword [esp + 0x1c], 0x50545249
mov dword [esp + 0x20], 0x4e5e7297
mov dword [esp + 0x24], 0x7b9d4449
mov dword [esp + 0x28], 0x4157425f
mov dword [esp + 0x2c], 0x4f428347
mov word [esp + 0x30], 0xb540
mov dword [esp + 0x32], 0
sub esi, dword [esp + 0xc]
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x21
ja 0x42d436
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.00431020
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x22
jb 0x42d410
mov ecx, dword [esp + 0xbc]
push esi
push dword [esp + 0x10]
push ebp
call fcn.0040d2a0
jmp dword [0x4535e4]
push dword [esp + 0xc]
mov esi, eax
call fcn.0040c500
mov eax, esi
add esp, 4
mov ebx, dword [esp + 8]
jmp dword [0x4535f0]
jmp dword [0x4534d8]
push esi
push 1
push dword [0x457520]
push eax
call fcn.00447030
add esp, 0x10
mov edi, ebx
mov esi, dword [esp + 8]
mov ebx, dword [esp + 0x10]
jmp dword [0x4534bc]
add eax, 8
mov dword [esp + 8], 0
mov esi, dword [eax]
xor eax, eax
test esi, esi
setne al
xor ebx, ebx
xor edi, edi
mov dword [esp + 0x70], 0
jmp dword [eax*4 + 0x453494]
mov ebx, dword [esp + 0x74]
mov eax, dword [esp + 0x84]
mov dword [ebx + eax + 4], ecx
add dword [esp + 8], 8
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
mov edi, ebx
lea ebp, [esp + 0x14]
jmp dword [eax*4 + 0x453494]
mov ebp, dword [esi]
mov dword [esp + 0xc], esi
mov dword [esp + 0x88], ebp
mov eax, dword [esp + 8]
mov ecx, eax
sub ecx, edi
mov ebx, dword [esp + 0x70]
cmp eax, ebx
mov dword [esp + 0x84], ecx
jne 0x42d5aa
mov ebp, ecx
mov eax, ecx
sar eax, 3
inc eax
mov ecx, ebx
not ecx
and ecx, edi
mov edx, edi
not edx
and edx, ebx
sub edx, ecx
sar edx, 3
mov ebx, edx
shr ebx, 1
add ebx, edx
cmp ebx, eax
ja 0x42d53a
mov ebx, eax
lea eax, [ebx*8]
push eax
call fcn.0040c4f0
add esp, 4
mov esi, eax
test edi, edi
mov ecx, ebp
je 0x42d592
mov ebp, dword [esp + 0x70]
cmp edi, ebp
je 0x42d582
mov edx, esi
xor eax, eax
nop
nop
mov ecx, dword [edi + eax]
mov dword [edx + eax], ecx
mov ecx, dword [edi + eax + 4]
mov dword [edx + eax + 4], ecx
mov dword [edi + eax], 0
lea ecx, [edi + eax]
add ecx, 8
add eax, 8
cmp ecx, ebp
jne 0x42d560
push edi
call fcn.0040c500
add esp, 4
mov ecx, dword [esp + 0x84]
mov edi, esi
lea eax, [esi + ebx*8]
mov dword [esp + 0x70], eax
mov eax, esi
add eax, ecx
mov esi, dword [esp + 0xc]
mov ebp, dword [esp + 0x88]
mov dword [esp + 8], eax
mov dword [edi + ecx], 0
mov dword [edi + ecx + 4], 0
xor ebx, ebx
nop
cmp byte [ebp + ebx], 0
lea ebx, [ebx + 1]
jne 0x42d5c0
push ebx
call fcn.0040c4f0
add esp, 4
mov dword [esp + 0x74], edi
mov ecx, dword [esp + 0x84]
mov dword [edi + ecx], 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 edx, ebx
and edx, 0xfffffffc
add eax, edx
add edx, ebp
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov ebp, edx
mov edi, eax
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
mov ecx, ebx
inc cl
test cl, 1
jne 0x42d62b
mov ecx, ebx
and ecx, 2
movzx edx, byte [edx + ecx]
mov byte [eax + ecx], dl
xor ecx, ecx
cmp ebx, 1
je 0x42d4c0
mov ecx, 0xffffffff
mov eax, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 0x88]
movzx edi, byte [edx + eax - 1]
xor edi, ecx
mov ecx, edi
shr ecx, 1
mov edx, edi
and edx, 1
neg edx
and edx, 0xedb88320
xor edx, ecx
mov ebp, edx
shr ebp, 1
mov ecx, edi
shl ecx, 0x1e
sar ecx, 0x1f
and ecx, 0xedb88320
xor ecx, ebp
mov esi, edi
shl esi, 0x1d
sar esi, 0x1f
and esi, 0x76dc419
mov ebp, edi
shl ebp, 0x1c
sar ebp, 0x1f
and ebp, 0xedb8832
xor ebp, esi
mov esi, edi
shl esi, 0x1b
sar esi, 0x1f
and esi, 0x1db71064
shl edi, 0x1a
sar edi, 0x1f
and edi, 0x3b6e20c8
xor edi, esi
xor edi, ebp
mov esi, ecx
shr esi, 6
xor edi, esi
shl edx, 0x1a
sar edx, 0x1f
and edx, 0x76dc4190
xor edx, edi
shl ecx, 0x1a
sar ecx, 0x1f
and ecx, 0xedb88320
xor ecx, edx
inc eax
cmp ebx, eax
jne 0x42d640
not ecx
mov esi, dword [esp + 0xc]
jmp 0x42d4c0
jmp dword [0x4535bc]
push dword [esp + 0x98]
call fcn.0040c500
add esp, 4
jmp case.0x42d377.6
add edi, 4
mov edi, dword [edi]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x453514]
mov edx, dword [edi]
cmp dword [edi + 0x18], 3
mov ebx, 0
jne case.default.0x42d734
mov ebx, dword [edi + 0x10]
test edx, edx
setne al
test ebx, ebx
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x45351c]
mov dword [esp + 0xa4], edx
mov dword [esp + 0x8c], edi
mov dword [esp + 0x68], esi
mov eax, ebx
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x42d7a2
sub ecx, ebx
inc ecx
shr ecx, 1
mov dword [esp + 0xa0], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040c4f0
add esp, 4
mov edi, eax
mov eax, dword [case.0x42d802.97]
mov ecx, dword [case.0x42d377.31]
mov dword [esp + 0x88], ecx
mov ecx, dword [case.0x42d377.33]
mov dword [esp + 0x84], ecx
movsx ecx, byte [ebx]
xor edx, edx
test ecx, ecx
setne dl
mov dword [esp + 0x9c], edi
jmp dword [edx*4 + 0x453524]
mov esi, dword [esp + 0xa4]
jmp dword [0x453554]
inc edi
movsx ecx, byte [ebp]
xor edx, edx
test ecx, ecx
setne dl
mov ebx, ebp
jmp dword [edx*4 + 0x453524]
lea edx, [ecx - 0x30]
cmp edx, 0xa
jb 0x42d7e2
mov edx, 0xffffffff
or ecx, 0x20
lea esi, [ecx - 0x61]
cmp esi, 6
jae case.default.0x42d802
add ecx, 0xffffffa9
mov edx, ecx
lea ebp, [ebx + 1]
movsx ecx, byte [ebx + 1]
mov esi, ebx
xor ebx, ebx
test ecx, ecx
setne bl
jmp dword [ebx*4 + 0x45352c]
mov ebp, esi
add ebp, 2
lea ebx, [ecx - 0x30]
cmp ebx, 0xa
jb 0x42d81b
mov ebx, 0xffffffff
or ecx, 0x20
lea esi, [ecx - 0x61]
cmp esi, 6
jae 0x42d82b
add ecx, 0xffffffa9
mov ebx, ecx
shl edx, 4
or edx, ebx
jmp eax
mov ecx, dword [esp + 0x84]
jmp dword [esp + 0x88]
mov byte [edi], dl
jmp ecx
mov byte [edi], dl
mov byte [edi], dl
jmp ecx
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x8c]
jmp dword [0x45359c]
push dword [esp + 0x9c]
call fcn.0040c500
add esp, 4
add edi, 4
mov edi, dword [edi]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x453514]
mov eax, dword [case.0x42d377.44]
jmp case.0x42d377.48
movzx eax, byte [edi]
test al, al
je 0x42d8ad
inc edi
mov ecx, dword [esp + 0x68]
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x42d8a0
jmp 0x42d8b1
mov ecx, dword [esp + 0x68]
mov word [ecx], 0x203a
add ecx, 2
mov edx, dword [esp + 0x78]
test edx, edx
mov edi, ecx
je 0x42d8eb
mov eax, dword [esp + 0x7c]
mov ecx, edx
and ecx, 3
je 0x42d8ef
xor esi, esi
movzx ebx, byte [eax]
cmp bl, 1
sbb eax, 0xffffffff
mov byte [edi + esi], bl
inc esi
cmp ecx, esi
jne 0x42d8d0
add edi, esi
mov ecx, edx
sub ecx, esi
mov esi, edi
jmp 0x42d8f1
mov esi, edi
jmp 0x42d939
mov ecx, edx
cmp edx, 4
jb 0x42d939
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi + 1], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi + 2], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
lea esi, [edi + 4]
mov byte [edi + 3], dl
mov edi, esi
add ecx, 0xfffffffc
jne 0x42d900
mov byte [esi], 0xa
inc esi
push 0xe050b307
push dword [0x45750c]
call fcn.00449de0
add esp, 8
push dword [esp + 0x7c]
call eax
mov al, 1
mov dword [esp + 0x10], eax
mov eax, dword [case.0x42d377.44]
mov dword [esp + 0x68], esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov byte [edi], 0
push 0
push 0x10
push 0
push esi
call fcn.0042fef0
add esp, 0x10
mov byte [edi], 0
push 0
push 0x10
push 0
push esi
call fcn.0042fef0
add esp, 0x10
jmp dword [0x45355c]
xor edi, edi
xor ebx, ebx
mov ebp, dword [esp + 0x74]
cmp ebp, dword [esp + 8]
setne bl
jmp dword [ebx*4 + 0x453564]
mov edi, dword [ebp]
xor ecx, ecx
jmp dword [ecx*4 + 0x453574]
add ebp, 8
xor ebx, ebx
cmp ebp, dword [esp + 8]
setne bl
jmp dword [ebx*4 + 0x453564]
mov esi, dword [ebp + 4]
mov ebx, esi
shr ebx, 0x1c
shl esi, 4
or esi, 1
xor ebx, edx
xor esi, eax
xor ecx, ecx
or esi, ebx
sete cl
jmp dword [ecx*4 + 0x45356c]
mov ecx, 1
jmp dword [ecx*4 + 0x453574]
xor eax, eax
test edi, edi
setne al
lea ebp, [esp + 0x14]
jmp dword [eax*4 + 0x45357c]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x18], eax
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x42da8e
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
push 0x6c625980
push dword [0x457524]
call fcn.00449de0
add esp, 8
mov ecx, esp
lea edx, [esp + 0x78]
push edx
push 1
push 0
push 0
push ecx
push 0
push ebp
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x453584]
mov dword [esp + 0x14], 0xbfaca683
mov dword [esp + 0x18], 0xb2bc8ca3
mov dword [esp + 0x1c], 0xbf8b877f
mov dword [esp + 0x20], 0x9471b8aa
mov dword [esp + 0x24], 0xb683bcac
mov dword [esp + 0x28], 0x89895e4b
mov dword [esp + 0x2c], 0x97b9848e
mov dword [esp + 0x30], 0x8fb5b457
mov dword [esp + 0x34], 0x118d
mov byte [esp + 0x38], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x24
ja 0x42db26
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.00430fb0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x25
jb 0x42db00
mov ecx, esi
push ebp
call fcn.0042fcd0
jmp dword [0x453504]
mov dword [esp + 0x14], 0xbfaca683
mov dword [esp + 0x18], 0xb2bc8ca3
mov dword [esp + 0x1c], 0xbf8b877f
mov dword [esp + 0x20], 0x9471b8aa
mov dword [esp + 0x24], 0xb683bcac
mov dword [esp + 0x28], 0x89895e4b
mov dword [esp + 0x2c], 0x97b9848e
mov dword [esp + 0x30], 0x8fb5b457
mov dword [esp + 0x34], 0x118d
mov byte [esp + 0x38], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x24
ja 0x42dbb6
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.00430fb0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x25
jb 0x42db90
mov ecx, esi
push ebp
call fcn.0042fcd0
jmp case.0x42d377.12
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x10], 0
mov esi, dword [esp + 0xc]
jmp dword [ecx*4 + 0x45350c]
add eax, 8
mov dword [esp + 0x10], 0
mov edi, dword [eax]
xor eax, eax
test edi, edi
setne al
mov esi, dword [esp + 0xc]
jmp dword [eax*4 + 0x453514]
mov ebx, dword [esp + 8]
jmp dword [0x4535f0]
jmp dword [0x4535f8]
jmp dword [0x4535f8]
and al, 1
test edi, edi
je 0x42dc53
cmp edi, ebx
je 0x42dc53
mov ebp, eax
mov esi, edi
jmp 0x42dc37
add esi, 8
cmp esi, ebx
je 0x42dc48
mov eax, dword [esi]
test eax, eax
je 0x42dc30
push eax
call fcn.0040c500
add esp, 4
jmp 0x42dc30
push edi
call fcn.0040c500
add esp, 4
mov eax, ebp
add esp, 0xa8
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x90]
push 0
push eax
push dword [esp + 0x74]
call fcn.0044aae0
add esp, 0xc
lea eax, [esp + 0x90]
push 0
push eax
push dword [esp + 0x74]
call fcn.0044aae0
add esp, 0xc
jmp dword [0x4534dc]
not eax
shr eax, 0x1f
mov dword [esp + 0x10], 0
mov esi, dword [esp + 0xc]
jmp dword [eax*4 + 0x4534e4]
mov ebx, dword [esp + 0x6c]
mov dword [esp], 0xc0c7c6c5
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 3
ja 0x42dcf9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x14]
movzx eax, byte [esp + eax]
push dword [esp + 0x14]
push eax
call fcn.004310b0
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 4
jb 0x42dcd0
mov eax, dword [0x457518]
test eax, eax
je 0x42de1e
mov ecx, dword [esp]
xor edx, edx
mov edi, dword [0x45751c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x625b6034
je 0x42de16
inc edx
cmp eax, edx
jne 0x42dd20
jmp 0x42de1e
mov esi, dword [esp + 0x90]
mov eax, esi
and eax, 1
mov ecx, esi
xor ecx, 1
lea eax, [ecx + eax*2]
push eax
call fcn.0040c4f0
add esp, 4
push 0
push esi
mov dword [esp + 0xa0], eax
push eax
push dword [esp + 0x78]
call fcn.0044abc0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x10], 0
mov esi, dword [esp + 0xc]
jmp dword [eax*4 + 0x4534ec]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x98]
mov byte [edi + esi], 0
push 0x20
call fcn.0040c4f0
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 + 0x94], eax
mov ecx, eax
push esi
push edi
call fcn.0042fae0
movzx eax, al
mov dword [esp + 0x10], 0
mov esi, dword [esp + 0xc]
jmp dword [eax*4 + 0x4534f4]
jmp dword [0x4535a4]
mov edi, dword [esp + 0x94]
mov ecx, edi
call fcn.0042fe50
push edi
call fcn.0040c500
add esp, 4
nop
nop
nop
nop
nop
jmp dword [0x4535b8]
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x42de42
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x10]
jmp dword [0x4535d4]
mov eax, ebx
and al, 1
movzx ecx, al
mov eax, ebx
jmp dword [ecx*4 + 0x4535dc]
jmp dword [0x4535e4]
push ebx
push 1
push dword [0x457520]
push eax
call fcn.00447030
add esp, 0x10
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x10]
jmp dword [0x4535d4]
mov esi, dword [esp + 0x94]
jmp dword [0x4534fc]
int3
mov edi, dword [esp + 0x48]
jmp dword [0x4536c8]
jmp dword [0x45369c]
push edi
call fcn.0040c500
add esp, 4
nop
push edi
call fcn.0040c500
add esp, 4
jmp dword [0x4536a8]
jmp dword [0x4536e4]
jmp dword [0x4536bc]
lea eax, [esi + 0x10]
cmp dword [esp + 0x54], 0xfffffff8
jge 0x42e24a
mov eax, 0xffffffff
push eax
call fcn.0040c4f0
add esp, 4
mov ebx, eax
mov dword [esp + 0xc], 0x29ce2bf5
mov dword [esp + 0x10], 0x2dfc2fb8
mov dword [esp + 0x14], 0xd14ad3b8
mov dword [esp + 0x18], 0xd5d6d744
mov byte [esp + 0x1c], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x10
ja 0x42e2bb
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
movzx eax, byte [esp + eax + 0xc]
push dword [esp + 8]
push eax
call fcn.004316b0
add esp, 8
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0xc], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x11
jb 0x42e290
movzx ecx, word [ebp]
mov eax, ebx
test cx, cx
je 0x42e2e1
lea edx, [ebp + 2]
mov eax, ebx
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42e2d0
mov word [eax], 0
movzx ecx, word [esp + 0xc]
test cx, cx
je 0x42e311
lea edx, [esp + 0xe]
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 0x42e300
mov word [eax], 0
mov ecx, dword [esp + 0xf0]
push dword [esp + 0x58]
push dword [esp + 0x60]
push ebx
call fcn.0040d0f0
lea eax, [esi + 0x10]
cmp dword [esp + 0x54], 0xfffffff8
jge 0x42e33a
mov eax, 0xffffffff
push eax
call fcn.0040c4f0
add esp, 4
mov ebx, eax
mov dword [esp + 0xc], 0x29ce2bf5
mov dword [esp + 0x10], 0x2dfc2fb8
mov dword [esp + 0x14], 0xd14ad3b8
mov dword [esp + 0x18], 0xd5d6d744
mov byte [esp + 0x1c], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x10
ja 0x42e3ab
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
movzx eax, byte [esp + eax + 0xc]
push dword [esp + 8]
push eax
call fcn.004316b0
add esp, 8
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0xc], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x11
jb 0x42e380
movzx ecx, word [ebp]
mov eax, ebx
test cx, cx
je 0x42e3d1
lea edx, [ebp + 2]
mov eax, ebx
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42e3c0
mov word [eax], 0
movzx ecx, word [esp + 0xc]
test cx, cx
je 0x42e401
lea edx, [esp + 0xe]
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 0x42e3f0
mov word [eax], 0
mov ecx, dword [esp + 0xf0]
push dword [esp + 0x58]
push dword [esp + 0x60]
mov edi, ebx
push ebx
call fcn.0040d0f0
jmp dword [0x45368c]
mov ebx, eax
jmp dword [0x453694]
push 0xe050b307
push dword [0x45750c]
call fcn.00449de0
add esp, 8
push dword [esp + 0x5c]
call eax
mov eax, dword [case.0x42cc75.179]
mov edi, dword [esp + 0x7c]
jmp case.0x42cc75.176
mov dword [esp + 0x80], ebx
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x45363c]
mov edi, dword [esp + 0x90]
mov ebx, dword [esp + 0x80]
jmp dword [0x453644]
push dword [esp + 0x80]
call fcn.0040c500
add esp, 4
push dword [esp + 0x80]
call fcn.0040c500
add esp, 4
jmp dword [0x453718]
push edi
call fcn.0040c500
add esp, 4
push edi
call fcn.0040c500
add esp, 4
jmp dword [0x4536d0]
mov eax, dword [case.0x42cc75.181]
mov edi, dword [esp + 0x7c]
nop
nop
jmp eax
push edi
call fcn.00404720
add esp, 4
push edi
call fcn.00404720
add esp, 4
jmp dword [0x4536ec]
mov eax, dword [case.0x42cc75.148]
nop
jmp eax
jmp dword [0x453704]
jmp dword [0x453710]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x4c], eax
mov dword [esp], 0xc0c7c6c5
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 3
ja 0x42e549
mov eax, dword [esp + 0xc]
movzx eax, byte [esp + eax]
push dword [esp + 0xc]
push eax
call fcn.004310b0
add esp, 8
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 4
jb 0x42e520
mov eax, dword [0x457518]
test eax, eax
je 0x42e580
mov ecx, dword [esp]
xor edx, edx
mov edi, dword [0x45751c]
nop
nop
nop
cmp dword [edi + edx*8], 0x625b6034
je 0x42e570
inc edx
cmp eax, edx
jne 0x42e560
jmp 0x42e580
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x42e586
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x45371c]
push dword [esp + 0x4c]
push 1
push dword [0x457520]
push eax
call fcn.00447030
add esp, 0x10
jmp dword [0x45371c]
push 0x6c625980
push dword [0x457524]
call fcn.00449de0
add esp, 8
lea ecx, [esp + 0x58]
mov edx, esp
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
push 0x6c625980
push dword [0x457524]
call fcn.00449de0
add esp, 8
lea ecx, [esp + 0x58]
mov edx, esp
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
jmp dword [0x453678]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x45367c]
xor ebx, ebx
mov eax, dword [case.0x42cc75.179]
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x453684]
mov edi, dword [esp + 0x90]
lea eax, [edi + 1]
push eax
call fcn.0040c4f0
add esp, 4
push 0
push edi
push eax
push dword [esp + 0x5c]
call fcn.0044abc0
add esp, 0x10
mov edi, dword [esp + 0x90]
lea eax, [edi + 1]
push eax
call fcn.0040c4f0
add esp, 4
mov ebx, eax
push 0
push edi
push eax
push dword [esp + 0x5c]
call fcn.0044abc0
add esp, 0x10
jmp dword [0x453638]
mov byte [ebx + edi], 0
push ebx
call fcn.00403b60
add esp, 4
mov byte [ebx + edi], 0
push ebx
call fcn.00403b60
add esp, 4
jmp dword [0x453650]
mov dword [esp + 0xa4], ecx
mov ebp, dword [esp + ecx + 0xc0]
mov esi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebp + esi + 2], 0
lea esi, [esi + 2]
jne 0x42e6b0
mov edx, esi
sar edx, 1
mov eax, dword [esp + 0x94]
lea ecx, [edx + eax]
mov dword [esp + 0x54], edx
add edx, eax
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x42e6e2
mov eax, 0xffffffff
push eax
call fcn.0040c4f0
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x44]
movzx eax, word [eax]
mov edi, ebx
test ax, ax
je 0x42e721
mov ecx, dword [esp + 0x98]
mov edi, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e710
mov word [edi], 0
mov word [edi], 0x5c
mov dword [esp + 0xc], 0x29662b78
mov dword [esp + 0x10], 0x2d8b2f99
mov dword [esp + 0x14], 0x319e338b
mov dword [esp + 0x18], 0x35633750
mov dword [esp + 0x1c], 0x399d3b80
mov dword [esp + 0x20], 0x3d953f8c
mov dword [esp + 0x24], 0x33c
add edi, 2
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1b
ja 0x42e7a6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0xc]
push dword [esp]
push eax
call fcn.004315c0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1c
jb 0x42e780
movzx eax, word [ebp]
test ax, ax
je 0x42e7d1
lea ecx, [ebp + 2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e7c0
mov word [edi], 0
movzx eax, word [esp + 0xc]
test ax, ax
je 0x42e801
lea ecx, [esp + 0xe]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e7f0
mov word [edi], 0
jmp dword [0x453610]
lea eax, [esp + 0x50]
push 0x60
push 3
push 0x120089
push eax
push ebx
call fcn.0044a790
add esp, 0x14
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [esp + 0x50]
push 0x60
push 3
push 0x120089
push eax
push ebx
call fcn.0044a790
add esp, 0x14
jmp dword [0x453614]
mov dword [esp + 0xa0], ebx
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x45361c]
xor ebx, ebx
jmp dword [0x45371c]
push dword [esp + 0xa0]
call fcn.0040c500
add esp, 4
movzx eax, bl
jmp dword [eax*4 + 0x453724]
lea eax, [esp + 0x90]
push 0
push eax
push dword [esp + 0x58]
call fcn.0044aae0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x453624]
jmp dword [0x453630]
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x453654]
mov edi, eax
push eax
call fcn.004044b0
add esp, 4
mov ebx, eax
mov dword [esp + 0xc], 0x835160b
mov dword [esp + 0x10], 0x1f021c1a
mov dword [esp + 0x14], 0x101c0cc2
mov dword [esp + 0x18], 0x71a0402
mov dword [esp + 0x1c], 0x10251515
mov word [esp + 0x20], 0xc19
mov byte [esp + 0x22], 0x82
mov word [esp + 0x23], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x18
ja 0x42e956
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0xc]
push dword [esp]
push eax
call fcn.00431640
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x19
jb 0x42e930
lea eax, [esp + 0xc]
push eax
push ebx
call fcn.004045f0
add esp, 8
mov ebx, eax
mov ecx, 0xffffffff
mov eax, 0xfffffffe
mov edx, 0xfffffffd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add eax, 2
add edx, 3
cmp byte [ebx + ecx + 1], 0
lea ecx, [ecx + 1]
jne 0x42e980
shr edx, 2
mov dword [esp + 0x40], ecx
movzx ecx, byte [ebx + ecx - 1]
cmp ecx, 0x3d
je 0x42e9a6
cmp ecx, 0x2e
jne 0x42e9a7
dec edx
mov ecx, dword [esp + 0x40]
xor ecx, 2
and eax, 0xfffffffa
sub eax, ecx
movzx eax, byte [ebx + eax]
cmp eax, 0x3d
mov dword [esp + 0x7c], edi
je 0x42e9c5
cmp eax, 0x2e
jne 0x42e9c6
dec edx
mov dword [esp + 0x9c], edx
lea eax, [edx + 1]
push eax
call fcn.0040c4f0
add esp, 4
mov dword [esp + 0x48], eax
cmp dword [esp + 0x40], 0
je 0x42eb03
xor edx, edx
mov edi, 2
mov dword [esp + 0x88], ebx
jmp 0x42ea1e
lea eax, [edi + 4]
add edi, 2
mov edx, dword [esp + 0x8c]
cmp edi, ecx
mov edi, eax
mov ebx, dword [esp + 0x88]
jae 0x42eb03
mov dword [esp + 0x4c], edx
movzx eax, byte [ebx + edi - 2]
push eax
call fcn.00421630
add esp, 4
mov ecx, ebx
mov ebx, eax
movzx eax, byte [ecx + edi - 1]
push eax
call fcn.00421630
mov edx, dword [esp + 0x50]
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
lea ecx, [edx + 1]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x48]
mov byte [ecx + edx], al
mov ecx, dword [esp + 0x40]
cmp edi, ecx
jae 0x42ea00
mov eax, dword [esp + 0x88]
movzx eax, byte [eax + edi]
push eax
call fcn.00421630
mov ecx, dword [esp + 0x44]
add esp, 4
cmp al, 0x40
je 0x42ea00
mov bl, al
mov edx, dword [esp + 0x4c]
lea eax, [edx + 2]
mov dword [esp + 0x8c], eax
shl bh, 4
mov eax, ebx
shr al, 2
and al, 0xf
or al, bh
mov ecx, dword [esp + 0x48]
mov byte [ecx + edx + 1], al
mov ecx, dword [esp + 0x40]
lea eax, [edi + 1]
cmp eax, ecx
jae 0x42ea00
mov eax, dword [esp + 0x88]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.00421630
mov ecx, dword [esp + 0x44]
add esp, 4
cmp al, 0x40
je 0x42ea00
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov byte [ecx + edx + 2], al
mov ecx, dword [esp + 0x40]
add edx, 3
mov dword [esp + 0x8c], edx
jmp 0x42ea00
mov eax, dword [esp + 0x9c]
add eax, 0xfffffffb
mov dword [esp], eax
mov eax, dword [esp + 0x48]
add eax, 5
mov dword [esp + 4], eax
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov eax, dword [case.0x42cc75.159]
jmp eax
mov edi, dword [esp + 0x7c]
jmp dword [0x45366c]
movzx eax, bl
jmp dword [eax*4 + 0x453724]
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x54]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
jns 0x42eb6d
mov eax, 0xffffffff
push eax
call fcn.0040c4f0
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x44]
movzx eax, word [eax]
mov edi, ebx
test ax, ax
je 0x42eba1
mov ecx, dword [esp + 0x98]
mov edi, ebx
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42eb90
mov word [edi], 0x5c
mov dword [esp + 0xc], 0x29e62bf8
mov dword [esp + 0x10], 0x2d8b2f99
mov dword [esp + 0x14], 0x319e338b
mov dword [esp + 0x18], 0x35e337d0
mov dword [esp + 0x1c], 0x398b3b80
mov dword [esp + 0x20], 0x3d993f8e
mov dword [esp + 0x24], 0x1a90395
mov dword [esp + 0x28], 0x5aa07dc
mov dword [esp + 0x2c], 0x9b00baf
mov dword [esp + 0x30], 0xda20fa3
mov dword [esp + 0x34], 0x11b413a8
mov word [esp + 0x38], 0x1710
lea eax, [esp + 0xc]
mov word [eax + 0x32], 0
mov dword [eax + 0x2e], 0
add edi, 2
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x33
ja 0x42ec56
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0xc]
push dword [esp]
push eax
call fcn.00431720
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x34
jb 0x42ec30
movzx eax, word [ebp]
test ax, ax
je 0x42ec81
lea ecx, [ebp + 2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42ec70
mov word [edi], 0
movzx eax, word [esp + 0xc]
test ax, ax
je 0x42ecb1
lea ecx, [esp + 0xe]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42eca0
mov word [edi], 0
add esi, 0x12
cmp dword [esp + 0x54], 0xfffffff7
jge 0x42ecc5
mov esi, 0xffffffff
push esi
call fcn.0040c4f0
add esp, 4
mov edi, eax
mov dword [esp + 0xc], 0x3f92396b
mov dword [esp + 0x10], 0x23b83d99
mov dword [esp + 0x14], 0x278a2185
mov dword [esp + 0x18], 0x2b8c2580
mov word [esp + 0x1c], 0x2928
lea eax, [esp + 0xc]
mov byte [eax + 0x16], 0
mov dword [eax + 0x12], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x16
ja 0x42ed46
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0xc]
push dword [esp]
push eax
call fcn.00431790
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x17
jb 0x42ed20
movzx ecx, word [ebp]
mov eax, edi
test cx, cx
je 0x42ed72
add ebp, 2
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebp]
add ebp, 2
test cx, cx
jne 0x42ed60
mov word [eax], 0
movzx ecx, word [esp + 0xc]
test cx, cx
je 0x42eda1
lea edx, [esp + 0xe]
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 0x42ed90
mov word [eax], 0
mov dword [esp + 0xc], 0x1f1e19f6
mov byte [esp + 0x10], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x42edf6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0xc]
push dword [esp]
push eax
call fcn.00431810
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x42edd0
push 0
push 0
push 0
push 0xc00000
lea eax, [esp + 0x1c]
push eax
push ebx
push edi
push dword [esp + 0x10c]
call fcn.00425710
add esp, 0x20
mov ecx, dword [esp + 0x84]
and cl, 1
or cl, al
mov dword [esp + 0x84], ecx
jmp dword [0x45372c]
push edi
call fcn.0040c500
add esp, 4
jmp dword [0x453734]
jmp dword [0x453734]
jmp dword [0x45373c]
push ebx
call fcn.0040c500
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call fcn.0040c500
add esp, 4
jmp dword [0x453744]
mov eax, dword [case.0x42cc75.218]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov ecx, dword [esp + 0xa4]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x4535fc]
jmp dword [0x453604]
push dword [esp + 0x44]
call fcn.0040c500
add esp, 4
mov eax, dword [esp + 0x84]
and al, 1
add esp, 0xdc
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
jmp dword [0x453874]
push dword [esp + 0x70]
mov esi, eax
call fcn.0040c500
mov eax, esi
add esp, 4
add esp, 0x80
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x24]
push 0
push eax
push dword [esp + 0x30]
call fcn.0044aae0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x10], 0
jmp dword [eax*4 + 0x453764]
jmp dword [0x45376c]
lea edi, [ebx + 0xa]
mov dword [esp + 0x1c], ebx
movzx eax, byte [ebx + 0xa]
xor ebx, ebx
test al, al
je 0x42f152
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x22
je 0x42f150
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42f140
jmp 0x42f152
mov ebx, ecx
mov eax, ebx
not eax
and eax, edi
mov ecx, edi
not ecx
and ecx, ebx
sub ecx, eax
mov eax, dword [case.0x42cc75.239]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp ecx, 5
setb al
jmp dword [eax*4 + 0x4537ac]
xor eax, eax
cmp byte [ebx - 1], 0x74
setne al
jmp dword [eax*4 + 0x4537b4]
xor eax, eax
cmp byte [ebx - 2], 0x78
setne al
jmp dword [eax*4 + 0x4537bc]
xor eax, eax
cmp byte [ebx - 3], 0x74
setne al
jmp dword [eax*4 + 0x4537c4]
xor eax, eax
cmp byte [ebx - 4], 0x2e
setne al
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], edi
jmp dword [eax*4 + 0x4537cc]
mov dword [esp + 0xc], ecx
jmp dword [0x4537d4]
mov esi, dword [esp + 0xc]
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x42f1e5
mov eax, 0xffffffff
push eax
call fcn.0040c4f0
add esp, 4
mov dword [esp + 0x2c], 0
lea ecx, [eax + esi*2]
mov esi, eax
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
cmp eax, ecx
jae 0x42f254
mov esi, dword [esp + 8]
cmp edi, dword [esp + 0x18]
jae 0x42f254
mov esi, dword [esp + 8]
mov ebp, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebp], 0
je 0x42f254
mov ebx, edi
lea eax, [esp + 0x2c]
push eax
mov edi, dword [esp + 0x1c]
push edi
push ebp
call fcn.00410f70
add esp, 0xc
movzx ecx, word [esp + 0x2c]
mov word [esi], cx
add esi, 2
cmp esi, dword [esp + 4]
jae 0x42f254
add ebp, eax
cmp ebp, edi
mov edi, ebx
jb 0x42f220
mov word [esi], 0
lea eax, [esp + 0x20]
push 0x60
push 3
push 0x120089
push eax
push dword [esp + 0x18]
call fcn.0044a790
add esp, 0x14
mov ebx, dword [esp + 0x18]
jmp case.0x42cc75.250
mov word [esi], 0
lea eax, [esp + 0x20]
push 0x60
push 3
push 0x120089
push eax
mov esi, dword [esp + 0x14]
push esi
call fcn.0044a790
add esp, 0x14
mov ebp, dword [esp + 0x78]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
jmp dword [0x4537dc]
mov esi, dword [esp + 0xc]
mov eax, esi
inc eax
jns 0x42f2d0
mov eax, 0xffffffff
jmp 0x42f2d7
lea eax, [esi*2 + 2]
push eax
call fcn.0040c4f0
add esp, 4
mov edi, ebx
test ebx, ebx
jne 0x42f2fb
mov ecx, dword [esp + 0x1c]
add ecx, 9
nop
nop
nop
lea edi, [ecx + 1]
cmp byte [ecx + 1], 0
mov ecx, edi
jne 0x42f2f0
lea ebx, [eax + esi*2]
add ebx, 2
mov dword [esp + 0x2c], 0
add ebx, 0xfffffffe
mov esi, eax
mov dword [esp + 4], eax
cmp eax, ebx
jae 0x42f280
mov esi, dword [esp + 4]
cmp dword [esp + 0x14], edi
jae 0x42f280
mov esi, dword [esp + 4]
mov ebp, dword [esp + 0x14]
cmp byte [ebp], 0
je 0x42f280
lea eax, [esp + 0x2c]
push eax
push edi
push ebp
call fcn.00410f70
add esp, 0xc
movzx ecx, word [esp + 0x2c]
mov word [esi], cx
add esi, 2
cmp esi, ebx
jae 0x42f280
add ebp, eax
cmp ebp, edi
jb 0x42f330
jmp 0x42f280
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4537e4]
jmp dword [0x453834]
lea eax, [esp + 0x74]
push 0
push eax
push dword [esp + 0x28]
call fcn.0044aae0
add esp, 0xc
test eax, eax
setns al
mov esi, dword [esp + 0x74]
cmp esi, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4537ec]
push esi
call fcn.0040c4f0
add esp, 4
push 0
push esi
mov dword [esp + 0x24], eax
push eax
push dword [esp + 0x2c]
call fcn.0044abc0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4537f4]
xor edx, edx
mov ecx, dword [esp + 4]
lea ebx, [esp + 0x2d]
jmp 0x42f3e8
add ecx, 2
test si, si
je 0x42f3f9
mov eax, edx
movzx esi, word [ecx]
mov edx, ecx
cmp si, 0x5c
je 0x42f3e0
mov edx, eax
jmp 0x42f3e0
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4537fc]
xor esi, esi
xor eax, eax
jmp 0x42f428
mov ecx, dword [esp + 4]
mov esi, ecx
not esi
and esi, eax
not eax
and eax, ecx
sub esi, eax
sar esi, 1
mov eax, esi
not eax
add eax, dword [esp + 0xc]
inc esi
add eax, 0x1b
push eax
call fcn.0040c4f0
add esp, 4
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc]
mov ecx, eax
not ecx
and ecx, esi
add edi, esi
not esi
and esi, eax
mov eax, esi
mov dword [esp + 0xc], ecx
sub eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x2c], 0xfcf2fcd9
mov dword [esp + 0x30], 0xf9c7f1f6
mov dword [esp + 0x34], 0xc29cb9cc
mov dword [esp + 0x38], 0x80cdf8c0
mov dword [esp + 0x3c], 0xf6c6ceee
mov dword [esp + 0x40], 0x8cf2f4c4
mov dword [esp + 0x44], 0x4a9693
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1b
ja 0x42f4c6
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x2c]
push dword [esp]
push eax
call fcn.00431a00
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x2c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1c
jb 0x42f4a0
movzx ecx, byte [esp + 0x2c]
mov eax, dword [esp + 8]
test cl, cl
je 0x42f4eb
mov eax, dword [esp + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [ebx]
inc ebx
test cl, cl
jne 0x42f4e0
mov byte [eax], 0
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x42f51e
mov edx, edi
mov edi, ebx
and edi, 3
je 0x42f522
xor ecx, ecx
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [eax + ecx], bl
inc ecx
cmp edi, ecx
jne 0x42f501
add eax, ecx
mov ebx, dword [esp + 0x14]
sub ebx, ecx
mov ecx, eax
jmp 0x42f522
mov ecx, eax
jmp 0x42f568
mov edi, dword [esp + 0xc]
sub edi, esi
cmp edi, 0xfffffffc
ja 0x42f568
mov esi, edx
movzx ecx, byte [esi]
cmp cl, 1
sbb esi, 0xffffffff
mov byte [eax], cl
movzx ecx, byte [esi]
cmp cl, 1
sbb esi, 0xffffffff
mov byte [eax + 1], cl
movzx ecx, byte [esi]
cmp cl, 1
sbb esi, 0xffffffff
mov byte [eax + 2], cl
movzx edx, byte [esi]
cmp dl, 1
sbb esi, 0xffffffff
lea ecx, [eax + 4]
mov byte [eax + 3], dl
mov eax, ecx
add ebx, 0xfffffffc
jne 0x42f52f
mov byte [ecx], 0
mov ecx, dword [esp + 0x94]
push dword [esp + 0x74]
push dword [esp + 0x20]
mov esi, dword [esp + 0x10]
push esi
call fcn.0040d2a0
mov ecx, dword [esp + 0x10]
and cl, 1
or cl, al
mov dword [esp + 0x10], ecx
mov ebx, dword [esp + 0x18]
jmp dword [0x453814]
push esi
call fcn.0040c500
add esp, 4
jmp dword [0x45381c]
jmp dword [0x45381c]
push dword [esp + 0x1c]
call fcn.0040c500
add esp, 4
mov eax, dword [case.0x42cc75.256]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov esi, dword [esp + 0x20]
mov dword [esp], 0xc0c7c6c5
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0x2c]
cmp eax, 3
ja 0x42f619
nop
nop
mov eax, dword [esp + 0x2c]
movzx eax, byte [esp + eax]
push dword [esp + 0x2c]
push eax
call fcn.004310b0
add esp, 8
mov ecx, dword [esp + 0x2c]
mov byte [esp + ecx], al
inc dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
cmp eax, 4
jb 0x42f5f0
mov eax, dword [0x457518]
test eax, eax
je 0x42f648
mov ecx, dword [esp]
xor edx, edx
mov edi, dword [0x45751c]
nop
nop
nop
cmp dword [edi + edx*8], 0x625b6034
je 0x42f640
inc edx
cmp eax, edx
jne 0x42f630
jmp 0x42f648
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x42f658
mov esi, dword [esp + 4]
jmp dword [0x453834]
jmp dword [0x45383c]
push esi
push 1
push dword [0x457520]
push eax
call fcn.00447030
add esp, 0x10
mov esi, dword [esp + 4]
jmp dword [0x453834]
mov edi, ebx
jmp dword [0x453858]
push esi
call fcn.0040c500
add esp, 4
push esi
call fcn.0040c500
add esp, 4
jmp dword [0x453844]
mov dword [esp + 0x2c], 0x1e121c1a
mov dword [esp + 0x30], 0x2150016
mov word [esp + 0x34], 0x5d3b
mov byte [esp + 0x36], 0x7e
mov word [esp + 0x37], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xc
ja 0x42f706
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x2c]
push dword [esp]
push eax
call fcn.00431990
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x2c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xd
jb 0x42f6e0
movzx ecx, byte [esp + 0x2c]
test cl, cl
je 0x42f750
lea eax, [esp + 0x2c]
mov ebx, edi
jmp 0x42f727
movzx ecx, byte [eax]
test cl, cl
je 0x42f762
movzx edx, byte [edi]
test dl, dl
je 0x42f760
inc edi
inc eax
lea esi, [ebx + 1]
cmp dl, cl
je 0x42f73b
mov ebx, esi
mov edi, esi
je 0x42f720
lea eax, [esp + 0x2c]
jmp 0x42f720
mov ebx, edi
jmp 0x42f762
xor ebx, ebx
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x453794]
mov eax, dword [case.0x42cc75.228]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
push ebp
call fcn.0040c500
add esp, 4
mov esi, dword [esp + 0x28]
mov dword [esp], 0xc0c7c6c5
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0x2c]
cmp eax, 3
ja 0x42f7d9
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x2c]
movzx eax, byte [esp + eax]
push dword [esp + 0x2c]
push eax
call fcn.004310b0
add esp, 8
mov ecx, dword [esp + 0x2c]
mov byte [esp + ecx], al
inc dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
cmp eax, 4
jb 0x42f7b0
mov eax, dword [0x457518]
test eax, eax
je 0x42f808
mov ecx, dword [esp]
xor edx, edx
mov edi, dword [0x45751c]
nop
nop
nop
cmp dword [edi + edx*8], 0x625b6034
je 0x42f800
inc edx
cmp eax, edx
jne 0x42f7f0
jmp 0x42f808
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x42f814
mov eax, dword [esp + 0x10]
and al, 1
jmp dword [0x453874]
push esi
push 1
push dword [0x457520]
push eax
call fcn.00447030
add esp, 0x10
mov eax, dword [esp + 0x10]
and al, 1
jmp dword [0x453874]
jmp dword [0x45386c]
mov esi, dword [esp + 0x24]
lea eax, [esi + 1]
push eax
call fcn.0040c4f0
add esp, 4
push 0
push esi
push eax
push dword [esp + 0x34]
call fcn.0044abc0
add esp, 0x10
mov esi, dword [esp + 0x24]
mov eax, esi
and eax, 1
mov ecx, esi
xor ecx, 1
lea eax, [ecx + eax*2]
push eax
call fcn.0040c4f0
add esp, 4
mov ebp, eax
push 0
push esi
push eax
push dword [esp + 0x34]
call fcn.0044abc0
add esp, 0x10
jmp dword [0x453778]
not eax
shr eax, 0x1f
mov dword [esp + 0x10], 0
jmp dword [eax*4 + 0x45377c]
mov dword [esp + 0x78], ebp
jmp dword [0x453784]
mov eax, dword [esp + 0x24]
mov byte [ebp + eax], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x24]
mov byte [ebp + eax], 0
mov dword [esp + 0x10], 0
mov edi, ebp
jmp dword [0x453790]
ret 0x42
ret
lds eax, [edx]
add ebp, 0xc6f40042
inc edx
add dl, bh
mov byte [edx], 0xfb
mov dword [edx], case.0x42c56c.5
cli
mov byte [edx], 242
mov dword [edx], case.0x42c56c.8
or cl, al
inc edx
add byte [edx], cl
enter 0x42, 4
mov dword [edx], case.0x42c56c.12
sbb eax, edi
inc edx
add byte [edx - 0x77ffbd39], al
mov dword [edx], case.0x42c77b.2
invalid
retf 0x42
retf
int3
inc edx
add cl, al
rol byte [edx], 1
ror dh, 1
inc edx
add byte [ecx + edx*8 + 0x42], cl
add byte [edx - 0x2f], bl
inc edx
add bh, ah
into
inc edx
add byte [esi - 0x2d], bh
rol dword [edx], cl
push 0x5e0042d4
fadd qword [edx]
je 0x4534b6
inc edx
rol dword [edx], cl
push 0x5e0042d4
fadd qword [edx]
je 0x4534b6
inc edx
add byte [eax + 0x5e0042dc], dl
fadd qword [edx]
test al, 0xdc
inc edx
add byte [edi], dh
fld qword [edx]
call 0x834577c7
fld qword [edx]
out dx, al
fld qword [edx]
invalid