Function at 0x42c280
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x460
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x5c], 0x37ba39b7
mov dword [esp + 0x60], 0x33533549
mov dword [esp + 0x64], 0x4f7c3145
mov dword [esp + 0x68], 0x4bc24d31
mov dword [esp + 0x6c], 0x47464935
mov dword [esp + 0x70], 0
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 0x17
ja 0x42c31b
mov eax, dword [esp + 0x14]
movzx eax, byte [esp + eax + 0x5c]
push dword [esp + 0x14]
push eax
call fcn.0042fc30
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx + 0x5c], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 0x18
jb case.default.0x42c32e
lea ebx, [esp + 0x5c]
lea ecx, [esp + 0x44]
push ebx
call fcn.00443190
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x45149c]
lea ecx, [esp + 0x44]
push 0x410
call fcn.00443390
not eax
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x4514a4]
mov dword [esp + 0x5c], 0x4e77b045
mov dword [esp + 0x60], 0xb8466d48
mov dword [esp + 0x64], 0x343d4769
mov dword [esp + 0x68], 0x233a3a15
mov dword [esp + 0x6c], 0xc81f1622
mov dword [esp + 0x70], 0x3b141a1d
mov dword [esp + 0x74], 0x26211a3e
mov dword [esp + 0x78], 0x221b240f
mov dword [esp + 0x7c], 0xa383236
mov dword [esp + 0x80], 0x2a0f6539
mov dword [esp + 0x84], 0x6f5e0909
mov dword [esp + 0x88], 0
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 0x2f
ja 0x42c3fb
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x14]
movzx eax, byte [esp + eax + 0x5c]
push dword [esp + 0x14]
push eax
call fcn.0042fc80
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx + 0x5c], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 0x30
jb 0x42c3d0
lea eax, [esp + 0x14]
lea ecx, [esp + 0x44]
push 0
push 0x2b
push ebx
push eax
call fcn.00443ef0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
xor eax, eax
cmp edi, esi
sete al
mov dword [esp + 0x24], esi
jmp dword [eax*4 + 0x4514ac]
mov eax, esi
sub eax, edi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.0040ca00
add esp, 4
jmp dword [0x4514c0]
mov dword [esp + 0x3c], 0
lea ecx, [esp + 0x5d]
mov dword [esp + 0x54], ecx
mov ecx, eax
xor eax, eax
cmp edi, esi
setne al
mov dword [esp + 0x30], ecx
mov edx, ecx
jmp dword [eax*4 + 0x4514c4]
mov ecx, dword [esp + 0x3c]
mov eax, ecx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x4514cc]
jmp dword [0x45152c]
add edi, 8
xor eax, eax
cmp edi, esi
setne al
jmp dword [eax*4 + 0x4514c4]
mov dword [esp + 0xc], edx
mov esi, dword [edi]
mov dword [esp + 0x34], edi
mov edi, dword [edi + 4]
push 0x400
push 0
push ebx
call fcn.0040ca80
add esp, 0xc
mov eax, esp
lea ecx, [esp + 0x44]
push eax
push 0
push 0x400
push ebx
push edi
push esi
call fcn.00443cd0
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 + 0x4514d4]
mov eax, 1
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
jmp dword [eax*4 + 0x4514dc]
xor eax, eax
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
jmp dword [eax*4 + 0x4514dc]
mov esi, edx
mov edx, ebx
mov byte [esp + 0x45b], 0
movzx eax, byte [esp + 0x5c]
xor ebx, ebx
test al, al
je 0x42c551
mov ecx, edx
nop
nop
cmp al, 0x2e
je 0x42c54f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42c540
jmp 0x42c551
mov ebx, ecx
xor eax, eax
mov ecx, ebx
test ebx, ebx
setne al
mov ebx, edx
mov edx, esi
mov esi, dword [esp + 0x24]
jmp dword [eax*4 + 0x4514e4]
inc ecx
mov dword [esp + 0x2c], ecx
movzx eax, byte [ecx]
xor ebx, ebx
test al, al
je 0x42c591
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x42c58f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42c580
jmp 0x42c591
mov ebx, ecx
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x4514ec]
mov eax, dword [case.0x42c421.12]
lea ebx, [esp + 0x5c]
jmp case.0x42c7cc.2
mov edx, ebx
mov esi, dword [esp + 0x2c]
sub edx, esi
mov eax, edx
and eax, 0xfffffffc
mov ecx, edx
and ecx, 3
mov edi, edx
or edi, 3
imul edi, ecx
xor ecx, 3
imul ecx, eax
add edi, ecx
shr edi, 2
movzx eax, byte [ebx - 1]
cmp eax, 0x3d
je 0x42c5e0
cmp eax, 0x2e
jne 0x42c5e1
dec edi
movzx eax, byte [esi + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0x38], edx
je 0x42c5f4
cmp eax, 0x2e
jne 0x42c5f5
dec edi
mov dword [esp + 0x58], edi
lea eax, [edi + 1]
push eax
call fcn.0040ca00
add esp, 4
mov dword [esp + 0x28], eax
cmp ebx, esi
je 0x42c6fa
xor edx, edx
mov edi, 2
jmp 0x42c630
mov edx, dword [esp + 0x40]
nop
nop
lea eax, [edi + 4]
add edi, 2
cmp edi, ecx
mov edi, eax
jae 0x42c6fa
mov dword [esp + 0x20], edx
mov esi, dword [esp + 0x2c]
movzx eax, byte [esi + edi - 2]
push eax
call fcn.00422020
add esp, 4
mov ebx, eax
movzx eax, byte [esi + edi - 1]
push eax
call fcn.00422020
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov byte [ecx + edx], al
inc edx
mov ecx, dword [esp + 0x38]
cmp edi, ecx
jae 0x42c620
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax + edi]
push eax
mov esi, edx
call fcn.00422020
mov edx, esi
mov ecx, dword [esp + 0x3c]
add esp, 4
cmp al, 0x40
je 0x42c620
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov esi, dword [esp + 0x20]
lea edx, [esi + 2]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x28]
mov byte [edx + esi + 1], al
lea eax, [edi + 1]
cmp eax, ecx
jae 0x42c61a
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.00422020
mov ecx, dword [esp + 0x3c]
add esp, 4
cmp al, 0x40
mov edx, dword [esp + 0x40]
je 0x42c620
shl bl, 6
add al, bl
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov byte [edx + esi + 2], al
add esi, 3
mov edx, esi
jmp 0x42c620
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x28]
mov byte [edi + eax], 0
push edi
call fcn.00403be0
add esp, 4
mov esi, eax
jmp dword [0x4514f4]
jmp dword [0x4514fc]
push edi
call fcn.0040ca10
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push edi
call fcn.0040ca10
add esp, 4
jmp dword [0x451508]
mov dword [esp + 0x20], esi
push esi
call fcn.004046d0
add esp, 4
mov ebx, eax
xor eax, eax
test ebx, ebx
setne al
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x24]
jmp dword [eax*4 + 0x45150c]
lea ebx, [esp + 0x5c]
jmp 0x42c829
mov dword [esp], 0x315c4849
mov dword [esp + 4], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 7
ja 0x42c7b9
nop
nop
nop
mov eax, dword [esp + 0x10]
movzx eax, byte [esp + eax]
push dword [esp + 0x10]
push eax
call fcn.0042fcf0
add esp, 8
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 8
jb 0x42c790
mov eax, esp
push eax
push ebx
call fcn.00404490
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x451514]
lea ebx, [esp + 0x5c]
mov edx, dword [esp + 0xc]
jmp 0x42c803
movzx ecx, byte [eax]
test cl, cl
lea ebx, [esp + 0x5c]
mov edx, dword [esp + 0xc]
je 0x42c7fb
inc eax
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x42c7f0
mov word [edx], 0x203a
add edx, 2
movzx eax, byte [esp + 0x5c]
test al, al
je 0x42c81b
mov ecx, dword [esp + 0x54]
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42c810
mov byte [edx], 0xa
inc edx
mov dword [esp + 0xc], edx
mov al, 1
mov dword [esp + 0x3c], eax
push dword [esp + 0x20]
call fcn.00404c80
add esp, 4
mov eax, dword [case.0x42c421.12]
mov edx, dword [esp + 0xc]
nop
nop
jmp eax
xor ecx, ecx
test edi, edi
jne 0x42c91f
jmp case.0x42c32e.1
mov byte [edx], 0
mov dword [esp + 0x5c], 0xdd1e1fcf
mov dword [esp + 0x60], 0x21d1d6db
mov dword [esp + 0x64], 0x2cd826df
mov dword [esp + 0x68], 0xda2ecee9
mov dword [esp + 0x6c], 0xd5efd0df
mov dword [esp + 0x70], 0xcbc5ce31
mov dword [esp + 0x74], 0x31328931
mov word [esp + 0x78], 0xab3c
mov dword [esp + 0x7a], 0
mov word [esp + 0x7e], 0
sub edx, dword [esp + 0x30]
mov esi, edx
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x23
ja 0x42c8e6
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x5c]
push dword [esp]
push eax
call fcn.0042fd50
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x5c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x24
jb 0x42c8c0
lea eax, [esp + 0x5c]
mov ecx, dword [ebp + 8]
push esi
push dword [esp + 0x34]
push eax
call fcn.0040d6e0
mov ecx, eax
jmp dword [0x45152c]
push dword [esp + 0x30]
mov esi, ecx
call fcn.0040ca10
mov ecx, esi
add esp, 4
and cl, 1
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
test edi, edi
je case.0x42c32e.1
cmp edi, esi
je case.0x42c32e.1
push edi
mov esi, ecx
call fcn.0040ca10
mov ecx, esi
add esp, 4
mov ebx, ecx
lea ecx, [esp + 0x44]
call fcn.00443500
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
test eax, eax
sete cl
mov ebx, 0x20119
xor eax, eax
jmp dword [ecx*4 + 0x4515cc]
jmp dword [eax*4 + 0x451544]
jmp dword [0x451550]
mov dword [ebp - 0x8c], 0x71ac7fd0
mov dword [ebp - 0x88], 0x75ab73b7
mov dword [ebp - 0x84], 0x49a377af
mov dword [ebp - 0x80], 0x4d984b9c
mov dword [ebp - 0x7c], 0x41e24fe7
mov dword [ebp - 0x78], 0x4581439f
mov dword [ebp - 0x74], 0x599e4781
mov dword [ebp - 0x70], 0x5d845b83
mov dword [ebp - 0x6c], 0x51f25f9b
mov dword [ebp - 0x68], 0x55835385
mov dword [ebp - 0x64], 0x29825792
mov dword [ebp - 0x60], 0x2de92b81
mov dword [ebp - 0x5c], 0x21e92ffe
mov dword [ebp - 0x58], 0x25f4238c
mov dword [ebp - 0x54], 0x399a2787
mov dword [ebp - 0x50], 0x3d9d3b8e
mov dword [ebp - 0x4c], 0x31eb3f90
mov dword [ebp - 0x48], 0x35953384
mov dword [ebp - 0x44], 0x9893797
mov word [ebp - 0x40], 0xb08
mov word [esi + 4], 0
mov dword [esi], 0
nop
mov dword [ebp - 0x8c], 0x71ac7fd0
mov dword [ebp - 0x88], 0x75ab73b7
mov dword [ebp - 0x84], 0x49a377af
mov dword [ebp - 0x80], 0x4d984b9c
mov dword [ebp - 0x7c], 0x41e24fe7
mov dword [ebp - 0x78], 0x4581439f
mov dword [ebp - 0x74], 0x599e4781
mov dword [ebp - 0x70], 0x5d845b83
mov dword [ebp - 0x6c], 0x51f25f9b
mov dword [ebp - 0x68], 0x55835385
mov dword [ebp - 0x64], 0x29825792
mov dword [ebp - 0x60], 0x2de92b81
mov dword [ebp - 0x5c], 0x21e92ffe
mov dword [ebp - 0x58], 0x25f4238c
mov dword [ebp - 0x54], 0x399a2787
mov dword [ebp - 0x50], 0x3d9d3b8e
mov dword [ebp - 0x4c], 0x31eb3f90
mov dword [ebp - 0x48], 0x35953384
mov dword [ebp - 0x44], 0x9893797
mov word [ebp - 0x40], 0xb08
mov word [esi + 4], 0
mov dword [esi], 0
jmp dword [0x451558]
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x53
ja 0x42cb7c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x8c]
push dword [ebp - 0x10]
push eax
call fcn.00430430
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [ebp + ecx - 0x8c], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x54
jb 0x42cb50
push 0
push 0
push ebx
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.00449a60
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x45155c]
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0xa4]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x30]
call fcn.00449e80
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x451564]
mov ecx, dword [ebp - 0xbc]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x42cbe4
mov eax, 0xffffffff
push eax
call fcn.0040ca00
add esp, 4
mov edi, eax
mov dword [ebp - 0x8c], 0xc958cb7b
mov dword [ebp - 0x88], 0xc54ac745
mov dword [ebp - 0x84], 0xc156c35b
mov dword [ebp - 0x80], 0xbd0ebf54
mov dword [ebp - 0x7c], 0xb936bb23
mov dword [ebp - 0x78], 0xb5b6b720
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x1b
ja 0x42cc6c
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x8c]
push dword [ebp - 0x10]
push eax
call fcn.00430490
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [ebp + ecx - 0x8c], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x1c
jb 0x42cc40
lea eax, [ebp - 0xbc]
push eax
push edi
push 0
lea eax, [ebp - 0x8c]
push eax
push dword [ebp - 0x30]
call fcn.0044a460
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x45156c]
jmp dword [0x451574]
jmp dword [0x451580]
push edi
call fcn.0040ca10
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
push edi
call fcn.0040ca10
add esp, 4
jmp dword [0x451588]
mov eax, dword [case.0x42cb97.2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor edi, edi
jmp eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x8c], 0x70605
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 7
ja 0x42cd2c
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x8c]
push dword [ebp - 0x10]
push eax
call fcn.00431160
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [ebp + ecx - 0x8c], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 8
jb 0x42cd00
mov eax, dword [0x455600]
test eax, eax
je 0x42cd80
mov ecx, dword [ebp - 0x8c]
xor edx, edx
mov ebx, dword [0x455604]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edx*8], 0x7e776f1
je 0x42cd74
inc edx
cmp eax, edx
jne 0x42cd50
jmp 0x42cd80
mov eax, 4
xor ecx, ecx
cmp eax, 4
setl cl
jmp dword [ecx*4 + 0x4515bc]
mov eax, dword [ebx + edx*8 + 4]
cmp eax, ecx
jne case.default.0x42cd8c
nop
nop
nop
nop
xor ecx, ecx
test edi, edi
setne cl
mov eax, 2
jmp dword [ecx*4 + 0x45159c]
lea eax, [ebp - 0x8c]
push eax
call fcn.00449120
add esp, 4
cmp dword [ebp - 0x8c], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4515a4]
xor eax, eax
jmp 0x42cdc1
mov eax, 2
mov ecx, dword [case.0x42ce17.1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
cmp eax, 4
setl cl
jmp dword [ecx*4 + 0x4515bc]
xor ecx, ecx
cmp eax, 4
sete cl
mov ebx, 0x20119
xor eax, eax
jmp dword [ecx*4 + 0x4515c4]
push dword [ebp - 0x14]
push 1
push dword [0x455608]
push eax
call fcn.00445ce0
add esp, 0x10
xor ecx, ecx
test edi, edi
setne cl
mov eax, 2
jmp dword [ecx*4 + 0x45159c]
xor eax, eax
test edi, edi
sete al
mov dword [ebp - 0x14], 0
jmp dword [eax*4 + 0x4515d4]
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x42ce40
sub eax, edi
cmp eax, 0xffffffd9
mov esi, dword [ebp - 0x28]
jge 0x42ce5c
mov eax, 0xffffffff
jmp 0x42ce5f
add eax, 0x26
push eax
call fcn.0040ca00
add esp, 4
mov ebx, eax
mov dword [ebp - 0x8c], 0x59ff5be8
mov dword [ebp - 0x88], 0x5dec5fe9
mov dword [ebp - 0x84], 0x51ed53e6
mov dword [ebp - 0x80], 0x55fa57e9
mov dword [ebp - 0x7c], 0xa91babf1
mov dword [ebp - 0x78], 0xad14af1a
mov dword [ebp - 0x74], 0xa11ba313
mov dword [ebp - 0x70], 0xa52ca7d2
mov dword [ebp - 0x6c], 0xb900bb00
mov word [ebp - 0x68], 0xbfb8
mov dword [ebp - 0x66], 0
mov word [ebp - 0x62], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x2b
ja 0x42cf0c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x8c]
push dword [ebp - 0x10]
push eax
call fcn.00430500
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [ebp + ecx - 0x8c], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x2c
jb 0x42cee0
movzx ecx, word [edi]
mov eax, ebx
test cx, cx
je 0x42cf31
lea edx, [edi + 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 0x42cf20
mov word [eax], 0
movzx ecx, word [ebp - 0x8c]
test cx, cx
je 0x42cf61
lea edx, [ebp - 0x8a]
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 0x42cf50
mov word [eax], 0
jmp dword [0x4515dc]
jmp dword [0x4515e4]
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x451674]
mov eax, dword [edx]
cmp dword [edx + 0x18], 3
mov ebx, 0
jne case.default.0x42cfa7
mov ebx, dword [edx + 0x10]
mov dword [ebp - 0x2c], eax
test eax, eax
setne al
test ebx, ebx
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x45168c]
mov dword [ebp - 0x34], edx
mov eax, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x42cfef
sub ecx, ebx
inc ecx
shr ecx, 1
mov dword [ebp - 0xa0], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040ca00
add esp, 4
movsx ecx, byte [ebx]
xor edx, edx
test ecx, ecx
setne dl
mov dword [ebp - 0x9c], eax
jmp dword [edx*4 + 0x451694]
inc ebx
mov byte [eax], dl
inc eax
movsx ecx, byte [ebx]
xor edx, edx
test ecx, ecx
setne dl
mov edi, dword [ebp - 0x1c]
jmp dword [edx*4 + 0x451694]
lea edx, [ecx - 0x30]
cmp edx, 0xa
jb 0x42d025
mov edx, 0xffffffff
or ecx, 0x20
lea esi, [ecx - 0x61]
cmp esi, 6
mov dword [ebp - 0x1c], edi
jae case.default.0x42d043
add ecx, 0xffffffa9
mov edx, ecx
movsx edi, byte [ebx + 1]
xor ecx, ecx
test edi, edi
setne cl
jmp dword [ecx*4 + 0x45169c]
lea ecx, [edi - 0x30]
cmp ecx, 0xa
jb 0x42d057
mov ecx, 0xffffffff
or edi, 0x20
lea esi, [edi - 0x61]
cmp esi, 6
jae case.default.0x42d089
add edi, 0xffffffa9
mov ecx, edi
mov edi, dword [ebp - 0x1c]
shl edx, 4
add ebx, 2
mov esi, ecx
not esi
and esi, edx
xor ecx, edx
add ecx, edx
sub ecx, esi
mov byte [eax], cl
inc eax
movsx ecx, byte [ebx]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x451694]
mov byte [eax], 0
push 0
push 0x10
push 0
push dword [ebp - 0x2c]
call fcn.004301a0
add esp, 0x10
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x38], edx
mov ecx, dword [case.0x42d043.103]
mov dword [ebp - 0x28], 0
xor eax, eax
mov esi, dword [ebp - 0x24]
cmp edi, esi
setne al
mov edx, edi
mov edi, dword [case.0x42d4c3.25]
mov dword [ebp - 0x1c], edx
jmp dword [eax*4 + 0x4516a4]
mov eax, dword [edx]
mov dword [ebp - 0x28], eax
xor eax, eax
mov esi, dword [ebp - 0x24]
jmp dword [eax*4 + 0x4516d4]
add edx, 8
xor eax, eax
cmp edx, esi
setne al
jmp dword [eax*4 + 0x4516a4]
jmp ecx
mov dword [ebp - 0x24], esi
mov eax, dword [edx + 4]
mov esi, eax
shr esi, 0x1c
shl eax, 4
or eax, 1
xor esi, dword [ebp - 0x38]
xor eax, dword [ebp - 0x2c]
xor ebx, ebx
or eax, esi
sete bl
jmp dword [ebx*4 + 0x4516bc]
jmp edi
mov eax, 1
mov esi, dword [ebp - 0x24]
jmp dword [eax*4 + 0x4516d4]
mov dword [ebp - 0x24], esi
xor eax, eax
mov edx, dword [ebp - 0x28]
test edx, edx
setne al
jmp dword [eax*4 + 0x4516dc]
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
jmp dword [0x4516ec]
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xa0]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x9c]
mov dword [eax + 4], ecx
mov eax, 0xffffffff
mov ebx, dword [ebp - 0xac]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edx + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x42d1e4
mov esi, dword [ebp - 0xc0]
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [ebx], 0
mov dword [ebx + 4], 0
push 0x31f26afb
push dword [0x45560c]
mov dword [ebp - 0x28], edx
call fcn.004488d0
add esp, 8
push ebx
push 1
push 0
push 0
push esi
push 0
push dword [ebp - 0xb0]
call eax
xor ecx, ecx
test eax, eax
setne cl
mov edi, dword [ebp - 0x1c]
jmp dword [ecx*4 + 0x4516e4]
mov edx, dword [ebp - 0x34]
jmp dword [0x4516ec]
mov edx, dword [ebp - 0x28]
movzx eax, byte [edx]
test al, al
je 0x42d21d
inc edx
mov ecx, dword [ebp - 0x18]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x42d210
jmp 0x42d220
mov ecx, dword [ebp - 0x18]
mov word [ecx], 0x203a
mov eax, ecx
add eax, 2
mov edi, dword [ebx]
test edi, edi
je 0x42d25b
mov ecx, dword [ebx + 4]
mov edx, edi
and edx, 3
je 0x42d25f
xor esi, esi
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + esi], bl
inc esi
cmp edx, esi
jne 0x42d240
add eax, esi
mov edx, edi
sub edx, esi
mov esi, eax
jmp 0x42d261
mov esi, eax
jmp 0x42d2a9
mov edx, edi
cmp edi, 4
jb 0x42d2a9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
lea esi, [eax + 4]
mov byte [eax + 3], bl
mov eax, esi
add edx, 0xfffffffc
jne 0x42d270
mov byte [esi], 0xa
inc esi
mov dword [ebp - 0x18], esi
push 0xd80d2c4a
push dword [0x4555f4]
call fcn.004488d0
add esp, 8
mov ecx, dword [ebp - 0xac]
push dword [ecx + 4]
call eax
mov al, 1
mov dword [ebp - 0x14], eax
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
jmp dword [0x4516ec]
push dword [ebp - 0x9c]
call fcn.0040ca10
mov edx, dword [ebp - 0x34]
add esp, 4
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x451674]
jmp dword [0x451684]
test edi, edi
je case.0x42da80.61
cmp edi, ebx
je case.0x42da80.61
mov esi, edi
jmp 0x42d337
add esi, 8
cmp esi, ebx
je 0x42d348
mov eax, dword [esi]
test eax, eax
je 0x42d330
push eax
call fcn.0040ca10
add esp, 4
jmp 0x42d330
push edi
call fcn.0040ca10
add esp, 4
xor ebx, ebx
xor edi, edi
jmp case.0x42da80.61
push edi
call fcn.0040ca10
add esp, 4
xor ebx, ebx
xor edi, edi
jmp dword [0x451748]
test edi, edi
je 0x42d36d
cmp edi, ebx
je 0x42d36d
mov esi, edi
jmp 0x42d387
add esi, 8
cmp esi, ebx
je 0x42d360
mov eax, dword [esi]
test eax, eax
je 0x42d380
push eax
call fcn.0040ca10
add esp, 4
jmp 0x42d380
mov eax, dword [ebp - 0x14]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [edi]
mov edi, dword [ebp - 0x98]
mov byte [edi + esi], 0
push 0x20
call fcn.0040ca00
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 [ebp - 0x90], eax
mov ecx, eax
push esi
push edi
call fcn.0042fdb0
movzx eax, al
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x18], ecx
mov edi, dword [ebp - 0x1c]
jmp dword [eax*4 + 0x451664]
mov esi, dword [ebp - 0x9c]
mov dword [esi], 0xebf4eacf
mov dword [esi + 4], 0xc6d4fce7
mov dword [esi + 8], 0xcbc7fb93
mov dword [esi + 0xc], 0xfc99c0de
mov dword [esi + 0x10], 0xc2cfccdc
mov dword [esi + 0x14], 0xc1c1ea9f
mov dword [esi + 0x18], 0xc3d1d4c2
mov dword [esi + 0x1c], 0xd3ddd4f3
mov dword [esi + 0x20], 0xb9dd
mov dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x8c]
cmp eax, 0x23
ja 0x42d4a3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x8c]
movzx eax, byte [esi + eax]
push dword [ebp - 0x8c]
push eax
call fcn.004310b0
add esp, 8
mov ecx, dword [ebp - 0x8c]
mov byte [esi + ecx], al
inc dword [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
cmp eax, 0x24
jb 0x42d470
mov ecx, dword [ebp - 0x90]
push esi
call fcn.0042ffa0
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x18], edx
jmp dword [ecx*4 + 0x45166c]
mov dword [ebp - 0x1c], edi
mov ebx, dword [ebp - 0xb8]
jmp dword [0x4516f4]
mov esi, dword [ebp - 0x90]
mov ecx, esi
call fcn.00430100
push esi
call fcn.0040ca10
add esp, 4
jmp dword [0x4516fc]
add eax, 8
mov dword [ebp - 0x14], 0
mov edx, dword [eax]
xor eax, eax
test edx, edx
setne al
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x18], ecx
jmp dword [eax*4 + 0x451674]
mov dword [ebp - 0x8c], 0x23e821e3
mov dword [ebp - 0x88], 0x27852588
mov dword [ebp - 0x84], 0x3b843987
mov dword [ebp - 0x80], 0x3f873d9a
mov dword [ebp - 0x7c], 0x339e3197
mov dword [ebp - 0x78], 0x37893597
mov dword [ebp - 0x74], 0xbac09b6
mov dword [ebp - 0x70], 0xfa90db5
mov dword [ebp - 0x6c], 0x3b401fe
mov dword [ebp - 0x68], 0x7a005a0
mov dword [ebp - 0x64], 0x1918
mov byte [ebp - 0x60], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x2c
ja 0x42d5ac
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x8c]
push dword [ebp - 0x10]
push eax
call fcn.00430540
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [ebp + ecx - 0x8c], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x2d
jb 0x42d580
push 0
lea eax, [ebp - 0x8c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0x60
push 3
push 0x120089
lea eax, [ebp - 0x30]
push eax
push ebx
call fcn.00449330
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [ebp - 0x98], ebx
jmp dword [eax*4 + 0x4515fc]
xor edi, edi
xor ebx, ebx
jmp dword [0x45163c]
push dword [ebp - 0x98]
call fcn.0040ca10
add esp, 4
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x451644]
mov dword [ebp - 0x14], 0
jmp dword [0x451740]
push 0
lea eax, [ebp - 0xa4]
push eax
push dword [ebp - 0x30]
call fcn.00449670
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
xor edi, edi
jmp dword [eax*4 + 0x451604]
mov esi, dword [ebp - 0xa4]
lea eax, [esi + 1]
push eax
call fcn.0040ca00
add esp, 4
push 0
push esi
mov dword [ebp - 0x90], eax
push eax
push dword [ebp - 0x30]
call fcn.00449750
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
xor edi, edi
jmp dword [eax*4 + 0x45160c]
mov esi, dword [ebp - 0xa4]
mov edi, dword [ebp - 0x90]
mov byte [edi + esi], 0
push 0x20
call fcn.0040ca00
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 [ebp - 0xa8], eax
mov ecx, eax
push esi
push edi
call fcn.0042fdb0
movzx eax, al
xor ebx, ebx
xor edx, edx
jmp dword [eax*4 + 0x451614]
mov dword [ebp - 0x8c], 0xc5d0daa1
mov dword [ebp - 0x88], 0xdec8d8c1
mov dword [ebp - 0x84], 0xd5dda995
mov dword [ebp - 0x80], 0x90afe4ca
mov dword [ebp - 0x7c], 0xeae5e0f0
mov dword [ebp - 0x78], 0xe8eb88a9
mov dword [ebp - 0x74], 0xfde0f8e5
mov dword [ebp - 0x70], 0x6ffd
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x1f
ja 0x42d75c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x8c]
push dword [ebp - 0x10]
push eax
call fcn.00430fb0
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [ebp + ecx - 0x8c], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x20
jb 0x42d730
mov ecx, dword [ebp - 0xa8]
lea eax, [ebp - 0x8c]
push eax
call fcn.0042ffa0
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
jmp dword [ecx*4 + 0x45161c]
mov edi, edx
jmp dword [0x45162c]
mov esi, dword [ebp - 0xa8]
mov ecx, esi
call fcn.00430100
push esi
call fcn.0040ca10
add esp, 4
jmp dword [0x451634]
jmp dword [0x451634]
push dword [ebp - 0x90]
call fcn.0040ca10
add esp, 4
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x8c], 0x70605
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 7
ja 0x42d80c
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x8c]
push dword [ebp - 0x10]
push eax
call fcn.00431160
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [ebp + ecx - 0x8c], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 8
jb 0x42d7e0
mov eax, dword [0x455600]
test eax, eax
je 0x42d84c
mov ecx, dword [ebp - 0x8c]
xor edx, edx
mov esi, dword [0x455604]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x7e776f1
je 0x42d840
inc edx
cmp eax, edx
jne 0x42d830
jmp 0x42d84c
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
jne 0x42db0b
mov esi, dword [ebp - 0x28]
jmp dword [0x45163c]
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x451644]
mov eax, ebx
mov dword [ebp - 0x1c], edi
sub eax, edi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.0040ca00
add esp, 4
mov dword [ebp - 0x20], eax
mov edi, dword [0x4555fc]
mov dword [esi], 0x6132675b
mov dword [esi + 4], 0x7d1f6311
mov dword [esi + 8], 0x790a7f1f
mov dword [esi + 0xc], 0x750a7b3b
mov dword [esi + 0x10], 0x712a7704
mov dword [esi + 0x14], 0x8dfe7313
mov dword [esi + 0x18], 0x89b18fef
mov dword [esi + 0x1c], 0x85e78bec
mov dword [esi + 0x20], 0x81f98708
mov dword [esi + 0x24], 0x9df583e3
mov dword [esi + 0x28], 0x99ea9ff8
mov dword [esi + 0x2c], 0x95e79be9
mov dword [esi + 0x30], 0x91e297f7
mov dword [esi + 0x34], 0xad1c93a6
mov dword [esi + 0x38], 0xa9d0afd0
mov dword [esi + 0x3c], 0xaba8
mov byte [esi + 0x40], 0
mov dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x8c]
cmp eax, 0x40
ja 0x42d943
nop
nop
nop
mov eax, dword [ebp - 0x8c]
movzx eax, byte [esi + eax]
push dword [ebp - 0x8c]
push eax
call fcn.00431010
add esp, 8
mov ecx, dword [ebp - 0x8c]
mov byte [esi + ecx], al
inc dword [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
cmp eax, 0x41
jb 0x42d910
mov eax, esi
mov esi, dword [ebp - 0x18]
push esi
push 0
push 0
push 0x1e
push eax
push 0
call edi
mov edi, dword [esi]
test edi, edi
mov dword [ebp - 0x24], ebx
jns 0x42d964
mov eax, 0xffffffff
jmp 0x42d967
lea eax, [edi + edi]
mov esi, dword [ebp - 0x94]
push eax
call fcn.0040ca00
add esp, 4
mov dword [ebp - 0x94], eax
mov ebx, dword [0x4555fc]
mov dword [esi], 0x73a6719d
mov dword [esi + 4], 0x7fdd7dcb
mov dword [esi + 8], 0x7bce79d9
mov dword [esi + 0xc], 0x47f64585
mov dword [esi + 0x10], 0x438e41f0
mov dword [esi + 0x14], 0x4ff24ded
mov dword [esi + 0x18], 0x4ba749e9
mov dword [esi + 0x1c], 0x578555f0
mov dword [esi + 0x20], 0x53ff51ec
mov dword [esi + 0x24], 0x5feb5dfd
mov dword [esi + 0x28], 0x5bee59fc
mov dword [esi + 0x2c], 0x27852593
mov dword [esi + 0x30], 0x23962181
mov dword [esi + 0x34], 0x2f902dda
mov dword [esi + 0x38], 0x2b842984
mov word [esi + 0x3c], 0x3534
mov byte [esi + 0x42], 0
mov dword [esi + 0x3e], 0
mov dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x8c]
cmp eax, 0x42
ja 0x42da43
mov eax, dword [ebp - 0x8c]
movzx eax, byte [esi + eax]
push dword [ebp - 0x8c]
push eax
call fcn.00431050
add esp, 8
mov ecx, dword [ebp - 0x8c]
mov byte [esi + ecx], al
inc dword [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
cmp eax, 0x43
jb case.default.0x42da80
push dword [ebp - 0x18]
push edi
mov edi, dword [ebp - 0x94]
push edi
push 0x1e
push esi
push 0
call ebx
push 0x60
push 3
push 0x120089
mov ebx, dword [ebp - 0xb8]
push ebx
push edi
call fcn.00449330
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x18], ecx
jmp dword [eax*4 + 0x45164c]
push 0
mov edi, dword [ebp - 0x34]
push edi
push dword [ebx]
call fcn.00449670
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x18], ecx
jmp dword [eax*4 + 0x451654]
mov esi, dword [edi]
lea eax, [esi + 1]
push eax
call fcn.0040ca00
add esp, 4
push 0
push esi
mov dword [ebp - 0x98], eax
push eax
push dword [ebx]
call fcn.00449750
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x18], ecx
jmp dword [eax*4 + 0x45165c]
jmp dword [0x4516fc]
push dword [ebp - 0x98]
call fcn.0040ca10
add esp, 4
jmp dword [0x451708]
jmp dword [0x451708]
push dword [ebp - 0x14]
push 1
push dword [0x455608]
push eax
call fcn.00445ce0
add esp, 0x10
mov esi, dword [ebp - 0x28]
jmp dword [0x45163c]
add eax, 8
xor edi, edi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor ebx, ebx
mov dword [ebp - 0x38], 0
xor edx, edx
jmp dword [eax*4 + 0x451624]
not ecx
mov ebx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov dword [edx + eax + 4], ecx
add ebx, 8
mov ecx, dword [ebp - 0xa0]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov edi, edx
jmp dword [eax*4 + 0x451624]
mov dword [ebp - 0xa0], ecx
mov ecx, dword [ecx]
mov esi, ebx
sub esi, edi
mov eax, dword [ebp - 0x38]
cmp ebx, eax
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x2c], ecx
jne 0x42dc09
sub eax, edi
sar eax, 3
mov ecx, esi
mov esi, eax
shr esi, 1
add esi, eax
mov eax, ecx
sar eax, 3
inc eax
cmp esi, eax
ja 0x42dbaf
mov esi, eax
lea eax, [esi*8]
push eax
call fcn.0040ca00
add esp, 4
mov ebx, eax
test edi, edi
je 0x42dbfc
cmp edi, dword [ebp - 0x38]
je 0x42dbf3
mov edx, ebx
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, dword [ebp - 0x38]
jne 0x42dbd0
push edi
call fcn.0040ca10
add esp, 4
mov edi, ebx
lea eax, [ebx + esi*8]
mov esi, dword [ebp - 0x20]
add ebx, esi
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
mov dword [edi + esi], 0
mov dword [edi + esi + 4], 0
xor eax, eax
nop
nop
nop
cmp byte [ecx + eax], 0
lea eax, [eax + 1]
jne 0x42dc20
push eax
mov dword [ebp - 0x14], eax
call fcn.0040ca00
add esp, 4
mov dword [ebp - 0x1c], edi
mov dword [edi + esi], eax
mov esi, dword [ebp - 0x14]
mov ecx, esi
shr ecx, 2
mov edx, dword [ebp - 0x2c]
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, esi
mov edx, esi
and edx, 0xfffffffc
add eax, edx
add edx, dword [ebp - 0x2c]
shr ecx, 1
and ecx, 1
mov esi, edx
mov edi, eax
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov ecx, dword [ebp - 0x14]
inc cl
test cl, 1
jne 0x42dc8e
mov esi, dword [ebp - 0x14]
mov ecx, esi
and ecx, 2
movzx edx, byte [edx + ecx]
mov byte [eax + ecx], dl
xor ecx, ecx
cmp esi, 1
je 0x42db55
mov dword [ebp - 0x24], ebx
mov ecx, 0xffffffff
mov eax, 1
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x2c]
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 esi, edx
shr esi, 1
mov ecx, edi
shl ecx, 0x1e
sar ecx, 0x1f
and ecx, 0xedb88320
xor ecx, esi
mov ebx, edi
shl ebx, 0x1d
sar ebx, 0x1f
and ebx, 0x76dc419
mov esi, edi
shl esi, 0x1c
sar esi, 0x1f
and esi, 0xedb8832
xor esi, ebx
mov ebx, edi
shl ebx, 0x1b
sar ebx, 0x1f
and ebx, 0x1db71064
shl edi, 0x1a
sar edi, 0x1f
and edi, 0x3b6e20c8
xor edi, ebx
xor edi, esi
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 dword [ebp - 0x14], eax
jne 0x42dca0
jmp 0x42db50
push dword [ebp - 0x94]
call fcn.0040ca10
add esp, 4
mov eax, dword [ebp - 0x14]
and al, 1
movzx eax, al
mov esi, dword [ebp - 0xb4]
mov ebx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x1c]
jmp dword [eax*4 + 0x45171c]
mov edi, dword [ebx]
mov dword [ebp - 0x8c], 0x70605
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 7
ja 0x42ddbc
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x8c]
push dword [ebp - 0x10]
push eax
call fcn.00431160
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [ebp + ecx - 0x8c], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 8
jb 0x42dd90
mov eax, dword [0x455600]
test eax, eax
je case.0x42da80.47
mov ecx, dword [ebp - 0x8c]
xor edx, edx
mov esi, dword [0x455604]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x7e776f1
je 0x42ddf0
inc edx
cmp eax, edx
jne 0x42dde0
jmp case.0x42da80.47
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je case.0x42da80.47
push edi
push 1
push dword [0x455608]
push eax
call fcn.00445ce0
add esp, 0x10
mov edi, dword [ebx]
mov dword [ebp - 0x8c], 0x70605
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 7
ja 0x42de5c
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x8c]
push dword [ebp - 0x10]
push eax
call fcn.00431160
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [ebp + ecx - 0x8c], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 8
jb 0x42de30
mov eax, dword [0x455600]
test eax, eax
je 0x42de9c
mov ecx, dword [ebp - 0x8c]
xor edx, edx
mov esi, dword [0x455604]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x7e776f1
je 0x42de90
inc edx
cmp eax, edx
jne 0x42de80
jmp 0x42de9c
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
jne 0x42dfa1
jmp dword [0x451710]
jmp dword [0x451714]
mov eax, dword [ebp - 0x14]
and al, 1
movzx eax, al
mov esi, dword [ebp - 0xb4]
mov ebx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x1c]
jmp dword [eax*4 + 0x45171c]
mov eax, dword [ebp - 0x18]
mov byte [eax], 0
mov dword [esi], 0x457a7ba3
mov dword [esi + 4], 0x79494a47
mov dword [esi + 8], 0x44404243
mov dword [esi + 0xc], 0x7e426281
mov dword [esi + 0x10], 0x6d8b4873
mov dword [esi + 0x14], 0x4f757249
mov dword [esi + 0x18], 0x59569149
mov word [esi + 0x1c], 0xc754
mov dword [esi + 0x1e], 0
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x8c]
cmp eax, 0x21
ja 0x42df63
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x8c]
movzx eax, byte [esi + eax]
push dword [ebp - 0x8c]
push eax
call fcn.00431100
add esp, 8
mov ecx, dword [ebp - 0x8c]
mov byte [esi + ecx], al
inc dword [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
cmp eax, 0x22
jb 0x42df30
mov ecx, dword [ebp + 8]
push dword [ebp - 0x18]
push dword [ebp - 0x20]
push esi
call fcn.0040d6e0
mov dword [ebp - 0x14], eax
mov eax, dword [case.0x42da80.56]
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x451734]
push dword [ebp - 0x20]
call fcn.0040ca10
add esp, 4
mov eax, dword [ebp - 0x14]
and al, 1
mov dword [ebp - 0x14], eax
jmp dword [0x451740]
push edi
push 1
push dword [0x455608]
push eax
call fcn.00445ce0
add esp, 0x10
jmp dword [0x451710]
mov eax, dword [ebp - 0x14]
and al, 1
mov dword [ebp - 0x14], eax
jmp dword [0x451740]
push edi
call fcn.0040ca10
add esp, 4
push edi
call fcn.0040ca10
add esp, 4
jmp dword [0x4515f0]
xor eax, eax
cmp word [ebx], 0x2a
sete al
jmp dword [eax*4 + 0x4515f4]
jmp dword [0x451754]
jmp dword [0x451840]
mov edx, dword [esp + 0x4c]
add edx, 4
xor eax, eax
mov ecx, edx
mov dword [esp + 0x4c], edx
cmp edx, 0xc
setne al
mov edi, dword [esp + 0x40]
jmp dword [eax*4 + 0x45174c]
jmp dword [0x45175c]
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + eax + 0x7c]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [esi + eax + 2], 0
lea eax, [eax + 2]
jne 0x42e3e0
sar eax, 1
mov ecx, dword [esp + 0x58]
lea edx, [eax + ecx]
add ecx, eax
add ecx, 0xd
lea eax, [edx*2 + 0x1a]
test ecx, ecx
jns 0x42e409
mov eax, 0xffffffff
push eax
call fcn.0040ca00
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x40]
movzx eax, word [eax]
mov ebx, edi
test ax, ax
je 0x42e441
mov ecx, dword [esp + 0x60]
mov ebx, edi
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e430
mov word [ebx], 0x5c
mov dword [esp + 0xc], 0x81528720
mov dword [esp + 0x10], 0x8d2f8331
mov dword [esp + 0x14], 0x893a8f2f
mov dword [esp + 0x18], 0x95578b68
mov dword [esp + 0x1c], 0x91359728
mov dword [esp + 0x20], 0x9d3d932c
mov word [esp + 0x24], 0x9f9c
lea eax, [esp + 0xc]
mov byte [eax + 0x1c], 0
mov word [eax + 0x1a], 0
add ebx, 2
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1c
ja 0x42e4c6
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0xc]
push dword [esp]
push eax
call fcn.004314e0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1d
jb 0x42e4a0
movzx eax, word [esi]
test ax, ax
je 0x42e4f1
add esi, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [esi]
add esi, 2
test ax, ax
jne 0x42e4e0
mov word [ebx], 0
movzx eax, word [esp + 0xc]
test ax, ax
je 0x42e521
lea ecx, [esp + 0xe]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e510
mov word [ebx], 0
lea eax, [esp + 0x64]
push 0x60
push 3
push 0x120089
push eax
push edi
call fcn.00449330
add esp, 0x14
mov edi, dword [esp + 0x40]
jmp case.0x42ce17.112
mov word [ebx], 0
lea eax, [esp + 0x64]
push 0x60
push 3
push 0x120089
push eax
push edx
call fcn.00449330
add esp, 0x14
jmp dword [0x451764]
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + eax + 0x7c]
mov ebp, 0xfffffffe
nop
cmp word [esi + ebp + 2], 0
lea ebp, [ebp + 2]
jne 0x42e580
mov edx, ebp
sar edx, 1
mov eax, dword [esp + 0x58]
lea ecx, [edx + eax]
add ecx, 0xd
test ecx, ecx
mov dword [esp + 0x50], edx
jns 0x42e5b0
mov eax, 0xffffffff
jmp 0x42e5b9
add eax, edx
lea eax, [eax*2 + 0x1a]
push eax
call fcn.0040ca00
add esp, 4
movzx edx, word [edi]
mov ebx, eax
test dx, dx
je 0x42e5f1
mov ecx, dword [esp + 0x60]
mov ebx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], dx
add ebx, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x42e5e0
mov dword [esp + 0xa4], eax
mov word [ebx], 0x5c
mov dword [esp + 0xc], 0x81528720
mov dword [esp + 0x10], 0x8d2f8331
mov dword [esp + 0x14], 0x893a8f2f
mov dword [esp + 0x18], 0x95578b68
mov dword [esp + 0x1c], 0x91359728
mov dword [esp + 0x20], 0x9d3d932c
mov word [esp + 0x24], 0x9f9c
lea eax, [esp + 0xc]
mov byte [eax + 0x1c], 0
mov word [eax + 0x1a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1c
ja 0x42e686
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.004314e0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1d
jb 0x42e660
add ebx, 2
movzx eax, word [esi]
test ax, ax
je 0x42e6b1
lea ecx, [esi + 2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e6a0
mov word [ebx], 0
movzx eax, word [esp + 0xc]
test ax, ax
mov edx, dword [esp + 0xa4]
je 0x42e550
lea ecx, [esp + 0xe]
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e6d0
jmp 0x42e550
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x45176c]
xor ebx, ebx
jmp dword [0x4517fc]
push dword [esp + 0xa4]
call fcn.0040ca10
add esp, 4
movzx eax, bl
jmp dword [eax*4 + 0x451804]
lea eax, [esp + 0xa8]
push 0
push eax
push dword [esp + 0x6c]
call fcn.00449670
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x451774]
mov edi, dword [esp + 0xa8]
lea eax, [edi + 1]
push eax
call fcn.0040ca00
add esp, 4
push 0
push edi
mov edi, eax
push eax
push dword [esp + 0x70]
call fcn.00449750
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x45177c]
mov eax, dword [esp + 0xa8]
mov byte [edi + eax], 0
push edi
call fcn.00403be0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x451784]
mov dword [esp + 0xb0], eax
push eax
call fcn.004046d0
add esp, 4
mov ebx, eax
mov dword [esp + 0xc], 0xece7faf5
mov dword [esp + 0x10], 0xf1f2f8f2
mov dword [esp + 0x14], 0xe4f8e03a
mov dword [esp + 0x18], 0xe9faf0fa
mov dword [esp + 0x1c], 0xe4f7fbfb
mov dword [esp + 0x20], 0x12e8ff
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x17
ja 0x42e816
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0xc]
push dword [esp]
push eax
call fcn.00431560
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x18
jb 0x42e7f0
mov dword [esp + 0xb4], edi
lea eax, [esp + 0xc]
push eax
push ebx
call fcn.00404a90
add esp, 8
mov ebx, eax
mov edx, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, edx
cmp byte [ebx + edx + 1], 0
lea edx, [edx + 1]
jne 0x42e840
mov eax, edx
and eax, 0xfffffffc
mov ecx, edx
and ecx, 3
mov edi, edx
or edi, 3
imul edi, ecx
xor ecx, 3
imul ecx, eax
add edi, ecx
shr edi, 2
movzx eax, byte [ebx + edx - 1]
cmp eax, 0x3d
je 0x42e878
cmp eax, 0x2e
jne 0x42e879
dec edi
movzx eax, byte [ebx + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0x5c], edx
je 0x42e88c
cmp eax, 0x2e
jne 0x42e88d
dec edi
mov dword [esp + 0xac], edi
lea eax, [edi + 1]
push eax
call fcn.0040ca00
add esp, 4
mov dword [esp + 0x48], eax
cmp dword [esp + 0x5c], 0
je 0x42e9a7
xor ecx, ecx
mov edi, 2
mov dword [esp + 0x6c], ebx
jmp 0x42e8d8
lea eax, [edi + 4]
add edi, 2
mov ecx, dword [esp + 0x70]
cmp edi, edx
mov edi, eax
mov ebx, dword [esp + 0x6c]
jae 0x42e9a7
mov dword [esp + 0x54], ecx
movzx eax, byte [ebx + edi - 2]
push eax
call fcn.00422020
add esp, 4
mov ecx, ebx
mov ebx, eax
movzx eax, byte [ecx + edi - 1]
push eax
call fcn.00422020
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
mov edx, dword [esp + 0x54]
lea ecx, [edx + 1]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x48]
mov byte [ecx + edx], al
mov edx, dword [esp + 0x5c]
cmp edi, edx
jae 0x42e8c0
mov eax, dword [esp + 0x6c]
movzx eax, byte [eax + edi]
push eax
call fcn.00422020
mov edx, dword [esp + 0x60]
add esp, 4
cmp al, 0x40
je 0x42e8c0
shl bh, 4
mov byte [esp + 0x47], al
shr al, 2
and al, 0xf
or al, bh
mov ebx, dword [esp + 0x54]
lea ecx, [ebx + 2]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x48]
mov byte [ecx + ebx + 1], al
lea eax, [edi + 1]
cmp eax, edx
jae 0x42e8c0
mov eax, dword [esp + 0x6c]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.00422020
mov edx, dword [esp + 0x60]
add esp, 4
cmp al, 0x40
movzx ecx, byte [esp + 0x47]
je 0x42e8c0
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x54]
mov byte [ecx + ebx + 2], al
add ebx, 3
mov dword [esp + 0x70], ebx
jmp 0x42e8c0
mov eax, dword [esp + 0xac]
add eax, 0xfffffffb
mov dword [esp], eax
mov eax, dword [esp + 0x48]
add eax, 5
mov dword [esp + 4], eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
push 0x31f26afb
push dword [0x45560c]
call fcn.004488d0
add esp, 8
lea ecx, [esp + 0x74]
mov edx, esp
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x45178c]
xor ebx, ebx
mov edi, dword [esp + 0x48]
jmp dword [0x4517bc]
jmp dword [0x451794]
jmp dword [0x4517e4]
push edi
call fcn.0040ca10
add esp, 4
mov eax, dword [case.0x42ce17.118]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x54], eax
mov dword [esp + 0xc], 0x70605
mov dword [esp + 0x10], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x42ea96
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0xc]
push dword [esp]
push eax
call fcn.00431160
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x42ea70
mov eax, dword [0x455600]
test eax, eax
je 0x42ead0
mov ecx, dword [esp + 0xc]
xor edx, edx
mov edi, dword [0x455604]
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x7e776f1
je 0x42eac0
inc edx
cmp eax, edx
jne 0x42eab0
jmp 0x42ead0
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x42eae6
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x4517fc]
movzx eax, bl
jmp dword [eax*4 + 0x451804]
jmp dword [0x45180c]
push dword [esp + 0x54]
push 1
push dword [0x455608]
push eax
call fcn.00445ce0
add esp, 0x10
jmp dword [0x4517fc]
lea eax, [ebp + 0x10]
cmp dword [esp + 0x50], 0xfffffff8
jge 0x42eb10
mov eax, 0xffffffff
push eax
call fcn.0040ca00
add esp, 4
mov ebx, eax
mov dword [esp + 0xc], 0x3e6012f
mov dword [esp + 0x10], 0x72805f4
mov dword [esp + 0x14], 0xbf209fc
mov dword [esp + 0x18], 0xf0e0df8
mov word [esp + 0x1c], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x11
ja 0x42eb8b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
movzx eax, byte [esp + eax + 0xc]
push dword [esp + 8]
push eax
call fcn.004315b0
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, 0x12
jb 0x42eb60
movzx ecx, word [esi]
mov eax, ebx
test cx, cx
je 0x42ebb1
lea edx, [esi + 2]
mov eax, ebx
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42eba0
mov word [eax], 0
movzx ecx, word [esp + 0xc]
test cx, cx
je 0x42ebe1
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 0x42ebd0
mov word [eax], 0
mov ecx, dword [esp + 0xf4]
push dword [esp + 0x74]
push dword [esp + 0x7c]
mov edi, ebx
push ebx
call fcn.0040d5a0
jmp dword [0x45179c]
mov ebx, eax
jmp dword [0x4517a4]
jmp dword [0x4517ac]
mov eax, ebp
and eax, 0x10
mov ecx, dword [esp + 0x50]
xor ecx, 8
add ecx, eax
lea eax, [ecx + ecx]
test ecx, ecx
jns 0x42ec2b
mov eax, 0xffffffff
push eax
call fcn.0040ca00
add esp, 4
mov ebx, eax
mov dword [esp + 0xc], 0x3e6012f
mov dword [esp + 0x10], 0x72805f4
mov dword [esp + 0x14], 0xbf209fc
mov dword [esp + 0x18], 0xf0e0df8
mov word [esp + 0x1c], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x11
ja 0x42ec9b
nop
nop
mov eax, dword [esp + 8]
movzx eax, byte [esp + eax + 0xc]
push dword [esp + 8]
push eax
call fcn.004315b0
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, 0x12
jb 0x42ec70
movzx ecx, word [esi]
mov eax, ebx
test cx, cx
je 0x42ecc1
lea edx, [esi + 2]
mov eax, ebx
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42ecb0
mov word [eax], 0
movzx ecx, word [esp + 0xc]
test cx, cx
je 0x42ecf1
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 0x42ece0
mov word [eax], 0
mov ecx, dword [esp + 0xf4]
push dword [esp + 0x74]
push dword [esp + 0x7c]
push ebx
call fcn.0040d5a0
jmp case.0x42ce17.126
push edi
call fcn.0040ca10
add esp, 4
mov edx, dword [esp + 0x4c]
add edx, 4
xor eax, eax
mov ecx, edx
mov dword [esp + 0x4c], edx
cmp edx, 0xc
setne al
mov edi, dword [esp + 0x40]
jmp dword [eax*4 + 0x45174c]
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x50]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
jns 0x42ed60
mov eax, 0xffffffff
push eax
call fcn.0040ca00
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x40]
movzx eax, word [eax]
mov ebx, edi
test ax, ax
je 0x42ed91
mov ecx, dword [esp + 0x60]
mov ebx, edi
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42ed80
mov word [ebx], 0x5c
mov dword [esp + 0xc], 0xf7a2f95c
mov dword [esp + 0x10], 0xf34df547
mov dword [esp + 0x14], 0xcf7af151
mov dword [esp + 0x18], 0xcb65cdac
mov dword [esp + 0x1c], 0xc775c944
mov dword [esp + 0x20], 0xc363c54a
mov dword [esp + 0x24], 0xdf63c17b
mov dword [esp + 0x28], 0xdb6edd78
mov dword [esp + 0x2c], 0xd75cd965
mov dword [esp + 0x30], 0xd366d569
mov dword [esp + 0x34], 0x2f90d16c
mov word [esp + 0x38], 0x2d2c
mov dword [esp + 0x3a], 0
add ebx, 2
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x31
ja 0x42ee36
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0xc]
push dword [esp]
push eax
call fcn.00431630
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x32
jb 0x42ee10
movzx eax, word [esi]
test ax, ax
je 0x42ee61
lea ecx, [esi + 2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42ee50
mov word [ebx], 0
movzx eax, word [esp + 0xc]
test ax, ax
je 0x42ee91
lea ecx, [esp + 0xe]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42ee80
mov word [ebx], 0
lea eax, [ebp + 0x12]
cmp dword [esp + 0x50], 0xfffffff7
jge 0x42eea5
mov eax, 0xffffffff
push eax
call fcn.0040ca00
add esp, 4
mov ebx, eax
mov dword [esp + 0xc], 0xe906ebd5
mov dword [esp + 0x10], 0xed14ef03
mov dword [esp + 0x14], 0xf11ef307
mov dword [esp + 0x18], 0xf510f714
mov dword [esp + 0x1c], 0xfbf4
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x13
ja 0x42ef16
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.00431680
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x14
jb 0x42eef0
movzx ecx, word [esi]
mov eax, ebx
test cx, cx
je 0x42ef41
lea edx, [esi + 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 0x42ef30
mov word [eax], 0
movzx ecx, word [esp + 0xc]
test cx, cx
je 0x42ef71
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 0x42ef60
mov word [eax], 0
mov dword [esp], 0x292a2bca
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 3
ja 0x42efb9
nop
nop
mov eax, dword [esp + 0xc]
movzx eax, byte [esp + eax]
push dword [esp + 0xc]
push eax
call fcn.004316f0
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 0x42ef90
mov eax, esp
push 0
push 0
push 0
push 0xc00000
push eax
push edi
push ebx
push dword [esp + 0x110]
call fcn.00425970
add esp, 0x20
jmp dword [0x451818]
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x50]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
jns 0x42effe
mov eax, 0xffffffff
push eax
call fcn.0040ca00
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x40]
movzx eax, word [eax]
mov ebx, edi
test ax, ax
je 0x42f031
mov ecx, dword [esp + 0x60]
mov ebx, edi
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42f020
mov word [ebx], 0x5c
mov dword [esp + 0xc], 0xf7a2f95c
mov dword [esp + 0x10], 0xf34df547
mov dword [esp + 0x14], 0xcf7af151
mov dword [esp + 0x18], 0xcb65cdac
mov dword [esp + 0x1c], 0xc775c944
mov dword [esp + 0x20], 0xc363c54a
mov dword [esp + 0x24], 0xdf63c17b
mov dword [esp + 0x28], 0xdb6edd78
mov dword [esp + 0x2c], 0xd75cd965
mov dword [esp + 0x30], 0xd366d569
mov dword [esp + 0x34], 0x2f90d16c
mov word [esp + 0x38], 0x2d2c
mov dword [esp + 0x3a], 0
add ebx, 2
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x31
ja 0x42f0d6
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0xc]
push dword [esp]
push eax
call fcn.00431630
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x32
jb 0x42f0b0
movzx eax, word [esi]
test ax, ax
je 0x42f101
lea ecx, [esi + 2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42f0f0
mov word [ebx], 0
movzx eax, word [esp + 0xc]
test ax, ax
je 0x42f131
lea ecx, [esp + 0xe]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42f120
mov word [ebx], 0
lea eax, [ebp + 0x12]
cmp dword [esp + 0x50], 0xfffffff7
jge 0x42f145
mov eax, 0xffffffff
push eax
call fcn.0040ca00
add esp, 4
mov ebx, eax
mov dword [esp + 0xc], 0xe906ebd5
mov dword [esp + 0x10], 0xed14ef03
mov dword [esp + 0x14], 0xf11ef307
mov dword [esp + 0x18], 0xf510f714
mov dword [esp + 0x1c], 0xfbf4
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x13
ja 0x42f1b6
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.00431680
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x14
jb 0x42f190
movzx ecx, word [esi]
mov eax, ebx
test cx, cx
je 0x42f1e1
lea edx, [esi + 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 0x42f1d0
mov word [eax], 0
movzx ecx, word [esp + 0xc]
test cx, cx
je 0x42f211
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 0x42f200
mov word [eax], 0
mov dword [esp], 0x292a2bca
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 3
ja 0x42f259
nop
nop
mov eax, dword [esp + 0xc]
movzx eax, byte [esp + eax]
push dword [esp + 0xc]
push eax
call fcn.004316f0
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 0x42f230
mov eax, esp
push 0
push 0
push 0
push 0xc00000
push eax
push edi
push ebx
push dword [esp + 0x110]
call fcn.00425970
add esp, 0x20
jmp case.0x42ce17.156
mov ecx, dword [esp + 0x68]
and cl, 1
or cl, al
mov dword [esp + 0x68], ecx
jmp dword [0x45181c]
jmp dword [0x451824]
push ebx
call fcn.0040ca10
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call fcn.0040ca10
add esp, 4
jmp dword [0x451830]
jmp dword [0x451834]
push 0xd80d2c4a
push dword [0x4555f4]
call fcn.004488d0
add esp, 8
push dword [esp + 0x78]
call eax
mov edi, dword [esp + 0x48]
jmp dword [0x4517bc]
jmp dword [0x4517c8]
push edi
call fcn.0040ca10
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
push edi
call fcn.0040ca10
add esp, 4
jmp dword [0x4517d0]
push dword [esp + 0xb0]
call fcn.00404c80
add esp, 4
mov eax, dword [case.0x42ce17.120]
mov edi, dword [esp + 0xb4]
nop
nop
nop
nop
nop
nop
jmp eax
push edi
call fcn.0040ca10
add esp, 4
push edi
call fcn.0040ca10
add esp, 4
jmp dword [0x4517b8]
push edi
call fcn.0040ca10
add esp, 4
push edi
call fcn.0040ca10
add esp, 4
jmp dword [0x451848]
jmp dword [0x45184c]
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x451858]
mov eax, dword [esp + 0x68]
and al, 1
add esp, 0xe0
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 8], 0
jmp dword [0x451914]
push ebp
call fcn.0040ca10
add esp, 4
mov eax, dword [esp + 8]
and al, 1
add esp, 0x80
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x70]
push 0
push eax
push dword [esp + 0x6c]
call fcn.00449670
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x451864]
mov dword [esp + 0x78], ebp
mov esi, dword [esp + 0x70]
lea eax, [esi + 1]
push eax
call fcn.0040ca00
add esp, 4
push 0
push esi
mov dword [esp + 0x70], eax
push eax
push dword [esp + 0x70]
call fcn.00449750
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x45186c]
mov eax, dword [case.0x42f8d7.20]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov ebp, dword [esp + 0x78]
jmp dword [0x45190c]
push dword [esp + 0x68]
call fcn.0040ca10
add esp, 4
mov esi, dword [esp + 0x64]
mov dword [esp + 0x18], 0x70605
mov dword [esp + 0x1c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x42f686
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00431160
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x42f660
mov eax, dword [0x455600]
test eax, eax
je 0x42f6bc
mov ecx, dword [esp + 0x18]
xor edx, edx
mov edi, dword [0x455604]
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x7e776f1
je 0x42f6b0
inc edx
cmp eax, edx
jne 0x42f6a0
jmp 0x42f6bc
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x42fc0a
jmp dword [0x451914]
mov eax, dword [esp + 0x70]
mov ebp, dword [esp + 0x68]
mov byte [ebp + eax], 0
mov dword [esp + 8], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x18], 0x2e322c2a
mov dword [esp + 0x1c], 0x22352036
mov dword [esp + 0x20], 0x8eedcb
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xb
ja 0x42f736
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00431830
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xc
jb 0x42f710
movzx ecx, byte [esp + 0x18]
test cl, cl
je 0x42f780
mov eax, edi
mov ebx, ebp
jmp 0x42f757
movzx ecx, byte [eax]
test cl, cl
je 0x42f792
movzx edx, byte [ebp]
test dl, dl
je 0x42f790
inc ebp
inc eax
lea esi, [ebx + 1]
cmp dl, cl
je 0x42f76c
mov ebx, esi
mov ebp, esi
je 0x42f750
mov eax, edi
jmp 0x42f750
mov ebx, ebp
jmp 0x42f792
xor ebx, ebx
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x451874]
lea ebp, [ebx + 0xa]
movzx eax, byte [ebx + 0xa]
xor edx, edx
test al, al
je 0x42f7c2
mov ecx, ebp
nop
cmp al, 0x22
je 0x42f7c0
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42f7b0
jmp 0x42f7c2
mov edx, ecx
mov ecx, edx
sub ecx, ebp
xor eax, eax
cmp ecx, 5
setb al
jmp dword [eax*4 + 0x45187c]
xor eax, eax
cmp byte [edx - 1], 0x74
setne al
jmp dword [eax*4 + 0x451884]
xor eax, eax
cmp byte [edx - 2], 0x78
setne al
jmp dword [eax*4 + 0x45188c]
xor eax, eax
cmp byte [edx - 3], 0x74
setne al
jmp dword [eax*4 + 0x451894]
jmp dword [0x4518a8]
xor eax, eax
cmp byte [edx - 4], 0x2e
setne al
jmp dword [eax*4 + 0x4518ac]
mov eax, ecx
and eax, 1
mov dword [esp + 0x74], ecx
xor ecx, 1
lea esi, [ecx + eax*2]
test esi, esi
mov dword [esp + 0xc], edx
jns 0x42f844
mov eax, 0xffffffff
jmp 0x42f847
lea eax, [esi + esi]
push eax
call fcn.0040ca00
add esp, 4
mov dword [esp + 0x18], 0
lea ecx, [eax + esi*2]
add ecx, 0xfffffffe
mov edx, eax
mov dword [esp + 4], eax
mov dword [esp + 0x14], ecx
cmp eax, ecx
mov edi, dword [esp + 0xc]
jae 0x42f8b3
mov edx, dword [esp + 4]
cmp ebp, edi
jae 0x42f8b3
mov edx, dword [esp + 4]
mov esi, ebp
nop
nop
cmp byte [esi], 0
je 0x42f8b3
lea eax, [esp + 0x18]
push eax
push edi
push esi
mov dword [esp + 0x1c], edx
call fcn.00411660
mov edx, dword [esp + 0x1c]
add esp, 0xc
movzx ecx, word [esp + 0x18]
mov word [edx], cx
add edx, 2
cmp edx, dword [esp + 0x14]
jae 0x42f8b3
add esi, eax
cmp esi, edi
jb 0x42f880
mov word [edx], 0
push 0x60
push 3
push 0x120089
lea eax, [esp + 0x6c]
push eax
push dword [esp + 0x14]
call fcn.00449330
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4518b4]
mov eax, dword [esp + 0xc]
mov ebp, eax
lea edi, [esp + 0x18]
jmp dword [0x4518e4]
push dword [esp + 4]
mov ebp, eax
call fcn.0040ca10
add esp, 4
nop
nop
nop
nop
mov eax, dword [case.0x42f8d7.17]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp 0x42f6e0
push 0
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x68]
call fcn.00449670
add esp, 0xc
test eax, eax
setns al
mov esi, dword [esp + 0x6c]
cmp esi, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4518bc]
push esi
call fcn.0040ca00
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x6c]
call fcn.00449750
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4518c4]
mov dword [esp + 0x14], edi
xor ecx, ecx
mov eax, dword [esp + 4]
mov esi, dword [esp + 0x74]
jmp 0x42f988
add eax, 2
test dx, dx
je 0x42f999
mov edi, ecx
movzx edx, word [eax]
mov ecx, eax
cmp dx, 0x5c
je 0x42f980
mov ecx, edi
jmp 0x42f980
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x4518cc]
mov dword [esp + 0x5c], 0
xor eax, eax
jmp 0x42f9c2
sub edi, dword [esp + 4]
sar edi, 1
inc edi
mov eax, esi
mov dword [esp + 0x5c], edi
sub eax, edi
add eax, 0x1b
push eax
call fcn.0040ca00
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], 0xbcb2bc59
mov dword [esp + 0x1c], 0xb947b1b6
mov dword [esp + 0x20], 0xc21c79cc
mov dword [esp + 0x24], 0xcd38c0
mov dword [esp + 0x28], 0x36c6ce2e
mov dword [esp + 0x2c], 0xc3234c4
mov word [esp + 0x30], 0x1613
mov byte [esp + 0x32], 0x4a
lea eax, [esp + 0x33]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1f
mov edi, dword [esp + 0x14]
ja 0x42fa56
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00431890
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x20
jb 0x42fa30
movzx ecx, byte [esp + 0x18]
mov eax, dword [esp + 0x10]
test cl, cl
je 0x42fa7b
lea edx, [esp + 0x19]
mov eax, dword [esp + 0x10]
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42fa70
mov byte [eax], 0
mov ecx, dword [esp + 0x5c]
sub esi, ecx
je 0x42faad
add ebp, ecx
mov edi, esi
and esi, 3
je 0x42fab1
xor ecx, ecx
movzx edx, byte [ebp]
cmp dl, 1
sbb ebp, 0xffffffff
mov byte [eax + ecx], dl
inc ecx
cmp esi, ecx
jne 0x42fa91
add eax, ecx
mov esi, edi
sub esi, ecx
mov ecx, eax
jmp 0x42fab3
mov ecx, eax
jmp 0x42fb08
mov esi, edi
mov edi, dword [esp + 0x5c]
add edi, ebx
mov edx, dword [esp + 0xc]
sub edx, edi
add edx, 0xfffffff5
cmp edx, 3
mov edi, dword [esp + 0x14]
jb 0x42fb08
movzx ecx, byte [ebp]
cmp cl, 1
sbb ebp, 0xffffffff
mov byte [eax], cl
movzx ecx, byte [ebp]
cmp cl, 1
sbb ebp, 0xffffffff
mov byte [eax + 1], cl
movzx ecx, byte [ebp]
cmp cl, 1
sbb ebp, 0xffffffff
mov byte [eax + 2], cl
movzx edx, byte [ebp]
cmp dl, 1
sbb ebp, 0xffffffff
lea ecx, [eax + 4]
mov byte [eax + 3], dl
mov eax, ecx
add esi, 0xfffffffc
jne 0x42facb
mov byte [ecx], 0
mov ecx, dword [esp + 0x94]
push dword [esp + 0x6c]
push edi
mov esi, dword [esp + 0x18]
push esi
call fcn.0040d6e0
mov ecx, dword [esp + 8]
and cl, 1
or cl, al
mov dword [esp + 8], ecx
jmp dword [0x4518d4]
push esi
call fcn.0040ca10
add esp, 4
jmp dword [0x4518dc]
jmp dword [0x4518dc]
push edi
call fcn.0040ca10
add esp, 4
mov esi, dword [esp + 0x60]
mov dword [esp + 0x18], 0x70605
mov dword [esp + 0x1c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x42fba6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00431160
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x42fb80
mov eax, dword [0x455600]
test eax, eax
je 0x42fbd8
mov ecx, dword [esp + 0x18]
xor edx, edx
mov edi, dword [0x455604]
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x7e776f1
je 0x42fbd0
inc edx
cmp eax, edx
jne 0x42fbc0
jmp 0x42fbd8
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x42fbe8
mov eax, dword [esp + 0xc]
mov ebp, eax
lea edi, [esp + 0x18]
jmp dword [0x4518e4]
push esi
push 1
push dword [0x455608]
push eax
call fcn.00445ce0
add esp, 0x10
mov eax, dword [esp + 0xc]
mov ebp, eax
lea edi, [esp + 0x18]
jmp dword [0x4518e4]
push esi
push 1
push dword [0x455608]
push eax
call fcn.00445ce0
add esp, 0x10
jmp dword [0x451914]