Function at 0x10058740
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xa8
mov eax, dword [0x100bd080]
xor eax, esp
mov dword [esp + 0xa4], eax
mov byte [esp + 0x24], 0x2e
mov dl, 0x5a
xor dl, byte [esp + 0x24]
mov al, 0x4c
xor al, byte [esp + 0x24]
mov dh, 0x42
mov byte [esp + 0x25], al
mov ah, 0x40
mov byte [esp + 0x26], dl
xorps xmm0, xmm0
mov dl, byte [esp + 0x24]
mov byte [esp + 3], 0x41
xor ah, dl
mov al, byte [esp + 3]
xor dh, dl
xor al, dl
mov byte [esp + 0x22], 0x5d
mov byte [esp + 0x2b], al
mov al, byte [esp + 0x22]
push esi
mov esi, ecx
mov byte [esp + 0x25], 0x4b
xor al, dl
mov byte [esp + 0x32], 0
mov cl, 0x71
mov byte [esp + 0x30], al
mov al, byte [esp + 0x25]
mov ch, 0x4d
xor cl, dl
mov byte [esp + 0x2e], dh
xor ch, dl
mov byte [esp + 0x2c], cl
mov byte [esp + 0x2d], ch
xor al, dl
lea ecx, [esp + 0x29]
mov byte [esp + 0x2b], ah
push edi
mov byte [esp + 0x35], al
lea edx, [ecx + 1]
mov byte [esp + 0x36], 0
movaps xmmword [esp + 0x80], xmm0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10058800
sub ecx, edx
lea eax, [esp + 0x2d]
push ecx
push eax
lea ecx, [esp + 0x88]
call fcn.10002570
cmp dword [esp + 0x90], 0
mov eax, dword [esi]
mov edi, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
mov dword [esp + 0x14], eax
je 0x100588d5
test eax, eax
je 0x100588d5
push 4
push eax
call edi
test eax, eax
jne 0x100588d5
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xc4]
mov dword [esp + 0x3c], edx
mov eax, dword [edx]
mov dword [esp + 0x10], eax
cmp eax, edx
je 0x100588d5
cmp eax, dword [ecx + 0xc4]
jne 0x10058873
call fcn.10084b0f
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov dword [esp + 0xc], ecx
test ecx, ecx
je 0x100588b0
cmp dword [ecx + 0x78], 0x10
lea edx, [ecx + 0x64]
jb 0x10058889
mov edx, dword [edx]
cmp dword [esp + 0x94], 0xf
lea eax, [esp + 0x80]
cmova eax, dword [esp + 0x80]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1005890e
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0xc4]
jne 0x100588c9
call fcn.10084b0f
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x3c]
jne 0x10058862
xor eax, eax
mov ecx, dword [esp + 0x94]
mov dword [esi + 4], eax
cmp ecx, 0xf
jbe 0x1005891e
mov edx, dword [esp + 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10058914
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10059dfb
jmp 0x10058914
mov eax, dword [esp + 0xc]
jmp 0x100588d7
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov cl, 6
mov dword [esp + 0x18], 0x69746106
mov dword [esp + 0x1c], 0x65597673
xor eax, eax
mov dword [esp + 0x20], 0x63726869
mov word [esp + 0x24], 0x7268
mov byte [esp + 0x26], 0
xor byte [esp + eax + 0x19], cl
inc eax
cmp eax, 0xd
jae 0x10058956
mov cl, byte [esp + 0x18]
jmp 0x10058946
xorps xmm0, xmm0
mov byte [esp + 0x26], 0
lea ecx, [esp + 0x19]
movaps xmmword [esp + 0x80], xmm0
mov dword [esp + 0x90], 0
lea edx, [ecx + 1]
mov dword [esp + 0x94], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10058983
sub ecx, edx
lea eax, [esp + 0x19]
push ecx
push eax
lea ecx, [esp + 0x88]
call fcn.10002570
cmp dword [esp + 0x90], 0
mov eax, dword [esi]
mov dword [esp + 0x14], eax
je 0x10058a53
test eax, eax
je 0x10058a53
push 4
push eax
call edi
test eax, eax
jne 0x10058a53
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xc4]
mov dword [esp + 0xc], edx
mov eax, dword [edx]
mov dword [esp + 0x10], eax
cmp eax, edx
je 0x10058a53
nop
cmp eax, dword [ecx + 0xc4]
jne 0x100589f1
call fcn.10084b0f
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov dword [esp + 0x3c], ecx
test ecx, ecx
je 0x10058a2e
cmp dword [ecx + 0x78], 0x10
lea edx, [ecx + 0x64]
jb 0x10058a07
mov edx, dword [edx]
cmp dword [esp + 0x94], 0xf
lea eax, [esp + 0x80]
cmova eax, dword [esp + 0x80]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x10058a8c
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0xc4]
jne 0x10058a47
call fcn.10084b0f
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0xc]
jne 0x100589e0
xor eax, eax
mov ecx, dword [esp + 0x94]
mov dword [esi + 8], eax
cmp ecx, 0xf
jbe 0x10058a9c
mov edx, dword [esp + 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10058a92
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10059e00
jmp 0x10058a92
mov eax, dword [esp + 0x3c]
jmp 0x10058a55
push ecx
push edx
call fcn.1007fa16
add esp, 8
xor al, al
mov byte [esp + 0xb], al
movzx eax, al
mov cl, 0x28
push eax
mov dword [esp + 0x30], 0x5c505c28
xor eax, eax
mov dword [esp + 0x34], 0x4d4d4677
mov dword [esp + 0x38], 0x4c0d774c
mov byte [esp + 0x3c], 0
xor byte [esp + eax + 0x31], cl
inc eax
cmp eax, 0xb
jae 0x10058ad7
mov cl, byte [esp + 0x30]
jmp 0x10058ac7
sub esp, 0x18
mov byte [esp + 0x54], 0
mov edx, esp
lea ecx, [esp + 0x49]
xorps xmm0, xmm0
lea eax, [ecx + 1]
mov dword [esp + 0x28], eax
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10058b00
sub ecx, dword [esp + 0x28]
lea eax, [esp + 0x49]
push ecx
push eax
mov ecx, edx
call fcn.10002570
lea eax, [esp + 0x84]
push eax
call fcn.1000dc10
mov ecx, dword [esi + 8]
add esp, 0x20
mov edx, eax
call fcn.10018f90
movzx ecx, byte [esp + 0xb]
lea ecx, [ecx + ecx*2]
mov dword [esi + ecx*4 + 0x10], eax
mov ecx, dword [esp + 0x7c]
cmp ecx, 0xf
jbe 0x10058b74
mov edx, dword [esp + 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10058b6a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10059dfb
push ecx
push edx
call fcn.1007fa16
add esp, 8
movzx eax, byte [esp + 0xb]
mov cl, 0x3d
push eax
mov dword [esp + 0x1c], 0x584f5c3d
xor eax, eax
mov dword [esp + 0x20], 0x5853625c
mov dword [esp + 0x24], 0x18625958
mov word [esp + 0x28], 0x59
nop dword [eax]
xor byte [esp + eax + 0x1d], cl
inc eax
cmp eax, 0xc
jae 0x10058bb0
mov cl, byte [esp + 0x1c]
jmp 0x10058ba0
sub esp, 0x18
mov byte [esp + 0x41], 0
mov edx, esp
lea ecx, [esp + 0x35]
xorps xmm0, xmm0
lea eax, [ecx + 1]
mov dword [esp + 0x28], eax
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10058be0
sub ecx, dword [esp + 0x28]
lea eax, [esp + 0x35]
push ecx
push eax
mov ecx, edx
call fcn.10002570
lea eax, [esp + 0x84]
push eax
call fcn.1000dc10
mov ecx, dword [esi + 8]
add esp, 0x20
mov edx, eax
call fcn.10018f90
movzx ecx, byte [esp + 0xb]
lea ecx, [ecx + ecx*2]
mov dword [esi + ecx*4 + 0x14], eax
mov ecx, dword [esp + 0x7c]
cmp ecx, 0xf
jbe 0x10058c54
mov edx, dword [esp + 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10058c4a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10059dfb
push ecx
push edx
call fcn.1007fa16
add esp, 8
call fcn.100156c0
mov edx, eax
test edx, edx
je 0x10058e8f
movzx ecx, byte [esp + 0xb]
inc ecx
lea eax, [ecx + ecx*2]
mov dword [esp + 0x10], eax
mov dword [esi + eax*4], edx
call fcn.100192b0
mov edx, dword [0x100b2f0c]
mov ecx, eax
call edx
mov edx, eax
test edx, edx
je 0x10058e8f
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + eax*4]
mov dword [ecx], edx
mov eax, dword [esi + eax*4]
mov edx, dword [esi]
mov dword [esp + 0x14], edx
mov eax, dword [eax]
mov dword [esp + 0xc], eax
test eax, eax
je 0x10058cd2
push 4
push eax
call edi
test eax, eax
jne 0x10058cd2
mov eax, dword [esp + 0x14]
test eax, eax
je 0x10058cd2
push 4
push eax
call edi
test eax, eax
jne 0x10058cd2
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
call eax
mov eax, dword [esp + 0x10]
mov eax, dword [esi + eax*4]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
test eax, eax
je 0x10058d20
push 4
push eax
call edi
test eax, eax
jne 0x10058d20
mov ecx, dword [esp + 0xc]
sub esp, 0x20
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x3f340000
mov dword [esp + 8], 0x3f340000
mov dword [esp + 4], eax
mov dword [esp], eax
call dword [0x100b2f1c]
movzx eax, byte [esp + 0xb]
inc eax
lea eax, [eax + eax*2]
mov eax, dword [esi + eax*4]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
test eax, eax
je 0x10058d5f
push 4
push eax
call edi
test eax, eax
jne 0x10058d5f
mov eax, dword [esp + 0xc]
add eax, 0xcc
push 4
push eax
mov dword [esp + 0x14], eax
call edi
test eax, eax
jne 0x10058d5f
mov eax, dword [esp + 0xc]
mov dword [eax], 0xb
movzx eax, byte [esp + 0xb]
inc eax
lea eax, [eax + eax*2]
mov eax, dword [esi + eax*4]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
test eax, eax
je 0x10058d8d
push 4
push eax
call edi
test eax, eax
jne 0x10058d8d
mov ecx, dword [esp + 0xc]
push 0x110
call dword [0x100b2ee8]
movzx eax, byte [esp + 0xb]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
lea eax, [eax + eax*2]
mov dword [esp + 0x40], 0
mov eax, dword [esi + eax*4 + 0x14]
mov dword [esp + 0xc], eax
test eax, eax
je 0x10058df6
push 4
push eax
call edi
test eax, eax
jne 0x10058df6
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0xdc]
mov dword [esp + 0x40], eax
mov eax, dword [ecx + 0xe0]
mov dword [esp + 0x44], eax
mov eax, dword [ecx + 0xe4]
mov dword [esp + 0x48], eax
mov eax, dword [ecx + 0xe8]
mov dword [esp + 0x4c], eax
movzx eax, byte [esp + 0xb]
movaps xmm0, xmmword [esp + 0x40]
inc eax
movaps xmmword [esp + 0x80], xmm0
lea eax, [eax + eax*2]
mov eax, dword [esi + eax*4]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
test eax, eax
je 0x10058e34
push 4
push eax
call edi
test eax, eax
jne 0x10058e34
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x80]
push eax
call dword [0x100b2f18]
movzx eax, byte [esp + 0xb]
inc eax
lea eax, [eax + eax*2]
mov eax, dword [esi + eax*4]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
test eax, eax
je 0x10058e65
push 4
push eax
call edi
test eax, eax
jne 0x10058e65
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x80]
push eax
call dword [0x100b2ec8]
movzx eax, byte [esp + 0xb]
inc eax
lea eax, [eax + eax*2]
mov eax, dword [esi + eax*4]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
test eax, eax
je 0x10058e8f
push 4
push eax
call edi
test eax, eax
jne 0x10058e8f
mov ecx, dword [esp + 0xc]
push eax
call dword [0x100b2edc]
mov al, byte [esp + 0xb]
inc al
mov byte [esp + 0xb], al
cmp al, 5
jb 0x10058aa2
mov cl, 0x6d
mov dword [esp + 0x18], 0x1f191e6d
mov dword [esp + 0x1c], 0x81f32
xor eax, eax
mov dword [esp + 0x20], 0x403040c
mov word [esp + 0x24], 0xa03
mov byte [esp + 0x26], 0
nop dword [eax]
xor byte [esp + eax + 0x19], cl
inc eax
cmp eax, 0xd
jae 0x10058ee0
mov cl, byte [esp + 0x18]
jmp 0x10058ed0
xorps xmm0, xmm0
mov byte [esp + 0x26], 0
lea ecx, [esp + 0x19]
movaps xmmword [esp + 0x80], xmm0
mov dword [esp + 0x90], 0
lea edx, [ecx + 1]
mov dword [esp + 0x94], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10058f10
sub ecx, edx
lea eax, [esp + 0x19]
push ecx
push eax
lea ecx, [esp + 0x88]
call fcn.10002570
cmp dword [esp + 0x90], 0
mov eax, dword [esi]
mov dword [esp + 0x14], eax
je 0x10058fe3
test eax, eax
je 0x10058fe3
push 4
push eax
call edi
test eax, eax
jne 0x10058fe3
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xc4]
mov dword [esp + 0xc], edx
mov eax, dword [edx]
mov dword [esp + 0x10], eax
cmp eax, edx
je 0x10058fe3
nop dword [eax]
cmp eax, dword [ecx + 0xc4]
jne 0x10058f81
call fcn.10084b0f
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov dword [esp + 0x3c], ecx
test ecx, ecx
je 0x10058fbe
cmp dword [ecx + 0x78], 0x10
lea edx, [ecx + 0x64]
jb 0x10058f97
mov edx, dword [edx]
cmp dword [esp + 0x94], 0xf
lea eax, [esp + 0x80]
cmova eax, dword [esp + 0x80]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1005901c
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0xc4]
jne 0x10058fd7
call fcn.10084b0f
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0xc]
jne 0x10058f70
xor eax, eax
mov ecx, dword [esp + 0x94]
mov dword [esi + 0x48], eax
cmp ecx, 0xf
jbe 0x1005902c
mov edx, dword [esp + 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10059022
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10059e05
jmp 0x10059022
mov eax, dword [esp + 0x3c]
jmp 0x10058fe5
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov cl, 4
mov dword [esp + 0x18], 0x6b766304
mov dword [esp + 0x1c], 0x605b7471
xor eax, eax
mov dword [esp + 0x20], 0x6d657061
mov word [esp + 0x24], 0x68
nop
xor byte [esp + eax + 0x19], cl
inc eax
cmp eax, 0xc
jae 0x10059060
mov cl, byte [esp + 0x18]
jmp 0x10059050
xorps xmm0, xmm0
mov byte [esp + 0x25], 0
lea ecx, [esp + 0x19]
movaps xmmword [esp + 0x80], xmm0
mov dword [esp + 0x90], 0
lea edx, [ecx + 1]
mov dword [esp + 0x94], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10059090
sub ecx, edx
lea eax, [esp + 0x19]
push ecx
push eax
lea ecx, [esp + 0x88]
call fcn.10002570
cmp dword [esp + 0x90], 0
mov eax, dword [esi]
mov dword [esp + 0x14], eax
je 0x10059163
test eax, eax
je 0x10059163
push 4
push eax
call edi
test eax, eax
jne 0x10059163
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xc4]
mov dword [esp + 0xc], edx
mov eax, dword [edx]
mov dword [esp + 0x10], eax
cmp eax, edx
je 0x10059163
nop dword [eax]
cmp eax, dword [ecx + 0xc4]
jne 0x10059101
call fcn.10084b0f
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov dword [esp + 0x3c], ecx
test ecx, ecx
je 0x1005913e
cmp dword [ecx + 0x78], 0x10
lea edx, [ecx + 0x64]
jb 0x10059117
mov edx, dword [edx]
cmp dword [esp + 0x94], 0xf
lea eax, [esp + 0x80]
cmova eax, dword [esp + 0x80]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1005919c
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0xc4]
jne 0x10059157
call fcn.10084b0f
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0xc]
jne 0x100590f0
xor eax, eax
mov ecx, dword [esp + 0x94]
mov dword [esi + 0x4c], eax
cmp ecx, 0xf
jbe 0x100591ac
mov edx, dword [esp + 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100591a2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10059e0a
jmp 0x100591a2
mov eax, dword [esp + 0x3c]
jmp 0x10059165
push ecx
push edx
call fcn.1007fa16
add esp, 8
movaps xmm0, xmmword [0x100b4180]
xor ecx, ecx
movups xmmword [esp + 0x80], xmm0
mov byte [esp + 0x90], 0
nop word [eax + eax]
mov al, byte [esp + 0x80]
xor byte [esp + ecx + 0x81], al
inc ecx
cmp ecx, 0xf
jb 0x100591d0
xorps xmm0, xmm0
mov byte [esp + 0x90], 0
lea ecx, [esp + 0x81]
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
lea edx, [ecx + 1]
mov dword [esp + 0x54], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10059210
sub ecx, edx
lea eax, [esp + 0x81]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002570
cmp dword [esp + 0x50], 0
mov eax, dword [esi + 0x4c]
mov dword [esp + 0x14], eax
je 0x100592da
test eax, eax
je 0x100592da
push 4
push eax
call edi
test eax, eax
jne 0x100592da
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xc4]
mov dword [esp + 0xc], edx
mov eax, dword [edx]
mov dword [esp + 0x10], eax
cmp eax, edx
je 0x100592da
nop word [eax + eax]
cmp eax, dword [ecx + 0xc4]
jne 0x10059281
call fcn.10084b0f
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov dword [esp + 0x3c], ecx
test ecx, ecx
je 0x100592b5
cmp dword [ecx + 0x78], 0x10
lea edx, [ecx + 0x64]
jb 0x10059297
mov edx, dword [edx]
cmp dword [esp + 0x54], 0xf
lea eax, [esp + 0x40]
cmova eax, dword [esp + 0x40]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1005930d
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0xc4]
jne 0x100592ce
call fcn.10084b0f
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0xc]
jne 0x10059270
xor eax, eax
mov ecx, dword [esp + 0x54]
mov dword [esi + 0x50], eax
cmp ecx, 0xf
jbe 0x1005931d
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10059313
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10059e0f
jmp 0x10059313
mov eax, dword [esp + 0x3c]
jmp 0x100592dc
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov cl, 0x36
mov byte [esp + 0x2c], 0x42
mov ch, cl
mov byte [esp + 0x29], 0x21
xor cl, byte [esp + 0x2c]
mov al, 0x31
xor al, byte [esp + 0x2c]
mov dl, 0x30
mov byte [esp + 0x2d], al
mov dh, 0x2b
mov al, byte [esp + 0x29]
mov ah, 0x1d
mov byte [esp + 0x2e], cl
xorps xmm0, xmm0
mov cl, byte [esp + 0x2c]
xor al, cl
mov byte [esp + 0x2a], 0x29
mov byte [esp + 0x33], al
xor dl, cl
mov al, byte [esp + 0x2a]
xor dh, cl
xor al, cl
mov byte [esp + 0xb], 0x27
mov byte [esp + 0x34], al
xor ah, cl
mov al, byte [esp + 0xb]
xor al, cl
mov byte [esp + 0x2b], ch
xor ch, cl
mov byte [esp + 0x35], al
mov al, byte [esp + 0x2b]
xor al, cl
mov byte [esp + 0x31], ch
lea ecx, [esp + 0x2d]
mov byte [esp + 0x37], 0
mov byte [esp + 0x2f], dl
mov byte [esp + 0x32], dh
lea edx, [ecx + 1]
mov byte [esp + 0x30], ah
mov byte [esp + 0x36], al
mov byte [esp + 0x37], 0
movaps xmmword [esp + 0x80], xmm0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100593c7
sub ecx, edx
lea eax, [esp + 0x2d]
push ecx
push eax
lea ecx, [esp + 0x88]
call fcn.10002570
cmp dword [esp + 0x90], 0
mov eax, dword [esi + 0x4c]
mov dword [esp + 0x14], eax
je 0x10059497
test eax, eax
je 0x10059497
push 4
push eax
call edi
test eax, eax
jne 0x10059497
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xc4]
mov dword [esp + 0xc], edx
mov eax, dword [edx]
mov dword [esp + 0x10], eax
cmp eax, edx
je 0x10059497
cmp eax, dword [ecx + 0xc4]
jne 0x10059435
call fcn.10084b0f
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov dword [esp + 0x3c], ecx
test ecx, ecx
je 0x10059472
cmp dword [ecx + 0x78], 0x10
lea edx, [ecx + 0x64]
jb 0x1005944b
mov edx, dword [edx]
cmp dword [esp + 0x94], 0xf
lea eax, [esp + 0x80]
cmova eax, dword [esp + 0x80]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x100594d0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0xc4]
jne 0x1005948b
call fcn.10084b0f
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0xc]
jne 0x10059424
xor eax, eax
mov ecx, dword [esp + 0x94]
mov dword [esi + 0x54], eax
cmp ecx, 0xf
jbe 0x100594e0
mov edx, dword [esp + 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100594d6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10059e14
jmp 0x100594d6
mov eax, dword [esp + 0x3c]
jmp 0x10059499
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov byte [esp + 0x2c], 0x7d
mov cl, 9
xor cl, byte [esp + 0x2c]
mov al, 0xe
xor al, byte [esp + 0x2c]
mov ch, 0x1e
mov byte [esp + 0x2d], al
mov dl, 0xf
mov byte [esp + 0x2e], cl
mov dh, 0x15
mov cl, byte [esp + 0x2c]
mov ah, 0x22
mov byte [esp + 0x2b], 0x1c
xor dl, cl
mov al, byte [esp + 0x2b]
xor ch, cl
xor al, cl
mov byte [esp + 0x29], 0x13
mov byte [esp + 0x33], al
xor dh, cl
mov al, byte [esp + 0x29]
xor ah, cl
xor al, cl
mov byte [esp + 0x2a], 0x1a
mov byte [esp + 0x34], al
xorps xmm0, xmm0
mov al, byte [esp + 0x2a]
xor al, cl
mov byte [esp + 0xb], 0x18
mov byte [esp + 0x35], al
mov al, byte [esp + 0xb]
xor al, cl
mov byte [esp + 0x31], ch
lea ecx, [esp + 0x2d]
mov byte [esp + 0x37], 0
mov byte [esp + 0x2f], dl
mov byte [esp + 0x32], dh
lea edx, [ecx + 1]
mov byte [esp + 0x30], ah
mov byte [esp + 0x36], al
mov byte [esp + 0x37], 0
movaps xmmword [esp + 0x80], xmm0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10059590
sub ecx, edx
lea eax, [esp + 0x2d]
push ecx
push eax
lea ecx, [esp + 0x88]
call fcn.10002570
cmp dword [esp + 0x90], 0
mov eax, dword [esi + 0x4c]
mov dword [esp + 0x14], eax
je 0x10059663
test eax, eax
je 0x10059663
push 4
push eax
call edi
test eax, eax
jne 0x10059663
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xc4]
mov dword [esp + 0xc], edx
mov eax, dword [edx]
mov dword [esp + 0x10], eax
cmp eax, edx
je 0x10059663
nop dword [eax]
cmp eax, dword [ecx + 0xc4]
jne 0x10059601
call fcn.10084b0f
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov dword [esp + 0x3c], ecx
test ecx, ecx
je 0x1005963e
cmp dword [ecx + 0x78], 0x10
lea edx, [ecx + 0x64]
jb 0x10059617
mov edx, dword [edx]
cmp dword [esp + 0x94], 0xf
lea eax, [esp + 0x80]
cmova eax, dword [esp + 0x80]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1005969c
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0xc4]
jne 0x10059657
call fcn.10084b0f
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0xc]
jne 0x100595f0
xor eax, eax
mov ecx, dword [esp + 0x94]
mov dword [esi + 0x58], eax
cmp ecx, 0xf
jbe 0x100596ac
mov edx, dword [esp + 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100596a2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10059e19
jmp 0x100596a2
mov eax, dword [esp + 0x3c]
jmp 0x10059665
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov byte [esp + 0x2c], 0x4f
mov cl, 0x3b
xor cl, byte [esp + 0x2c]
mov al, 0x2d
xor al, byte [esp + 0x2c]
mov dl, 0x21
mov byte [esp + 0x2d], al
mov ch, 0x25
mov byte [esp + 0x2e], cl
mov dh, 0x20
mov cl, byte [esp + 0x2c]
mov ah, 0x10
mov byte [esp + 0x2b], 0x26
xor ch, cl
mov al, byte [esp + 0x2b]
xor dh, cl
xor al, cl
mov byte [esp + 0x29], dl
xor dl, cl
mov byte [esp + 0x33], al
mov al, byte [esp + 0x29]
xor ah, cl
xor al, cl
mov byte [esp + 0x31], ch
xorps xmm0, xmm0
mov byte [esp + 0x35], 0
lea ecx, [esp + 0x2d]
mov byte [esp + 0x2f], dl
mov byte [esp + 0x32], dh
lea edx, [ecx + 1]
mov byte [esp + 0x30], ah
mov byte [esp + 0x34], al
mov byte [esp + 0x35], 0
movaps xmmword [esp + 0x80], xmm0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10059738
sub ecx, edx
lea eax, [esp + 0x2d]
push ecx
push eax
lea ecx, [esp + 0x88]
call fcn.10002570
cmp dword [esp + 0x90], 0
mov eax, dword [esi + 0x4c]
mov dword [esp + 0x14], eax
je 0x10059808
test eax, eax
je 0x10059808
push 4
push eax
call edi
test eax, eax
jne 0x10059808
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xc4]
mov dword [esp + 0xc], edx
mov eax, dword [edx]
mov dword [esp + 0x10], eax
cmp eax, edx
je 0x10059808
cmp eax, dword [ecx + 0xc4]
jne 0x100597a6
call fcn.10084b0f
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov dword [esp + 0x3c], ecx
test ecx, ecx
je 0x100597e3
cmp dword [ecx + 0x78], 0x10
lea edx, [ecx + 0x64]
jb 0x100597bc
mov edx, dword [edx]
cmp dword [esp + 0x94], 0xf
lea eax, [esp + 0x80]
cmova eax, dword [esp + 0x80]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x10059841
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0xc4]
jne 0x100597fc
call fcn.10084b0f
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0xc]
jne 0x10059795
xor eax, eax
mov ecx, dword [esp + 0x94]
mov dword [esi + 0x5c], eax
cmp ecx, 0xf
jbe 0x10059851
mov edx, dword [esp + 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10059847
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10059e1e
jmp 0x10059847
mov eax, dword [esp + 0x3c]
jmp 0x1005980a
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov cl, 0x6a
mov dword [esp + 0x18], 0x5180d6a
mov dword [esp + 0x1c], 0x18351a1f
xor eax, eax
mov dword [esp + 0x20], 0x180b1d0f
mov word [esp + 0x24], 0xe
xor byte [esp + eax + 0x19], cl
inc eax
cmp eax, 0xc
jae 0x10059884
mov cl, byte [esp + 0x18]
jmp 0x10059874
xorps xmm0, xmm0
mov byte [esp + 0x25], 0
lea ecx, [esp + 0x19]
movaps xmmword [esp + 0x80], xmm0
mov dword [esp + 0x90], 0
lea edx, [ecx + 1]
mov dword [esp + 0x94], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100598b1
sub ecx, edx
lea eax, [esp + 0x19]
push ecx
push eax
lea ecx, [esp + 0x88]
call fcn.10002570
cmp dword [esp + 0x90], 0
mov eax, dword [esi]
mov dword [esp + 0x14], eax
je 0x10059983
test eax, eax
je 0x10059983
push 4
push eax
call edi
test eax, eax
jne 0x10059983
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xc4]
mov dword [esp + 0xc], edx
mov eax, dword [edx]
mov dword [esp + 0x10], eax
cmp eax, edx
je 0x10059983
nop dword [eax]
cmp eax, dword [ecx + 0xc4]
jne 0x10059921
call fcn.10084b0f
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov dword [esp + 0x3c], ecx
test ecx, ecx
je 0x1005995e
cmp dword [ecx + 0x78], 0x10
lea edx, [ecx + 0x64]
jb 0x10059937
mov edx, dword [edx]
cmp dword [esp + 0x94], 0xf
lea eax, [esp + 0x80]
cmova eax, dword [esp + 0x80]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x100599bc
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0xc4]
jne 0x10059977
call fcn.10084b0f
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0xc]
jne 0x10059910
xor eax, eax
mov ecx, dword [esp + 0x94]
mov dword [esi + 0x60], eax
cmp ecx, 0xf
jbe 0x100599cc
mov edx, dword [esp + 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100599c2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10059e23
jmp 0x100599c2
mov eax, dword [esp + 0x3c]
jmp 0x10059985
push ecx
push edx
call fcn.1007fa16
add esp, 8
xor al, al
mov byte [esp + 0xb], al
movzx eax, al
mov cl, 0x69
push eax
mov dword [esp + 0x1c], 0x1d111d69
xor eax, eax
mov dword [esp + 0x20], 0x1e0c1b36
mov dword [esp + 0x24], 0x360d1b08
mov word [esp + 0x28], 0xd4c
mov byte [esp + 0x2a], 0
nop
xor byte [esp + eax + 0x1d], cl
inc eax
cmp eax, 0xd
jae 0x10059a10
mov cl, byte [esp + 0x1c]
jmp 0x10059a00
sub esp, 0x18
mov byte [esp + 0x42], 0
mov edx, esp
lea ecx, [esp + 0x35]
xorps xmm0, xmm0
lea eax, [ecx + 1]
mov dword [esp + 0x28], eax
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10059a40
sub ecx, dword [esp + 0x28]
lea eax, [esp + 0x35]
push ecx
push eax
mov ecx, edx
call fcn.10002570
lea eax, [esp + 0x84]
push eax
call fcn.1000dc10
mov ecx, dword [esi + 0x60]
add esp, 0x20
mov edx, eax
call fcn.10018f90
movzx ecx, byte [esp + 0xb]
lea ecx, [ecx + ecx*2]
mov dword [esi + ecx*4 + 0x68], eax
mov ecx, dword [esp + 0x7c]
cmp ecx, 0xf
jbe 0x10059ab4
mov edx, dword [esp + 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10059aaa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10059dfb
push ecx
push edx
call fcn.1007fa16
add esp, 8
movzx eax, byte [esp + 0xb]
xor ecx, ecx
movaps xmm0, xmmword [0x100b3610]
push eax
movups xmmword [esp + 0x30], xmm0
nop dword [eax + eax]
mov al, byte [esp + 0x30]
xor byte [esp + ecx + 0x31], al
inc ecx
cmp ecx, 0xe
jb 0x10059ad0
sub esp, 0x18
mov byte [esp + 0x57], 0
mov edx, esp
lea ecx, [esp + 0x49]
xorps xmm0, xmm0
lea eax, [ecx + 1]
mov dword [esp + 0x28], eax
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10059b07
sub ecx, dword [esp + 0x28]
lea eax, [esp + 0x49]
push ecx
push eax
mov ecx, edx
call fcn.10002570
lea eax, [esp + 0x84]
push eax
call fcn.1000dc10
mov ecx, dword [esi + 0x60]
add esp, 0x20
mov edx, eax
call fcn.10018f90
movzx ecx, byte [esp + 0xb]
add ecx, 9
lea ecx, [ecx + ecx*2]
mov dword [esi + ecx*4], eax
mov ecx, dword [esp + 0x7c]
cmp ecx, 0xf
jbe 0x10059b7d
mov edx, dword [esp + 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10059b73
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10059dfb
push ecx
push edx
call fcn.1007fa16
add esp, 8
call fcn.100156c0
mov edx, eax
test edx, edx
je 0x10059dbd
movzx ecx, byte [esp + 0xb]
lea eax, [ecx + ecx*2]
mov dword [esp + 0x10], eax
mov dword [esi + eax*4 + 0x64], edx
call fcn.100192b0
mov edx, dword [0x100b2f0c]
mov ecx, eax
call edx
mov edx, eax
test edx, edx
je 0x10059dbd
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + eax*4 + 0x64]
mov dword [ecx], edx
mov eax, dword [esi + eax*4 + 0x64]
mov edx, dword [esi]
mov dword [esp + 0x14], edx
mov eax, dword [eax]
mov dword [esp + 0xc], eax
test eax, eax
je 0x10059bfd
push 4
push eax
call edi
test eax, eax
jne 0x10059bfd
mov eax, dword [esp + 0x14]
test eax, eax
je 0x10059bfd
push 4
push eax
call edi
test eax, eax
jne 0x10059bfd
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
call eax
mov eax, dword [esp + 0x10]
mov eax, dword [esi + eax*4 + 0x64]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
test eax, eax
je 0x10059c4c
push 4
push eax
call edi
test eax, eax
jne 0x10059c4c
mov ecx, dword [esp + 0xc]
sub esp, 0x20
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x3f340000
mov dword [esp + 8], 0x3f340000
mov dword [esp + 4], eax
mov dword [esp], eax
call dword [0x100b2f1c]
movzx eax, byte [esp + 0xb]
lea eax, [eax + eax*2]
mov eax, dword [esi + eax*4 + 0x64]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
test eax, eax
je 0x10059c8b
push 4
push eax
call edi
test eax, eax
jne 0x10059c8b
mov eax, dword [esp + 0xc]
add eax, 0xcc
push 4
push eax
mov dword [esp + 0x14], eax
call edi
test eax, eax
jne 0x10059c8b
mov eax, dword [esp + 0xc]
mov dword [eax], 0xb
movzx eax, byte [esp + 0xb]
lea eax, [eax + eax*2]
mov eax, dword [esi + eax*4 + 0x64]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
test eax, eax
je 0x10059cb9
push 4
push eax
call edi
test eax, eax
jne 0x10059cb9
mov ecx, dword [esp + 0xc]
push 0x110
call dword [0x100b2ee8]
movzx eax, byte [esp + 0xb]
add eax, 9
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
lea eax, [eax + eax*2]
mov eax, dword [esi + eax*4]
mov dword [esp + 0xc], eax
test eax, eax
je 0x10059d24
push 4
push eax
call edi
test eax, eax
jne 0x10059d24
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0xdc]
mov dword [esp + 0x40], eax
mov eax, dword [ecx + 0xe0]
mov dword [esp + 0x44], eax
mov eax, dword [ecx + 0xe4]
mov dword [esp + 0x48], eax
mov eax, dword [ecx + 0xe8]
mov dword [esp + 0x4c], eax
movzx eax, byte [esp + 0xb]
movaps xmm0, xmmword [esp + 0x40]
movaps xmmword [esp + 0x80], xmm0
lea eax, [eax + eax*2]
mov eax, dword [esi + eax*4 + 0x64]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
test eax, eax
je 0x10059d62
push 4
push eax
call edi
test eax, eax
jne 0x10059d62
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x80]
push eax
call dword [0x100b2f18]
movzx eax, byte [esp + 0xb]
lea eax, [eax + eax*2]
mov eax, dword [esi + eax*4 + 0x64]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
test eax, eax
je 0x10059d93
push 4
push eax
call edi
test eax, eax
jne 0x10059d93
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x80]
push eax
call dword [0x100b2ec8]
movzx eax, byte [esp + 0xb]
lea eax, [eax + eax*2]
mov eax, dword [esi + eax*4 + 0x64]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
test eax, eax
je 0x10059dbd
push 4
push eax
call edi
test eax, eax
jne 0x10059dbd
mov ecx, dword [esp + 0xc]
push eax
call dword [0x100b2edc]
mov al, byte [esp + 0xb]
inc al
mov byte [esp + 0xb], al
cmp al, 5
jb 0x100599d2
mov esi, dword [esi]
test esi, esi
je 0x10059de7
push 4
push esi
call edi
test eax, eax
jne 0x10059de7
push eax
mov ecx, esi
call dword [0x100b2ee8]
mov ecx, dword [esp + 0xac]
pop edi
pop esi
xor ecx, esp
call fcn.1007f9b5
mov esp, ebp
pop ebp
ret
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
int3