Function at 0x10003840
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100128df
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14c
push ebx
xor ebx, ebx
push esi
push edi
mov esi, ecx
mov word [ebp - 0xb4], 3
mov dword [ebp - 0xac], ebx
push 0xffffffffffffffff
push 0x100162d0
mov dword [ebp - 4], ebx
call fcn.10002550
mov edi, eax
add esp, 8
mov dword [ebp - 0x10], edi
mov eax, dword [esi + 0x364]
lea edx, [ebp - 0xb4]
push edx
push edi
mov ecx, dword [eax]
push eax
mov byte [ebp - 4], 1
call dword [ecx + 0x8c]
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push 8
lea eax, [ebp - 0xb4]
push ebx
lea ecx, [ebp - 0xb4]
push eax
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
mov eax, dword [ebp - 0xac]
mov byte [ebp - 0x15], 1
cmp eax, ebx
mov dword [ebp - 0x14], eax
jne 0x100038da
mov dword [ebp - 0x4c], ebx
jmp 0x10003902
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea edi, [eax + eax + 2]
mov eax, edi
add eax, 3
and al, 0xfc
call fcn.10012250
mov edx, dword [ebp - 0x14]
mov eax, esp
push ebx
push edi
push edx
push eax
call fcn.10003780
mov dword [ebp - 0x4c], eax
mov word [ebp - 0xe4], 3
mov dword [ebp - 0xdc], ebx
mov cl, 0x4e
mov al, 0x59
mov byte [ebp - 0x40], cl
mov byte [ebp - 0x3f], al
mov byte [ebp - 0x3d], al
mov byte [ebp - 0x3c], cl
mov ecx, 0x18
xor eax, eax
lea edi, [ebp - 0x157]
mov byte [ebp - 0x158], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x44], 0x4b
mov byte [ebp - 0x43], 0x55
mov byte [ebp - 0x42], 0x48
mov byte [ebp - 0x41], 0x54
mov byte [ebp - 0x3e], 0x5a
xor eax, eax
mov cl, byte [ebp + eax - 0x44]
xor cl, 0x3c
mov byte [ebp + eax - 0x158], cl
inc eax
cmp eax, 9
jl 0x1000394f
lea edx, [ebp - 0x158]
push 0xffffffffffffffff
push edx
mov byte [ebp + eax - 0x158], bl
call fcn.10002550
mov edi, eax
add esp, 8
mov dword [ebp - 0x10], edi
mov eax, dword [esi + 0x364]
lea edx, [ebp - 0xe4]
push edx
push edi
mov ecx, dword [eax]
push eax
mov byte [ebp - 4], 3
call dword [ecx + 0x8c]
push edi
mov byte [ebp - 4], 2
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0xdc]
cmp eax, ebx
mov dword [ebp - 0x24], eax
je 0x10003b47
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + eax + 2]
mov dword [ebp - 0x10], eax
add eax, 3
and al, 0xfc
call fcn.10012250
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
mov edi, esp
push ebx
push ebx
push eax
push edi
push 0xffffffffffffffff
push ecx
push ebx
push ebx
mov dword [ebp - 0x20], edi
mov byte [edi], bl
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
cmp edi, ebx
je 0x10003b47
mov eax, str.close
mov dl, byte [edi]
mov cl, dl
cmp dl, byte [eax]
jne 0x10003a1c
cmp cl, bl
je 0x10003a18
mov dl, byte [edi + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x10003a1c
add edi, 2
add eax, 2
cmp cl, bl
jne 0x100039f8
xor eax, eax
jmp 0x10003a21
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x10003a37
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0xe4]
push eax
jmp 0x1000469a
mov edi, dword [ebp - 0x20]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 5
jbe 0x10003b47
push str.close
lea ecx, [ebp - 0x5c]
mov word [ebp - 0x5c], bx
call fcn.100037b0
mov word [ebp - 0xf4], 3
mov dword [ebp - 0xec], ebx
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x38], edx
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
xor eax, eax
mov cl, byte [ebp + eax - 0x44]
xor cl, 0x3c
mov byte [ebp + eax - 0x158], cl
inc eax
cmp eax, 9
jl 0x10003a87
lea edx, [ebp - 0x158]
push 0xffffffffffffffff
push edx
mov byte [ebp + eax - 0x158], bl
call fcn.10002550
mov edi, eax
mov dword [ebp - 0x10], edi
mov eax, dword [esi + 0x364]
sub esp, 8
mov edx, esp
mov byte [ebp - 4], 6
mov ecx, dword [eax]
mov eax, dword [ebp - 0x38]
mov dword [edx], eax
mov eax, dword [ebp - 0x34]
push edi
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x30]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x2c]
mov dword [edx + 0xc], eax
mov eax, dword [esi + 0x364]
push eax
call dword [ecx + 0x88]
push edi
mov byte [ebp - 4], 5
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dl, byte [ebp - 0x15]
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x10], esp
push ebx
mov dword [ebp - 0x10], ecx
mov byte [ecx], dl
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov edi, dword [ebp - 0x20]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [ebp - 0x20]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp - 0x10]
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
mov ecx, esi
call fcn.10002d10
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [ebp - 0xf4]
push ecx
mov byte [ebp - 0x15], bl
call edi
lea edx, [ebp - 0x5c]
push edx
call edi
lea eax, [ebp - 0xe4]
mov byte [ebp - 4], bl
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edi, dword [ebp - 0x4c]
cmp edi, ebx
je 0x10003e59
mov eax, 0x10016298
mov dl, byte [edi]
mov cl, dl
cmp dl, byte [eax]
jne 0x10003b8b
cmp cl, bl
je 0x10003b87
mov dl, byte [edi + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x10003b8b
add edi, 2
add eax, 2
cmp cl, bl
jne 0x10003b67
xor eax, eax
jmp 0x10003b90
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x10003e59
lea edi, [esi + 0x18]
push 0xffffffffffffffff
mov ecx, edi
call fcn.100087b0
mov ecx, edi
call fcn.1000a570
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], ebx
push eax
call dword [sym.imp.MSVCRT.dll_time]
add esp, 4
mov ecx, edi
call fcn.10008890
mov ecx, edi
mov dword [ebp - 0x10], eax
call fcn.10008b90
mov ecx, dword [ebp - 0x20]
sub ecx, eax
mov eax, dword [ebp - 0x10]
cmp ecx, eax
jge 0x10003c00
mov ecx, edi
call fcn.10009180
mov esi, dword [esi + 0x364]
push esi
mov edx, dword [esi]
call dword [edx + 0x80]
lea eax, [ebp - 0xb4]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x100046a5
mov word [ebp - 0x48], 3
mov dword [ebp - 0x40], ebx
push 0xffffffffffffffff
push 0x100162cc
call fcn.10002550
mov edi, eax
add esp, 8
mov dword [ebp - 0x10], edi
mov eax, dword [esi + 0x364]
lea edx, [ebp - 0x48]
push edx
push edi
mov ecx, dword [eax]
push eax
mov byte [ebp - 4], 8
call dword [ecx + 0x8c]
push edi
mov byte [ebp - 4], 7
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push 8
lea eax, [ebp - 0x48]
push ebx
lea ecx, [ebp - 0x48]
push eax
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
mov eax, dword [ebp - 0x40]
cmp eax, ebx
mov dword [ebp - 0x14], eax
je 0x10003cc2
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + eax + 2]
mov dword [ebp - 0x1c], eax
add eax, 3
and al, 0xfc
call fcn.10012250
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov edi, esp
push ebx
push ebx
push edx
push edi
push 0xffffffffffffffff
push eax
push ebx
push ebx
mov byte [edi], bl
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
cmp edi, ebx
je 0x10003cc2
mov eax, str.true
mov dl, byte [edi]
mov cl, dl
cmp dl, byte [eax]
jne 0x10003cb9
cmp cl, bl
je 0x10003cb5
mov dl, byte [edi + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x10003cb9
add edi, 2
add eax, 2
cmp cl, bl
jne 0x10003c95
xor eax, eax
jmp 0x10003cbe
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x10003ce1
mov eax, dword [ebp - 0x4c]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
add esp, 4
lea edi, [esi + 0x18]
mov ecx, edi
push eax
call fcn.100083d0
mov ecx, edi
call fcn.10008d20
mov ecx, dword [ebp - 0x20]
lea edi, [esi + 0x18]
push ecx
mov ecx, edi
call fcn.10008ae0
mov ecx, edi
call fcn.10009180
mov word [ebp - 0x38], 3
mov dword [ebp - 0x30], ebx
push 0xffffffffffffffff
push 0x100162a8
call fcn.10002550
mov edi, eax
add esp, 8
mov dword [ebp - 0x10], edi
mov eax, dword [esi + 0x364]
lea ecx, [ebp - 0x38]
push ecx
push edi
mov edx, dword [eax]
push eax
mov byte [ebp - 4], 0xa
call dword [edx + 0x8c]
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push 8
lea edx, [ebp - 0x38]
push ebx
lea eax, [ebp - 0x38]
push edx
push eax
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
mov word [ebp - 0x5c], 3
mov dword [ebp - 0x54], ebx
push 0xffffffffffffffff
push str.kid1
call fcn.10002550
mov edi, eax
add esp, 8
mov dword [ebp - 0x10], edi
mov eax, dword [esi + 0x364]
lea edx, [ebp - 0x5c]
push edx
push edi
mov ecx, dword [eax]
push eax
mov byte [ebp - 4], 0xc
call dword [ecx + 0x8c]
push edi
mov byte [ebp - 4], 0xb
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push 8
lea eax, [ebp - 0x5c]
push ebx
lea ecx, [ebp - 0x5c]
push eax
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
mov eax, dword [ebp - 0x30]
cmp eax, ebx
mov dword [ebp - 0x14], eax
jne 0x10003da2
xor edi, edi
jmp 0x10003dd3
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + eax + 2]
mov dword [ebp - 0x1c], eax
add eax, 3
and al, 0xfc
call fcn.10012250
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov edi, esp
push ebx
push ebx
push edx
push edi
push 0xffffffffffffffff
push eax
push ebx
push ebx
mov byte [edi], bl
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push edi
call dword [sym.imp.MSVCRT.dll_atoi]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x54]
add esp, 4
cmp eax, ebx
mov dword [ebp - 0x14], eax
jne 0x10003dee
xor edi, edi
jmp 0x10003e1f
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + eax + 2]
mov dword [ebp - 0x1c], eax
add eax, 3
and al, 0xfc
call fcn.10012250
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
mov edi, esp
push ebx
push ebx
push ecx
push edi
push 0xffffffffffffffff
push edx
push ebx
push ebx
mov byte [edi], bl
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push edi
call dword [sym.imp.MSVCRT.dll_atoi]
mov cl, byte [ebp - 0x15]
add esp, 4
cmp cl, bl
je 0x10003e3f
mov ecx, dword [ebp - 0x10]
push ebx
push ecx
push eax
push 1
mov ecx, esi
call fcn.10006540
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [ebp - 0x5c]
push edx
call edi
lea eax, [ebp - 0x38]
push eax
call edi
lea ecx, [ebp - 0x48]
push ecx
call edi
jmp 0x10003e6c
cmp byte [ebp - 0x15], bl
je 0x10003e6c
push ebx
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
mov ecx, esi
call fcn.10006540
push 0x10016298
lea ecx, [ebp - 0xc4]
mov word [ebp - 0xc4], bx
call fcn.100037b0
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x38], edx
mov edx, dword [ebp - 0xb8]
push 0xffffffffffffffff
push 0x100162d0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
call fcn.10002550
mov edi, eax
mov dword [ebp - 0x10], edi
mov eax, dword [esi + 0x364]
sub esp, 8
mov edx, esp
mov byte [ebp - 4], 0xe
mov ecx, dword [eax]
mov eax, dword [ebp - 0x38]
mov dword [edx], eax
mov eax, dword [ebp - 0x34]
push edi
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x30]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x2c]
mov dword [edx + 0xc], eax
mov eax, dword [esi + 0x364]
push eax
call dword [ecx + 0x88]
push edi
mov byte [ebp - 4], 0xd
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 0x364]
lea edx, [ebp - 0x28]
mov dword [ebp - 0x28], ebx
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x94]
push ebx
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
push 8
push edi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0xa
push edi
mov dword [ebp - 0x24], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push edi
push ebx
mov dword [ebp - 0x14], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ecx, 0x11
xor eax, eax
lea edi, [ebp - 0xa0]
mov dword [ebp - 0xa4], ebx
rep stosd dword es:[edi], eax
or eax, 0xffffffff
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], 0x28a
mov dword [ebp - 0x74], 0x212
mov word [ebp - 0x70], ax
mov word [ebp - 0x6e], ax
mov word [ebp - 0x6c], ax
mov word [ebp - 0x6a], ax
mov word [ebp - 0x68], ax
mov word [ebp - 0x66], bx
mov word [ebp - 0x64], bx
mov word [ebp - 0x62], ax
mov word [ebp - 0x60], ax
mov word [ebp - 0xd4], 3
mov dword [ebp - 0xcc], ebx
push eax
push str.popwinprop
call fcn.10002550
mov edi, eax
add esp, 8
mov dword [ebp - 0x10], edi
mov eax, dword [esi + 0x364]
lea edx, [ebp - 0xd4]
push edx
push edi
mov ecx, dword [eax]
push eax
mov byte [ebp - 4], 0x10
call dword [ecx + 0x8c]
push edi
mov byte [ebp - 4], 0xf
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push 8
lea eax, [ebp - 0xd4]
push ebx
lea ecx, [ebp - 0xd4]
push eax
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
mov eax, dword [ebp - 0xcc]
cmp eax, ebx
mov edi, eax
je 0x10004050
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + eax + 2]
mov dword [ebp - 0x1c], eax
add eax, 3
and al, 0xfc
call fcn.10012250
mov edx, dword [ebp - 0x1c]
mov eax, esp
push ebx
push ebx
push edx
push eax
push 0xffffffffffffffff
push edi
push ebx
push ebx
mov dword [ebp - 0x20], eax
mov byte [eax], bl
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov eax, dword [ebp - 0x20]
cmp eax, ebx
je 0x10004050
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 5
jbe 0x10004050
mov ecx, dword [ebp - 0x20]
lea eax, [ebp - 0xa4]
push eax
push ecx
mov ecx, esi
call fcn.100046c0
jmp 0x10004064
mov word [ebp - 0x70], bx
mov word [ebp - 0x6c], bx
mov word [ebp - 0x6e], bx
mov word [ebp - 0x6a], bx
mov word [ebp - 0x60], bx
mov ecx, dword [ebp - 0x80]
or eax, 0xffffffff
cmp ecx, eax
jne 0x1000407a
mov edx, dword [ebp - 0x14]
add edx, 0xfffffe98
mov dword [ebp - 0x80], edx
mov ecx, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x24]
cmp ecx, eax
jne 0x1000408d
lea eax, [edi - 0x1c2]
mov dword [ebp - 0x7c], eax
cmp word [ebp - 0x66], bx
je 0x10004128
mov eax, dword [esi + 0x364]
mov edx, dword [ebp - 0x66]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi + 0x364]
push edi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [esi + 0x364]
mov ecx, dword [ebp - 0x14]
push ecx
push eax
mov edx, dword [eax]
call dword [edx + 0x70]
cmp word [ebp - 0x64], bx
jne 0x1000417c
mov ecx, dword [ebp - 0x78]
cmp ecx, ebx
je 0x100040e5
mov eax, dword [esi + 0x364]
push ecx
push eax
mov edx, dword [eax]
call dword [edx + 0x68]
mov ecx, dword [ebp - 0x74]
cmp ecx, ebx
je 0x100040f9
mov eax, dword [esi + 0x364]
push ecx
push eax
mov edx, dword [eax]
call dword [edx + 0x70]
mov eax, dword [ebp - 0x78]
or edi, 0xffffffff
cmp eax, edi
jne 0x10004114
mov eax, dword [esi + 0x364]
push 0x1f4
push eax
mov ecx, dword [eax]
call dword [ecx + 0x68]
cmp dword [ebp - 0x74], edi
jne 0x1000417c
mov eax, dword [esi + 0x364]
push 0x258
mov edx, dword [eax]
jmp 0x10004178
cmp word [ebp - 0x64], bx
je 0x10004154
mov eax, dword [ebp - 0x28]
push 3
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [esi + 0x364]
push edi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [esi + 0x364]
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax]
jmp 0x10004177
mov ecx, dword [ebp - 0x78]
cmp ecx, ebx
jle 0x10004168
mov eax, dword [esi + 0x364]
push ecx
push eax
mov edx, dword [eax]
call dword [edx + 0x68]
mov ecx, dword [ebp - 0x74]
cmp ecx, ebx
jle 0x1000417c
mov eax, dword [esi + 0x364]
mov edx, dword [eax]
push ecx
push eax
call dword [edx + 0x70]
cmp word [ebp - 0x62], bx
je 0x100041a6
mov eax, dword [ebp - 0x28]
push 5
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebp - 0x28]
push 3
push ebx
push ebx
push ebx
push ebx
push 1
push ecx
call dword [sym.imp.USER32.dll_SetWindowPos]
mov word [ebp - 0x62], bx
jmp 0x100041df
mov eax, dword [esi + 0x364]
push 0xffffffffffffffff
push eax
mov edx, dword [eax]
call dword [edx + 0xa4]
mov eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.USER32.dll_SetActiveWindow]
mov ecx, dword [ebp - 0x28]
push ecx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov edx, dword [ebp - 0x28]
push edx
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.USER32.dll_BringWindowToTop]
cmp word [ebp - 0x66], bx
jne 0x10004271
cmp dword [ebp - 0x98], ebx
je 0x10004205
movsx edx, word [ebp - 0x6a]
mov eax, dword [esi + 0x364]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0xbc]
cmp dword [ebp - 0xa4], ebx
je 0x10004220
mov eax, dword [esi + 0x364]
mov edx, dword [ebp - 0x70]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0xac]
cmp dword [ebp - 0xa0], ebx
je 0x1000423b
mov eax, dword [esi + 0x364]
mov edx, dword [ebp - 0x6e]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc4]
cmp dword [ebp - 0x9c], ebx
je 0x10004256
mov eax, dword [esi + 0x364]
mov edx, dword [ebp - 0x6c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x110]
cmp dword [ebp - 0x94], ebx
je 0x10004271
mov eax, dword [esi + 0x364]
mov edx, dword [ebp - 0x68]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x118]
cmp word [ebp - 0x64], bx
jne 0x10004297
mov eax, dword [esi + 0x364]
mov edx, dword [ebp - 0x80]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x60]
mov eax, dword [esi + 0x364]
mov edx, dword [ebp - 0x7c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x58]
cmp word [ebp - 0x60], bx
jne 0x100043be
mov dword [ebp - 0x20], ebx
mov eax, dword [esi + 0x364]
lea edx, [ebp - 0x20]
push edx
push eax
mov ecx, dword [eax]
mov byte [ebp - 4], 0x11
call dword [ecx + 0x48]
cmp eax, ebx
jl 0x100043ad
mov eax, dword [ebp - 0x20]
cmp eax, ebx
je 0x100043b0
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], ebx
mov ecx, dword [eax]
push edx
push 0x100137c0
push eax
call dword [ecx]
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x1000439f
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x14], ebx
mov ecx, dword [eax]
lea edx, [ebp - 0x24]
push edx
push eax
mov byte [ebp - 4], 0x14
call dword [ecx + 0x24]
cmp eax, ebx
jl 0x10004374
mov eax, dword [ebp - 0x14]
cmp eax, ebx
je 0x10004377
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0x14]
push edx
push 0x100137f0
mov ecx, dword [eax]
push eax
call dword [ecx]
cmp eax, ebx
jl 0x10004374
mov eax, dword [ebp - 0x14]
cmp eax, ebx
je 0x10004377
push ebx
push ebx
push 0xffffffffffffffff
push 0x100162b4
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, eax
dec edi
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
cmp eax, ebx
mov dword [ebp - 0x10], eax
je 0x10004356
push edi
push eax
push 0xffffffffffffffff
push 0x100162b4
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, dword [ebp - 0x10]
mov dword [ebp - 0x10], edi
mov eax, dword [ebp - 0x14]
push edi
push eax
mov byte [ebp - 4], 0x15
mov ecx, dword [eax]
call dword [ecx + 0x8c]
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x14]
cmp eax, ebx
mov word [ebp - 0x60], 0xffff
mov byte [ebp - 4], 0x13
je 0x1000438b
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0x12
cmp eax, ebx
je 0x1000439c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
mov byte [ebp - 4], 0x11
je 0x100043ad
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [ebp - 0x20]
cmp eax, ebx
mov byte [ebp - 4], 0xf
je 0x100043be
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edi, dword [ebp - 0x4c]
cmp edi, ebx
je 0x10004684
mov eax, 0x10016298
mov dl, byte [edi]
mov cl, dl
cmp dl, byte [eax]
jne 0x100043f2
cmp cl, bl
je 0x100043ee
mov dl, byte [edi + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x100043f2
add edi, 2
add eax, 2
cmp cl, bl
jne 0x100043ce
xor eax, eax
jmp 0x100043f7
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x10004684
mov word [ebp - 0x48], 3
mov dword [ebp - 0x40], ebx
push ebx
push ebx
push 0xffffffffffffffff
push 0x100162a8
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
dec eax
push eax
push ebx
mov dword [ebp - 0x10], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov edi, eax
cmp edi, ebx
je 0x1000443f
mov eax, dword [ebp - 0x10]
push eax
push edi
push 0xffffffffffffffff
push 0x100162a8
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebp - 0x10], edi
mov eax, dword [esi + 0x364]
lea edx, [ebp - 0x48]
push edx
push edi
mov ecx, dword [eax]
push eax
mov byte [ebp - 4], 0x17
call dword [ecx + 0x8c]
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push 8
lea eax, [ebp - 0x48]
push ebx
lea ecx, [ebp - 0x48]
push eax
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
mov word [ebp - 0x38], 3
mov dword [ebp - 0x30], ebx
push ebx
push ebx
push 0xffffffffffffffff
push str.kid1
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
dec eax
push eax
push ebx
mov dword [ebp - 0x10], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov edi, eax
cmp edi, ebx
je 0x100044b2
mov edx, dword [ebp - 0x10]
push edx
push edi
push 0xffffffffffffffff
push str.kid1
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebp - 0x10], edi
mov eax, dword [esi + 0x364]
lea edx, [ebp - 0x38]
push edx
push edi
mov ecx, dword [eax]
push eax
mov byte [ebp - 4], 0x19
call dword [ecx + 0x8c]
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push 8
lea eax, [ebp - 0x38]
push ebx
lea ecx, [ebp - 0x38]
push eax
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
mov word [ebp - 0x5c], 3
mov dword [ebp - 0x54], ebx
push ebx
push ebx
push 0xffffffffffffffff
push 0x1001629c
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, eax
dec edi
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
cmp eax, ebx
mov dword [ebp - 0x10], eax
je 0x10004525
push edi
push eax
push 0xffffffffffffffff
push 0x1001629c
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x24], eax
mov ecx, dword [esi + 0x364]
lea edi, [ebp - 0x5c]
push edi
push eax
mov edx, dword [ecx]
push ecx
mov byte [ebp - 4], 0x1b
call dword [edx + 0x8c]
mov eax, dword [ebp - 0x10]
mov byte [ebp - 4], 0x1a
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push 8
lea ecx, [ebp - 0x5c]
push ebx
lea edx, [ebp - 0x5c]
push ecx
push edx
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
mov eax, dword [ebp - 0x40]
cmp eax, ebx
mov dword [ebp - 0x14], eax
jne 0x1000456d
xor edi, edi
jmp 0x1000459e
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + eax + 2]
mov dword [ebp - 0x1c], eax
add eax, 3
and al, 0xfc
call fcn.10012250
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
mov edi, esp
push ebx
push ebx
push eax
push edi
push 0xffffffffffffffff
push ecx
push ebx
push ebx
mov byte [edi], bl
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push edi
call dword [sym.imp.MSVCRT.dll_atoi]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x30]
add esp, 4
cmp eax, ebx
mov dword [ebp - 0x14], eax
jne 0x100045b9
xor edi, edi
jmp 0x100045ea
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + eax + 2]
mov dword [ebp - 0x1c], eax
add eax, 3
and al, 0xfc
call fcn.10012250
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov edi, esp
push ebx
push ebx
push edx
push edi
push 0xffffffffffffffff
push eax
push ebx
push ebx
mov byte [edi], bl
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push edi
call dword [sym.imp.MSVCRT.dll_atoi]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x54]
add esp, 4
cmp eax, ebx
mov dword [ebp - 0x14], eax
je 0x10004634
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + eax + 2]
mov dword [ebp - 0x1c], eax
add eax, 3
and al, 0xfc
call fcn.10012250
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
mov edi, esp
push ebx
push ebx
push ecx
push edi
push 0xffffffffffffffff
push edx
push ebx
push ebx
mov byte [edi], bl
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ebx, edi
add esi, 0x18
mov ecx, esi
call fcn.10009370
push eax
mov ecx, esi
call fcn.100092b0
push eax
push ebx
mov ecx, esi
call fcn.10009270
mov ecx, dword [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x10]
push 1
push eax
push ecx
mov ecx, esi
call fcn.10009260
push eax
lea ecx, [ebp - 0x4c]
call fcn.1000b5a0
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [ebp - 0x5c]
push edx
call esi
lea eax, [ebp - 0x38]
push eax
call esi
lea ecx, [ebp - 0x48]
push ecx
call esi
jmp 0x1000468a
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [ebp - 0xd4]
push edx
call esi
lea eax, [ebp - 0xc4]
push eax
call esi
lea ecx, [ebp - 0xb4]
push ecx
call esi
mov ecx, dword [ebp - 0xc]
lea esp, [ebp - 0x164]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret