Function at 0x100337f0
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push 0x19c
mov eax, 0x1010b3ab
call fcn.100c7e75
mov edi, ecx
mov dword [ebp - 0xa8], edi
xor ebx, ebx
mov dword [ebp - 0xb4], ebx
mov eax, dword [edi + 0xc]
cmp dword [eax + 0x5c], ebx
jne 0x1003381e
xor al, al
jmp 0x1003523d
xorps xmm0, xmm0
movlpd qword [ebp - 0x78], xmm0
push 0x40
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], ebx
call fcn.100c742f
pop ecx
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x78]
mov dword [ebp - 4], ebx
push eax
call fcn.10032d26
mov esi, dword [edi + 0xc]
mov esi, dword [esi + 0x58]
mov esi, dword [esi]
mov dword [ebp - 0xb8], esi
cmp byte [esi + 0xd], 0
jne 0x10035233
push 0xf
pop ecx
mov eax, dword [esi + 0x10]
xor edx, edx
mov ebx, edx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa4], ebx
cmp dword [esi + 0x14], edx
ja 0x10034aad
jb 0x10033893
cmp eax, 0x27
ja 0x10034aad
cmp eax, 8
ja 0x100342a4
je 0x10033f7f
sub eax, 1
je 0x10033de3
sub eax, 1
je 0x10033c47
sub eax, 4
je 0x10033aab
sub eax, 1
jne 0x10034aad
cmp byte [esi + 0x6ac], dl
je 0x10035088
cmp byte [esi + 0x7b0], dl
je 0x10035088
cmp byte [esi + 0x9b8], dl
je 0x10035088
cmp byte [esi + 0xbc0], dl
je 0x10035088
lea eax, [esi + 0x20]
push eax
lea ecx, [ebp - 0x40]
call fcn.10001c43
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x37
push eax
mov ecx, edi
call fcn.10035556
mov dword [ebp - 0xa0], eax
lea ecx, [ebp - 0x40]
xor eax, eax
mov byte [ebp - 4], al
call fcn.10002013
mov ecx, dword [ebp - 0xa0]
test ecx, ecx
je 0x10035088
cmp dword [ecx + 0x2c], 8
lea edx, [ecx + 0x18]
jb 0x1003393e
mov edx, dword [ecx + 0x18]
xor eax, eax
cmp word [edx], ax
je 0x10035088
lea eax, [ecx + 0x30]
cmp dword [eax + 0x14], 8
mov ecx, eax
jb 0x10033956
mov ecx, dword [eax]
xor eax, eax
cmp word [ecx], ax
je 0x10035088
push ecx
push ecx
lea ecx, [ebp - 0x174]
call fcn.10014342
mov byte [ebp - 4], 0x38
mov edi, dword [ebp - 0xa0]
push ecx
lea ecx, [ebp - 0x28]
lea edx, [edi + 0x30]
call fcn.1001404f
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003398d
mov eax, dword [eax]
push eax
lea ecx, [esi + 0x2a0]
mov dword [ebp - 0xa0], 0x80
lea edx, [ebp - 0xa0]
call fcn.10018d10
pop ecx
lea ecx, [ebp - 0x28]
call fcn.10002013
xor ebx, ebx
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], bl
call fcn.100143bd
push ecx
push ecx
lea ecx, [ebp - 0x18c]
call fcn.10014342
push ecx
lea edx, [edi + 0x18]
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x28]
call fcn.1001404f
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100339e8
mov eax, dword [eax]
push eax
lea ecx, [esi + 0x3a0]
mov dword [ebp - 0xa0], 0x104
lea edx, [ebp - 0xa0]
call fcn.10018d10
pop ecx
lea ecx, [ebp - 0x28]
call fcn.10002013
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], bl
call fcn.100143bd
push 0x1bf4
call fcn.100c742f
mov edi, eax
mov dword [ebp - 0xf4], edi
mov byte [ebp - 4], 0x3a
mov dword [esp], 0x1bf4
push ebx
push edi
call fcn.100c95b0
add esp, 0xc
lea ecx, [esi + 0x18]
push ecx
push dword [ebp - 0xa8]
mov ecx, edi
call fcn.10014abb
mov ebx, eax
xor eax, eax
push eax
push 0x1015b6c8
push 0x1015b19c
push eax
mov byte [ebp - 4], al
push ebx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa4], ebx
call fcn.1010661b
add esp, 0x14
mov ecx, eax
call fcn.1002d8c6
test al, al
jne 0x10035082
test ebx, ebx
je 0x10033a96
push ecx
mov ecx, ebx
call fcn.1002cdb5
xor eax, eax
mov ebx, eax
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa4], ebx
jmp 0x10035082
cmp byte [esi + 0x6ac], dl
je 0x10035088
cmp byte [esi + 0x7b0], dl
je 0x10035088
cmp byte [esi + 0x9b8], dl
je 0x10035088
cmp byte [esi + 0xbc0], dl
je 0x10035088
lea eax, [esi + 0x20]
push eax
lea ecx, [ebp - 0x40]
call fcn.10001c43
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x33
push eax
mov ecx, edi
call fcn.10035556
mov dword [ebp - 0xa0], eax
lea ecx, [ebp - 0x40]
xor eax, eax
mov byte [ebp - 4], al
call fcn.10002013
mov ecx, dword [ebp - 0xa0]
test ecx, ecx
je 0x10035088
cmp dword [ecx + 0x2c], 8
lea edx, [ecx + 0x18]
jb 0x10033b23
mov edx, dword [ecx + 0x18]
xor eax, eax
cmp word [edx], ax
je 0x10035088
lea eax, [ecx + 0x30]
cmp dword [eax + 0x14], 8
mov ecx, eax
jb 0x10033b3b
mov ecx, dword [eax]
xor eax, eax
cmp word [ecx], ax
je 0x10035088
push ecx
push ecx
lea ecx, [ebp - 0x114]
call fcn.10014342
mov byte [ebp - 4], 0x34
mov edi, dword [ebp - 0xa0]
push ecx
lea ecx, [ebp - 0x28]
lea edx, [edi + 0x30]
call fcn.1001404f
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10033b72
mov eax, dword [eax]
push eax
lea ecx, [esi + 0x2a0]
mov dword [ebp - 0xa0], 0x80
lea edx, [ebp - 0xa0]
call fcn.10018d10
pop ecx
lea ecx, [ebp - 0x28]
call fcn.10002013
xor ebx, ebx
lea ecx, [ebp - 0x114]
mov byte [ebp - 4], bl
call fcn.100143bd
push ecx
push ecx
lea ecx, [ebp - 0x11c]
call fcn.10014342
push ecx
lea edx, [edi + 0x18]
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x28]
call fcn.1001404f
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10033bcd
mov eax, dword [eax]
push eax
lea ecx, [esi + 0x3a0]
mov dword [ebp - 0xa0], 0x104
lea edx, [ebp - 0xa0]
call fcn.10018d10
pop ecx
lea ecx, [ebp - 0x28]
call fcn.10002013
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], bl
call fcn.100143bd
push 0x1bf4
call fcn.100c742f
mov edi, eax
mov dword [ebp - 0xf8], edi
mov byte [ebp - 4], 0x36
mov dword [esp], 0x1bf4
push ebx
push edi
call fcn.100c95b0
add esp, 0xc
lea ecx, [esi + 0x18]
push ecx
push dword [ebp - 0xa8]
mov ecx, edi
call fcn.10019e1d
mov ebx, eax
xor eax, eax
push eax
push 0x1015b820
jmp 0x10033a5d
cmp byte [esi + 0x6ac], dl
je 0x10035088
cmp byte [esi + 0x7b0], dl
je 0x10035088
cmp byte [esi + 0x9b8], dl
je 0x10035088
cmp byte [esi + 0xbc0], dl
je 0x10035088
lea eax, [esi + 0x20]
push eax
lea ecx, [ebp - 0x40]
call fcn.10001c43
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0xf
push eax
mov ecx, edi
call fcn.10035556
mov dword [ebp - 0xa0], eax
lea ecx, [ebp - 0x40]
xor eax, eax
mov byte [ebp - 4], al
call fcn.10002013
mov ecx, dword [ebp - 0xa0]
test ecx, ecx
je 0x10035088
cmp dword [ecx + 0x2c], 8
lea edx, [ecx + 0x18]
jb 0x10033cbf
mov edx, dword [ecx + 0x18]
xor eax, eax
cmp word [edx], ax
je 0x10035088
lea eax, [ecx + 0x30]
cmp dword [eax + 0x14], 8
mov ecx, eax
jb 0x10033cd7
mov ecx, dword [eax]
xor eax, eax
cmp word [ecx], ax
je 0x10035088
push ecx
push ecx
lea ecx, [ebp - 0x124]
call fcn.10014342
mov byte [ebp - 4], 0x10
mov edi, dword [ebp - 0xa0]
push ecx
lea ecx, [ebp - 0x28]
lea edx, [edi + 0x30]
call fcn.1001404f
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10033d0e
mov eax, dword [eax]
push eax
lea ecx, [esi + 0x2a0]
mov dword [ebp - 0xa0], 0x80
lea edx, [ebp - 0xa0]
call fcn.10018d10
pop ecx
lea ecx, [ebp - 0x28]
call fcn.10002013
xor ebx, ebx
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], bl
call fcn.100143bd
push ecx
push ecx
lea ecx, [ebp - 0x12c]
call fcn.10014342
push ecx
lea edx, [edi + 0x18]
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x28]
call fcn.1001404f
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10033d69
mov eax, dword [eax]
push eax
lea ecx, [esi + 0x3a0]
mov dword [ebp - 0xa0], 0x104
lea edx, [ebp - 0xa0]
call fcn.10018d10
pop ecx
lea ecx, [ebp - 0x28]
call fcn.10002013
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], bl
call fcn.100143bd
push 0x1bf4
call fcn.100c742f
mov edi, eax
mov dword [ebp - 0xfc], edi
mov byte [ebp - 4], 0x12
mov dword [esp], 0x1bf4
push ebx
push edi
call fcn.100c95b0
add esp, 0xc
lea ecx, [esi + 0x18]
push ecx
push dword [ebp - 0xa8]
mov ecx, edi
call fcn.1002386b
mov ebx, eax
xor eax, eax
push eax
push 0x1015b954
jmp 0x10033a5d
cmp byte [esi + 0x6ac], dl
je 0x10035088
cmp byte [esi + 0x7b0], dl
je 0x10035088
cmp byte [esi + 0x9b8], dl
je 0x10035088
cmp byte [esi + 0xbc0], dl
je 0x10035088
lea eax, [esi + 0x20]
push eax
lea ecx, [ebp - 0x40]
call fcn.10001c43
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0xb
push eax
mov ecx, edi
call fcn.10035556
mov dword [ebp - 0xa0], eax
lea ecx, [ebp - 0x40]
xor eax, eax
mov byte [ebp - 4], al
call fcn.10002013
mov ecx, dword [ebp - 0xa0]
test ecx, ecx
je 0x10035088
cmp dword [ecx + 0x2c], 8
lea edx, [ecx + 0x18]
jb 0x10033e5b
mov edx, dword [ecx + 0x18]
xor eax, eax
cmp word [edx], ax
je 0x10035088
lea eax, [ecx + 0x30]
cmp dword [eax + 0x14], 8
mov ecx, eax
jb 0x10033e73
mov ecx, dword [eax]
xor eax, eax
cmp word [ecx], ax
je 0x10035088
push ecx
push ecx
lea ecx, [ebp - 0x134]
call fcn.10014342
mov byte [ebp - 4], 0xc
mov edi, dword [ebp - 0xa0]
push ecx
lea ecx, [ebp - 0x28]
lea edx, [edi + 0x30]
call fcn.1001404f
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10033eaa
mov eax, dword [eax]
push eax
lea ecx, [esi + 0x2a0]
mov dword [ebp - 0xa0], 0x80
lea edx, [ebp - 0xa0]
call fcn.10018d10
pop ecx
lea ecx, [ebp - 0x28]
call fcn.10002013
xor ebx, ebx
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], bl
call fcn.100143bd
push ecx
push ecx
lea ecx, [ebp - 0x13c]
call fcn.10014342
push ecx
lea edx, [edi + 0x18]
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x28]
call fcn.1001404f
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10033f05
mov eax, dword [eax]
push eax
lea ecx, [esi + 0x3a0]
mov dword [ebp - 0xa0], 0x104
lea edx, [ebp - 0xa0]
call fcn.10018d10
pop ecx
lea ecx, [ebp - 0x28]
call fcn.10002013
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], bl
call fcn.100143bd
push 0x1bf4
call fcn.100c742f
mov edi, eax
mov dword [ebp - 0x100], edi
mov byte [ebp - 4], 0xe
mov dword [esp], 0x1bf4
push ebx
push edi
call fcn.100c95b0
add esp, 0xc
lea ecx, [esi + 0x18]
push ecx
push dword [ebp - 0xa8]
mov ecx, edi
call fcn.1001a8fc
mov ebx, eax
xor eax, eax
push eax
push 0x1015b848
jmp 0x10033a5d
cmp byte [esi + 0x6ac], dl
je 0x10035088
cmp byte [esi + 0x7b0], dl
je 0x10035088
cmp byte [esi + 0x9b8], dl
je 0x10035088
cmp byte [esi + 0xbc0], dl
je 0x10035088
lea ecx, [esi + 0x4a4]
cmp byte [ecx], dl
je 0x10035088
cmp byte [esi + 0x5a8], dl
je 0x10035088
mov dword [ebp - 0x28], edx
push 0xf
pop eax
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], eax
mov byte [ebp - 0x28], dl
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x58], dl
push ecx
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x25
call fcn.10001c43
lea edx, [ebp - 0x70]
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0xd0]
call fcn.10015f8e
mov edi, eax
lea eax, [esi + 0x4a4]
mov byte [ebp - 4], 0x27
push eax
lea ecx, [ebp - 0x40]
call fcn.10001c43
lea edx, [ebp - 0x40]
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x9c]
call fcn.10018e09
mov edx, eax
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xec]
call fcn.1000e6f0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x2a
push ecx
mov edx, edi
mov ecx, eax
call fcn.10038239
pop ecx
lea ecx, [ebp - 0xec]
call fcn.10002013
lea ecx, [ebp - 0x9c]
call fcn.10002013
lea ecx, [ebp - 0x40]
call fcn.10002013
lea ecx, [ebp - 0xd0]
call fcn.10002013
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x25
call fcn.10002013
lea eax, [esi + 0x5a8]
push eax
lea ecx, [ebp - 0x70]
call fcn.10001c43
lea edx, [ebp - 0x70]
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0xec]
call fcn.10015f8e
mov edi, eax
lea eax, [esi + 0x5a8]
mov byte [ebp - 4], 0x2c
push eax
lea ecx, [ebp - 0x40]
call fcn.10001c43
lea edx, [ebp - 0x40]
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x9c]
call fcn.10018e09
mov edx, eax
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0xd0]
call fcn.1000e6f0
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x2f
push ecx
mov edx, edi
mov ecx, eax
call fcn.10038239
pop ecx
lea ecx, [ebp - 0xd0]
call fcn.10002013
lea ecx, [ebp - 0x9c]
call fcn.10002013
lea ecx, [ebp - 0x40]
call fcn.10002013
lea ecx, [ebp - 0xec]
call fcn.10002013
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x25
call fcn.10002013
lea eax, [esi + 0x20]
push eax
lea ecx, [ebp - 0x40]
call fcn.10001c43
mov edi, dword [ebp - 0xa8]
lea eax, [ebp - 0x40]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x30
call fcn.10035556
lea ecx, [ebp - 0x40]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 4], 0x25
call fcn.10002013
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x100341b1
cmp dword [ebp - 0xa0], eax
je 0x100341b1
push ecx
push ecx
lea ecx, [ebp - 0x144]
call fcn.10014342
mov byte [ebp - 4], 0x31
mov edx, dword [ebp - 0xa0]
push ecx
lea ecx, [ebp - 0xd0]
lea edx, [edx + 0x30]
call fcn.1001404f
pop ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.1000fedd
lea ecx, [ebp - 0xd0]
call fcn.10002013
lea ecx, [ebp - 0x144]
mov byte [ebp - 4], 0x25
call fcn.100143bd
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x18], 0
je 0x10034294
test eax, eax
je 0x10034294
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
lea ecx, [esi + 0x2a0]
mov dword [ebp - 0xa0], 0x80
cmovae eax, dword [ebp - 0x58]
lea edx, [ebp - 0xa0]
push eax
call fcn.10018d10
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
lea ecx, [esi + 0x3a0]
mov dword [ebp - 0xa0], 0x104
cmovae eax, dword [ebp - 0x28]
lea edx, [ebp - 0xa0]
push eax
call fcn.10018d10
push 0x1bf4
call fcn.100c742f
mov ebx, eax
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0x104], ebx
push 0x1bf4
xor eax, eax
mov byte [ebp - 4], 0x32
push eax
push ebx
call fcn.100c95b0
add esp, 0x18
lea eax, [esi + 0x18]
mov ecx, ebx
push eax
push edi
call fcn.1002d504
xor eax, eax
mov byte [ebp - 4], 0x25
push eax
push 0x1015b980
push 0x1015b19c
push eax
push ebx
mov dword [ebx], vtable.shared::malware::QQBrowser.0
mov dword [ebp - 0xa4], ebx
call fcn.1010661b
add esp, 0x14
mov ecx, eax
call fcn.1002d8c6
test al, al
jne 0x10034294
push ecx
mov ecx, ebx
call fcn.1002cdb5
xor eax, eax
mov ebx, eax
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa4], ebx
lea ecx, [ebp - 0x58]
call fcn.10002013
lea ecx, [ebp - 0x28]
jmp 0x10034609
sub eax, 0xa
je 0x10034840
sub eax, 9
je 0x10034618
dec eax
sub eax, 1
je 0x10034471
sub eax, 0x12
jne 0x10034aad
cmp byte [esi + 0x6ac], dl
je 0x10035088
cmp byte [esi + 0x7b0], dl
je 0x10035088
cmp byte [esi + 0x9b8], dl
je 0x10035088
cmp byte [esi + 0xbc0], dl
je 0x10035088
lea eax, [esi + 0x20]
push eax
lea ecx, [ebp - 0x40]
call fcn.10001c43
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x3b
push eax
mov ecx, edi
call fcn.10035556
mov dword [ebp - 0xa0], eax
lea ecx, [ebp - 0x40]
xor eax, eax
mov byte [ebp - 4], al
call fcn.10002013
mov ecx, dword [ebp - 0xa0]
test ecx, ecx
je 0x10035088
cmp dword [ecx + 0x2c], 8
lea edx, [ecx + 0x18]
jb 0x10034341
mov edx, dword [ecx + 0x18]
xor eax, eax
cmp word [edx], ax
je 0x10035088
lea eax, [ecx + 0x30]
cmp dword [eax + 0x14], 8
mov ecx, eax
jb 0x10034359
mov ecx, dword [eax]
xor eax, eax
cmp word [ecx], ax
je 0x10035088
push ecx
push ecx
lea ecx, [ebp - 0x14c]
call fcn.10014342
mov byte [ebp - 4], 0x3c
mov edi, dword [ebp - 0xa0]
push ecx
lea ecx, [ebp - 0xd0]
lea edx, [edi + 0x30]
call fcn.1001404f
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10034393
mov eax, dword [eax]
push eax
lea ecx, [esi + 0x2a0]
mov dword [ebp - 0xa0], 0x80
lea edx, [ebp - 0xa0]
call fcn.10018d10
pop ecx
lea ecx, [ebp - 0xd0]
call fcn.10002013
xor ebx, ebx
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], bl
call fcn.100143bd
push ecx
push ecx
lea ecx, [ebp - 0x154]
call fcn.10014342
push ecx
lea edx, [edi + 0x18]
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0xd0]
call fcn.1001404f
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100343f4
mov eax, dword [eax]
push eax
lea ecx, [esi + 0x3a0]
mov dword [ebp - 0xa0], 0x104
lea edx, [ebp - 0xa0]
call fcn.10018d10
pop ecx
lea ecx, [ebp - 0xd0]
call fcn.10002013
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], bl
call fcn.100143bd
push 0x1bf4
call fcn.100c742f
mov edi, eax
mov dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x3e
mov dword [esp], 0x1bf4
push ebx
push edi
call fcn.100c95b0
add esp, 0xc
lea ecx, [esi + 0x18]
push ecx
push dword [ebp - 0xa8]
mov ecx, edi
call fcn.10018ef1
mov ebx, eax
xor eax, eax
push eax
push 0x1015b7f4
jmp 0x10033a5d
cmp byte [esi + 0x18f4], dl
je 0x10035088
cmp byte [esi + 0x19f8], dl
je 0x10035088
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], ecx
mov byte [ebp - 0x70], dl
lea edi, [esi + 0x5a8]
mov byte [ebp - 4], 2
push edi
lea ecx, [ebp - 0x58]
call fcn.10001c43
lea edx, [ebp - 0x58]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xec]
call fcn.10015f8e
mov ebx, eax
push edi
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 4
call fcn.10001c43
lea edx, [ebp - 0x40]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x9c]
call fcn.10018e09
mov edx, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xd0]
call fcn.1000e6f0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 7
push ecx
mov edx, ebx
mov ecx, eax
call fcn.10038239
pop ecx
lea ecx, [ebp - 0xd0]
call fcn.10002013
lea ecx, [ebp - 0x9c]
call fcn.10002013
lea ecx, [ebp - 0x40]
call fcn.10002013
lea ecx, [ebp - 0xec]
call fcn.10002013
lea ecx, [ebp - 0x58]
call fcn.10002013
cmp dword [ebp - 0x60], 0
je 0x1003455d
cmp dword [ebp - 0x5c], 0x10
lea eax, [ebp - 0x70]
lea ecx, [esi + 0x2a0]
mov dword [ebp - 0xa0], 0x80
cmovae eax, dword [ebp - 0x70]
lea edx, [ebp - 0xa0]
push eax
call fcn.10018d10
pop ecx
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], al
mov byte [ebp - 4], 9
call fcn.10015da1
test al, al
lea ecx, [ebp - 0x28]
mov eax, str.C:Program_Files__x86_Internet_Explorer_
je 0x10034589
mov eax, str.C:Program_FilesInternet_Explorer_
push eax
call fcn.10001c22
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
lea ecx, [esi + 0x3a0]
mov dword [ebp - 0xa0], 0x104
cmovae eax, dword [ebp - 0x28]
lea edx, [ebp - 0xa0]
push eax
call fcn.10018d10
mov edi, 0x1b9c
push edi
call fcn.100c742f
mov ebx, eax
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0x10c], ebx
push edi
xor eax, eax
mov byte [ebp - 4], 0xa
push eax
push ebx
call fcn.100c95b0
mov edi, dword [ebp - 0xa8]
lea eax, [esi + 0x18]
add esp, 0x14
mov ecx, ebx
push eax
push edi
call fcn.1002b361
lea ecx, [ebp - 0x28]
mov dword [ebx], vtable.shared::malware::InternetExplorer.0
mov dword [ebp - 0xa4], ebx
call fcn.10002013
lea ecx, [ebp - 0x70]
xor eax, eax
mov byte [ebp - 4], al
call fcn.10002013
jmp 0x10035088
lea ecx, [esi + 0x4a4]
cmp byte [ecx], dl
je 0x10035088
cmp byte [esi + 0x5a8], dl
je 0x10035088
mov dword [ebp - 0x70], edx
push 0xf
pop eax
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x70], dl
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], eax
mov byte [ebp - 0x28], dl
push ecx
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x16
call fcn.10001c43
lea edx, [ebp - 0x58]
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xec]
call fcn.10015f8e
mov edi, eax
lea eax, [esi + 0x4a4]
mov byte [ebp - 4], 0x18
push eax
lea ecx, [ebp - 0x40]
call fcn.10001c43
lea edx, [ebp - 0x40]
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x9c]
call fcn.10018e09
mov edx, eax
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0xd0]
call fcn.1000e6f0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x1b
push ecx
mov edx, edi
mov ecx, eax
call fcn.10038239
pop ecx
lea ecx, [ebp - 0xd0]
call fcn.10002013
lea ecx, [ebp - 0x9c]
call fcn.10002013
lea ecx, [ebp - 0x40]
call fcn.10002013
lea ecx, [ebp - 0xec]
call fcn.10002013
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x16
call fcn.10002013
lea eax, [esi + 0x5a8]
push eax
lea ecx, [ebp - 0x58]
call fcn.10001c43
lea edx, [ebp - 0x58]
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0xec]
call fcn.10015f8e
mov edi, eax
lea eax, [esi + 0x5a8]
mov byte [ebp - 4], 0x1d
push eax
lea ecx, [ebp - 0x40]
call fcn.10001c43
lea edx, [ebp - 0x40]
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x9c]
call fcn.10018e09
mov edx, eax
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0xd0]
call fcn.1000e6f0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x20
push ecx
mov edx, edi
mov ecx, eax
call fcn.10038239
pop ecx
lea ecx, [ebp - 0xd0]
call fcn.10002013
lea ecx, [ebp - 0x9c]
call fcn.10002013
lea ecx, [ebp - 0x40]
call fcn.10002013
lea ecx, [ebp - 0xec]
call fcn.10002013
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x16
call fcn.10002013
cmp dword [ebp - 0x60], 0
je 0x10034830
cmp dword [ebp - 0x18], 0
je 0x10034830
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
lea ecx, [esi + 0x2a0]
mov dword [ebp - 0xa0], 0x80
cmovae eax, dword [ebp - 0x28]
lea edx, [ebp - 0xa0]
push eax
call fcn.10018d10
cmp dword [ebp - 0x5c], 0x10
lea eax, [ebp - 0x70]
lea ecx, [esi + 0x3a0]
mov dword [ebp - 0xa0], 0x104
cmovae eax, dword [ebp - 0x70]
lea edx, [ebp - 0xa0]
push eax
call fcn.10018d10
mov ebx, 0x1bf4
push ebx
call fcn.100c742f
mov edi, eax
mov dword [ebp - 0x198], edi
push ebx
xor eax, eax
mov byte [ebp - 4], 0x21
push eax
push edi
call fcn.100c95b0
add esp, 0x18
lea ecx, [esi + 0x18]
push ecx
push dword [ebp - 0xa8]
mov ecx, edi
call fcn.10028651
mov ebx, eax
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa4], ebx
lea ecx, [ebp - 0x28]
call fcn.10002013
lea ecx, [ebp - 0x70]
jmp 0x10035078
cmp byte [esi + 0x6ac], dl
je 0x10035088
cmp byte [esi + 0x7b0], dl
je 0x10035088
cmp byte [esi + 0x9b8], dl
je 0x10035088
cmp byte [esi + 0xbc0], dl
je 0x10035088
lea eax, [esi + 0x4a4]
cmp byte [eax], dl
je 0x10035088
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], ecx
mov byte [ebp - 0x58], dl
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x40
call fcn.10001c43
lea edx, [ebp - 0x28]
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0xec]
call fcn.10015f8e
mov edi, eax
lea eax, [esi + 0x4a4]
mov byte [ebp - 4], 0x42
push eax
lea ecx, [ebp - 0x40]
call fcn.10001c43
lea edx, [ebp - 0x40]
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x9c]
call fcn.10018e09
mov edx, eax
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0xd0]
call fcn.1000e6f0
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x45
push ecx
mov edx, edi
mov ecx, eax
call fcn.10038239
pop ecx
lea ecx, [ebp - 0xd0]
call fcn.10002013
lea ecx, [ebp - 0x9c]
call fcn.10002013
lea ecx, [ebp - 0x40]
call fcn.10002013
lea ecx, [ebp - 0xec]
call fcn.10002013
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x40
call fcn.10002013
cmp dword [ebp - 0x48], 0
jne 0x10034936
lea ecx, [ebp - 0x58]
jmp 0x10035078
lea eax, [esi + 0x20]
push eax
lea ecx, [ebp - 0x40]
call fcn.10001c43
mov edi, dword [ebp - 0xa8]
lea eax, [ebp - 0x40]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x46
call fcn.10035556
lea ecx, [ebp - 0x40]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 4], 0x40
call fcn.10002013
mov eax, dword [ebp - 0xa0]
test eax, eax
jne 0x1003497d
xor eax, eax
lea ecx, [ebp - 0x58]
jmp 0x1003460b
cmp dword [eax + 0x44], 8
lea ecx, [eax + 0x30]
jb 0x10034989
mov ecx, dword [eax + 0x30]
xor eax, eax
cmp word [ecx], ax
je 0x10034975
push ecx
push ecx
lea ecx, [ebp - 0x15c]
call fcn.10014342
mov byte [ebp - 4], 0x47
mov edx, dword [ebp - 0xa0]
push ecx
lea ecx, [ebp - 0xd0]
lea edx, [edx + 0x30]
call fcn.1001404f
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100349bf
mov eax, dword [eax]
push eax
lea ecx, [esi + 0x2a0]
mov dword [ebp - 0xa0], 0x80
lea edx, [ebp - 0xa0]
call fcn.10018d10
pop ecx
lea ecx, [ebp - 0xd0]
call fcn.10002013
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x40
call fcn.100143bd
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
lea ecx, [esi + 0x3a0]
mov dword [ebp - 0xa0], 0x104
cmovae eax, dword [ebp - 0x58]
lea edx, [ebp - 0xa0]
push eax
call fcn.10018d10
mov dword [esp], 0x1bf4
call fcn.100c742f
mov ebx, eax
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0x194], ebx
mov byte [ebp - 4], 0x48
xor eax, eax
mov dword [esp], 0x1bf4
push eax
push ebx
call fcn.100c95b0
add esp, 0xc
lea eax, [esi + 0x18]
mov ecx, ebx
push eax
push edi
call fcn.1002d504
xor eax, eax
mov byte [ebp - 4], 0x40
push eax
push 0x1015b1c4
push 0x1015b19c
push eax
push ebx
mov dword [ebx], vtable.shared::malware::Explorer2345.0
mov dword [ebp - 0xa4], ebx
call fcn.1010661b
add esp, 0x14
mov ecx, eax
call fcn.100010f0
test al, al
jne 0x10034973
push ecx
mov ecx, ebx
call fcn.1002cdb5
xor eax, eax
mov ebx, eax
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa4], ebx
jmp 0x10034975
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], ecx
mov byte [ebp - 0x28], dl
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], ecx
mov byte [ebp - 0x70], dl
lea eax, [esi + 0x4a4]
mov byte [ebp - 4], 0x4c
cmp byte [eax], 0
je 0x10034b72
push eax
lea ecx, [ebp - 0x58]
call fcn.10001c43
lea edx, [ebp - 0x58]
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0xec]
call fcn.10015f8e
mov edi, eax
lea eax, [esi + 0x4a4]
mov byte [ebp - 4], 0x4e
push eax
lea ecx, [ebp - 0x40]
call fcn.10001c43
lea edx, [ebp - 0x40]
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x9c]
call fcn.10018e09
mov edx, eax
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0xd0]
call fcn.1000e6f0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x51
push ecx
mov edx, edi
mov ecx, eax
call fcn.10038239
pop ecx
lea ecx, [ebp - 0xd0]
call fcn.10002013
lea ecx, [ebp - 0x9c]
call fcn.10002013
lea ecx, [ebp - 0x40]
call fcn.10002013
lea ecx, [ebp - 0xec]
call fcn.10002013
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x4c
call fcn.10002013
lea eax, [esi + 0x5a8]
cmp byte [eax], 0
je 0x10034c1b
push eax
lea ecx, [ebp - 0x58]
call fcn.10001c43
lea edx, [ebp - 0x58]
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0xec]
call fcn.10015f8e
mov edi, eax
lea eax, [esi + 0x5a8]
mov byte [ebp - 4], 0x53
push eax
lea ecx, [ebp - 0x40]
call fcn.10001c43
lea edx, [ebp - 0x40]
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0x9c]
call fcn.10018e09
mov edx, eax
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0xd0]
call fcn.1000e6f0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x56
push ecx
mov edx, edi
mov ecx, eax
call fcn.10038239
pop ecx
lea ecx, [ebp - 0xd0]
call fcn.10002013
lea ecx, [ebp - 0x9c]
call fcn.10002013
lea ecx, [ebp - 0x40]
call fcn.10002013
lea ecx, [ebp - 0xec]
call fcn.10002013
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x4c
call fcn.10002013
mov eax, dword [ebp - 0x18]
test eax, eax
sete byte [ebp - 0xad]
test eax, eax
je 0x10034c35
cmp dword [ebp - 0x60], 0
jne 0x10034d21
lea eax, [esi + 0x20]
push eax
lea ecx, [ebp - 0x40]
call fcn.10001c43
mov edi, dword [ebp - 0xa8]
lea eax, [ebp - 0x40]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x57
call fcn.10035556
lea ecx, [ebp - 0x40]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 4], 0x4c
call fcn.10002013
cmp byte [ebp - 0xad], 0
mov eax, dword [ebp - 0xa0]
je 0x10034ccb
test eax, eax
je 0x10034ccb
push ecx
push ecx
lea ecx, [ebp - 0x164]
call fcn.10014342
mov byte [ebp - 4], 0x58
mov edx, dword [ebp - 0xa0]
push ecx
lea ecx, [ebp - 0xd0]
lea edx, [edx + 0x18]
call fcn.1001404f
pop ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.1000fedd
lea ecx, [ebp - 0xd0]
call fcn.10002013
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0x4c
call fcn.100143bd
mov eax, dword [ebp - 0xa0]
cmp dword [ebp - 0x60], 0
jne 0x10034d27
test eax, eax
je 0x10034d27
push ecx
push ecx
lea ecx, [ebp - 0x16c]
call fcn.10014342
mov byte [ebp - 4], 0x59
mov edx, dword [ebp - 0xa0]
push ecx
lea ecx, [ebp - 0xd0]
lea edx, [edx + 0x30]
call fcn.1001404f
pop ecx
push eax
lea ecx, [ebp - 0x70]
call fcn.1000fedd
lea ecx, [ebp - 0xd0]
call fcn.10002013
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 0x4c
call fcn.100143bd
jmp 0x10034d27
mov edi, dword [ebp - 0xa8]
cmp dword [ebp - 0x5c], 0x10
lea eax, [ebp - 0x70]
lea ecx, [esi + 0x2a0]
mov dword [ebp - 0xa0], 0x80
cmovae eax, dword [ebp - 0x70]
lea edx, [ebp - 0xa0]
push eax
call fcn.10018d10
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
lea ecx, [esi + 0x3a0]
mov dword [ebp - 0xa0], 0x104
cmovae eax, dword [ebp - 0x28]
lea edx, [ebp - 0xa0]
push eax
call fcn.10018d10
cmp byte [esi + 0x3a0], 0
pop ecx
pop ecx
jne 0x10034fd6
cmp dword [esi + 0x10], 0x20
jne 0x10034fc9
xor eax, eax
cmp dword [esi + 0x14], eax
jne 0x10034fc9
lea eax, [esi + 0x20]
push eax
lea ecx, [ebp - 0x40]
call fcn.10001c43
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x5a
push eax
mov ecx, edi
call fcn.10035556
mov edi, eax
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0x40]
mov dword [ebp - 0xa0], edi
call fcn.10002013
test edi, edi
je 0x10034fc9
cmp dword [edi + 0x60], 8
lea eax, [edi + 0x4c]
jb 0x10034ddc
mov eax, dword [edi + 0x4c]
xor ecx, ecx
cmp word [eax], cx
je 0x10034fc9
push ecx
push ecx
lea ecx, [ebp - 0x1a0]
call fcn.10014342
push ecx
lea edx, [edi + 0x4c]
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x9c]
call fcn.1001404f
pop ecx
lea ecx, [ebp - 0x1a0]
call fcn.100143bd
xor eax, eax
lea edi, [ebp - 0x84]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
push ecx
push ecx
lea ecx, [ebp - 0x17c]
mov byte [ebp - 4], 0x5e
lea edi, [ebp - 0x84]
call fcn.10014342
mov byte [ebp - 4], 0x5f
sub esp, 0x18
mov edx, dword [ebp - 0xa0]
mov ecx, esp
push ecx
lea edx, [edx + 0x4c]
call fcn.1001404f
pop ecx
push 0x2c
mov edx, edi
pop ecx
call fcn.10038161
add esp, 0x18
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0x17c]
call fcn.100143bd
mov ecx, dword [ebp - 0x84]
cmp ecx, dword [ebp - 0x80]
je 0x10034faf
push 1
xor eax, eax
push eax
call fcn.10010e5b
mov ecx, dword [ebp - 0x84]
mov edx, ecx
mov eax, edx
cmp dword [eax + 0x14], 0x10
jb 0x10034ea3
mov edx, dword [ecx]
mov eax, dword [eax + 0x10]
dec eax
add eax, edx
push eax
lea eax, [ebp - 0x190]
push eax
call fcn.10015b7b
mov edx, dword [ebp - 0x84]
lea ecx, [ebp - 0x40]
call fcn.10018e09
xor eax, eax
mov byte [ebp - 4], 0x61
mov dword [ebp - 0x58], eax
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x40]
push eax
call fcn.100147f1
or dword [ebp - 0xb4], 1
lea ecx, [ebp - 0x58]
mov edx, dword [ebp - 0x44]
cmp edx, 0x10
mov edi, dword [ebp - 0x58]
mov eax, dword [ebp - 0x48]
cmovae ecx, edi
add eax, ecx
cmp edx, 0x10
lea ecx, [ebp - 0x58]
sbb bl, bl
inc bl
cmp edx, 0x10
mov byte [ebp - 0xad], bl
cmovae ecx, edi
cmp eax, ecx
je 0x10034f48
lea ebx, [eax - 1]
mov cl, byte [ebx]
cmp cl, 0x5c
je 0x10034f23
cmp cl, 0x2f
jne 0x10034f48
cmp byte [ebp - 0xad], 0
lea ecx, [ebp - 0x58]
push 0
cmovne ecx, edi
sub eax, ecx
lea ecx, [ebp - 0x58]
dec eax
push eax
call fcn.10011a7c
mov edx, dword [ebp - 0x44]
mov eax, ebx
mov edi, dword [ebp - 0x58]
jmp 0x10034efa
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0xd0]
call fcn.10018e09
push eax
lea ecx, [ebp - 0x40]
call fcn.1000fedd
lea ecx, [ebp - 0xd0]
call fcn.10002013
and dword [ebp - 0xb4], 0xfffffffe
lea ecx, [ebp - 0x58]
call fcn.10002013
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
lea edx, [ebp - 0xa0]
mov dword [ebp - 0xa0], 0x104
cmovae eax, dword [ebp - 0x40]
lea ecx, [esi + 0x3a0]
push eax
call fcn.10018d10
pop ecx
lea ecx, [ebp - 0x40]
call fcn.10002013
mov ebx, dword [ebp - 0xac]
lea ecx, [ebp - 0x84]
call fcn.1001828e
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x4c
call fcn.10002013
cmp byte [esi + 0x3a0], 0
je 0x1003506d
cmp byte [esi + 0x2a0], 0
je 0x1003506d
cmp byte [esi + 0xabc], 0
lea ebx, [esi + 0x18]
je 0x10035028
push 0x1bf4
call fcn.100c742f
mov edi, eax
mov dword [ebp - 0x184], edi
mov byte [ebp - 4], 0x62
xor eax, eax
mov dword [esp], 0x1bf4
push eax
push edi
call fcn.100c95b0
add esp, 0xc
mov ecx, edi
push ebx
push dword [ebp - 0xa8]
call fcn.1002d504
jmp 0x1003505f
push 0x1b9c
call fcn.100c742f
mov edi, eax
mov dword [ebp - 0x180], edi
mov byte [ebp - 4], 0x63
xor eax, eax
mov dword [esp], 0x1b9c
push eax
push edi
call fcn.100c95b0
add esp, 0xc
mov ecx, edi
push ebx
push dword [ebp - 0xa8]
call fcn.1002b361
mov ebx, eax
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa4], ebx
lea ecx, [ebp - 0x70]
call fcn.10002013
lea ecx, [ebp - 0x28]
xor eax, eax
mov byte [ebp - 4], al
call fcn.10002013
mov edi, dword [ebp - 0xa8]
test ebx, ebx
je 0x100351ee
lea eax, [ebx + 0x424]
push eax
lea ecx, [ebp - 0x28]
call fcn.10001c43
lea edx, [ebp - 0x28]
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x40]
call fcn.1002ceb3
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x66
call fcn.10002013
mov eax, dword [ebp - 0x78]
mov edi, dword [eax]
mov dword [ebp - 0xa0], edi
cmp edi, eax
je 0x100351c1
mov esi, dword [ebp - 0x30]
mov ecx, dword [edi + 0x20]
cmp esi, ecx
mov edx, ecx
mov dword [ebp - 0xd4], ecx
cmovb edx, esi
lea ecx, [edi + 0x10]
cmp dword [edi + 0x24], 0x10
jb 0x100350ec
mov ecx, dword [edi + 0x10]
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
push edx
cmovae eax, dword [ebp - 0x40]
push ecx
push eax
call fcn.100c983d
add esp, 0xc
test eax, eax
jne 0x100351a1
cmp dword [ebp - 0xd4], esi
jb 0x100351a1
lea esi, [edi + 0x28]
cmp dword [esi + 0x10], eax
je 0x10035154
push dword [ebx + 4]
lea ecx, [ebp - 0xf0]
call fcn.10002047
mov ecx, esi
mov byte [ebp - 4], 0x67
call fcn.1000e797
test al, al
je 0x10035144
lea ecx, [ebx + 0x18]
push esi
call fcn.10018501
mov byte [ebp - 4], 0x66
push dword [ebp - 0xf0]
call fcn.1004f2b0
pop ecx
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0xa0], edi
call fcn.10021191
push edi
lea ecx, [ebp - 0x78]
call fcn.10036988
mov ebx, eax
lea ecx, [ebx + 0x28]
call fcn.10002013
lea ecx, [ebx + 0x10]
call fcn.10002013
push 0x40
push ebx
call fcn.10001fc9
mov edi, dword [ebp - 0xa0]
mov ebx, dword [ebp - 0xac]
mov esi, dword [ebp - 0x30]
pop ecx
pop ecx
mov dword [ebp - 0xa0], edi
jmp 0x100351b2
lea ecx, [ebp - 0xa0]
call fcn.10021191
mov edi, dword [ebp - 0xa0]
cmp edi, dword [ebp - 0x78]
jne 0x100350d0
mov esi, dword [ebp - 0xb8]
mov edi, dword [ebp - 0xa8]
lea edx, [ebp - 0xa4]
push edx
lea eax, [ebx + 0x64]
push eax
lea eax, [ebp - 0x1a8]
lea ecx, [edi + 0x70]
push eax
call fcn.10037004
xor eax, eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], al
call fcn.10002013
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x10035216
mov eax, dword [esi + 4]
jmp 0x10035206
cmp esi, dword [eax + 8]
jne 0x1003520c
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x100351fc
mov esi, eax
mov dword [ebp - 0xb8], esi
jmp 0x10035226
mov esi, eax
mov dword [ebp - 0xb8], esi
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x10035216
cmp byte [esi + 0xd], 0
push 0xf
pop ecx
je 0x1003386c
lea ecx, [ebp - 0x78]
call fcn.100201c9
mov al, 1
call fcn.100c7e24
ret