Function at 0x10007230
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xf4
mov al, byte [esp + 3]
push ebx
push ebp
push esi
mov ebp, ecx
mov esi, dword [esp + 0x104]
push edi
mov byte [esp + 0x54], al
xor ebx, ebx
mov ecx, 0x1f
xor eax, eax
lea edi, [esp + 0x85]
mov byte [esp + 0x84], bl
lea edx, [esp + 0x74]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esi + 0xc]
mov dword [esp + 0x50], ebp
push ecx
push edx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
stosb byte es:[edi], al
call fcn.100335a0
mov eax, dword [eax + 4]
add esp, 8
cmp eax, ebx
jne 0x10007294
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push eax
push 0x1004c80c
lea eax, [esp + 0x8c]
push 0x80
push eax
call fcn.1002d190
add esp, 0x10
lea ecx, [esp + 0x74]
push 1
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 ebx, dword [esp + 0x10c]
mov ecx, dword [esi]
xor eax, eax
mov edi, ebx
mov dword [ebx + 0x52c], ecx
mov edx, dword [esi + 8]
mov dword [ebx + 0x530], edx
xor edx, edx
mov ecx, 0xe6
mov dword [ebx + 0x538], 1
mov dword [ebx + 0x53c], edx
rep stosd dword es:[edi], eax
lea edi, [ebx + 0x398]
mov ecx, 0x65
mov dword [esp + 0x68], edi
rep stosd dword es:[edi], eax
mov eax, dword [esi + 8]
cmp eax, 3
je 0x100073f2
cmp eax, 5
je 0x100073f2
cmp eax, edx
je 0x10007323
cmp eax, 1
jne 0x1000742e
mov dword [esp + 0x14], edx
xor edi, edi
mov dword [esp + 0x3c], edx
mov eax, dword [ebp + 0x42198]
test eax, eax
je 0x1000742e
mov ecx, dword [ebp + 0x4219c]
sub ecx, eax
mov eax, 0x83340521
imul ecx
add edx, ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esp + 0x14]
cmp eax, edx
jae 0x1000742e
mov eax, dword [ebp + 0x42198]
lea ecx, [esp + 0x84]
push ecx
lea edx, [edi + eax + 0x90]
lea eax, [edi + eax + 0x10]
push edx
push eax
call fcn.10033b90
add esp, 0xc
test al, al
je 0x100073d0
mov eax, dword [esi + 4]
cmp eax, 0xffff
je 0x100073ad
mov ecx, dword [ebp + 0x421c8]
mov edx, dword [esp + 0x3c]
add edx, ecx
push edx
push eax
call fcn.100082b0
add esp, 8
test al, al
je 0x100073d0
mov ecx, dword [ebp + 0x42198]
mov edx, dword [esp + 0x5c]
mov eax, edi
add eax, ecx
lea ecx, [esp + 0x28]
push ecx
push 1
push edx
lea ecx, [esp + 0x60]
mov dword [esp + 0x34], eax
call fcn.1000a1f0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
inc edx
add ecx, 0x408
mov dword [esp + 0x14], edx
mov dword [esp + 0x3c], ecx
add edi, 0x1f38
jmp 0x1000732d
mov eax, dword [ebp + 0x42198]
mov ecx, dword [ebp + 0x4219c]
cmp eax, ecx
je 0x1000742e
mov edx, dword [esi + 4]
cmp dword [eax + 4], edx
je 0x10007415
add eax, 0x1f38
cmp eax, ecx
jne 0x10007405
jmp 0x1000742e
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x28]
push eax
push 1
push ecx
lea ecx, [esp + 0x60]
call fcn.1000a1f0
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x1c]
add esi, 0x8c
mov byte [esp + 0x1c], 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, esi
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x2c], ecx
push ecx
lea ecx, [esp + 0x20]
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x1000748d
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
mov byte [ecx + eax], 0
mov dl, byte [esp + 0x18]
push 0
lea ecx, [esp + 0x44]
mov byte [esp + 0x44], 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 eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
lea edx, [esp + 0x18]
mov ecx, dword [eax]
push ecx
push 0
push edx
lea ecx, [esp + 0x4c]
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_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov eax, dword [esp + 0x48]
xor esi, esi
test eax, eax
jbe 0x100074f9
push esi
lea ecx, [esp + 0x44]
call dword [sym.imp.MSVCP60.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator___unsigned_int_]
mov al, byte [eax]
cmp al, 0x41
jl 0x100074db
cmp al, 0x5a
jg 0x100074db
add al, 0x20
push esi
lea ecx, [esp + 0x44]
mov byte [esp + 0x17], al
call dword [sym.imp.MSVCP60.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator___unsigned_int_]
mov cl, byte [esp + 0x13]
inc esi
mov byte [eax], cl
mov eax, dword [esp + 0x48]
cmp esi, eax
jb 0x100074c4
lea edx, [esp + 0x40]
lea ecx, [esp + 0x2c]
push edx
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
push 1
lea ecx, [esp + 0x44]
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 eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
lea edx, [esp + 0x2c]
mov ecx, dword [eax]
push ecx
push 0
push edx
lea ecx, [esp + 0x24]
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_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [esp + 0x30]
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 eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov edi, 0x1004c810
or ecx, 0xffffffff
mov edx, dword [eax]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
push 0x1004c810
lea ecx, [esp + 0x24]
call dword [sym.imp.MSVCP60.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_last_not_of_char_const___unsigned_int__unsigned_int_const]
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov ecx, dword [ecx]
cmp eax, ecx
je 0x100075a8
inc eax
push ecx
push eax
lea ecx, [esp + 0x20]
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__::erase_unsigned_int__unsigned_int_]
mov edi, 0x1004c810
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x1004c810
lea ecx, [esp + 0x24]
call dword [sym.imp.MSVCP60.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_first_not_of_char_const___unsigned_int__unsigned_int_const]
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
cmp eax, dword [edx]
je 0x100075ff
push eax
push 0
jmp 0x100075f5
lea ecx, [esp + 0x18]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Freeze_void_]
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x100075be
xor esi, esi
jmp 0x100075c5
mov ecx, dword [esp + 0x20]
lea esi, [ecx + eax]
lea ecx, [esp + 0x18]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Freeze_void_]
mov edi, dword [esp + 0x1c]
lea ecx, [esp + 0x18]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Freeze_void_]
test edi, edi
jne 0x100075e5
xor eax, eax
jmp 0x100075ed
mov ecx, dword [esp + 0x1c]
mov eax, edi
sub eax, ecx
test esi, esi
je 0x100075f3
sub esi, edi
push esi
push eax
lea ecx, [esp + 0x20]
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__::erase_unsigned_int__unsigned_int_]
mov edi, 0x1004c818
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x1004c818
push eax
lea ecx, [esp + 0x24]
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__::insert_unsigned_int__char_const___unsigned_int_]
mov edi, 0x1004c81c
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
repne scasb al, byte es:[edi]
mov eax, dword [edx]
mov edx, dword [esp + 0x20]
not ecx
dec ecx
sub eax, edx
mov edi, ecx
cmp eax, edi
ja 0x10007648
call dword [sym.imp.MSVCP60.dll_void___cdecl_std::_Xlen_void_]
test edi, edi
jbe 0x10007697
mov ecx, dword [esp + 0x20]
push 0
lea eax, [ecx + edi]
lea ecx, [esp + 0x1c]
push eax
mov dword [esp + 0x30], eax
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x10007697
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ecx, edi
mov esi, 0x1004c81c
lea edi, [eax + edx]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x28]
mov ecx, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Eos_unsigned_int_]
mov esi, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov edx, esi
cmp esi, ecx
mov dword [esp + 0x28], edx
je 0x10007d59
mov eax, dword [edx]
mov edi, dword [ebp + 0x421fc]
mov dword [esp + 0x6c], eax
mov eax, dword [ebp + 0x421f8]
cmp eax, edi
mov dword [esp + 0x64], eax
je 0x10007c2f
lea edx, [eax + 0x10]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x6c]
mov edx, dword [edx - 4]
mov edi, dword [esi + 4]
cmp edx, edi
jne 0x10007c02
mov al, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x30]
mov byte [esp + 0x30], al
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 [esp + 0x14]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x30]
push ebp
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x10007741
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x30]
mov ecx, ebp
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x34], ebp
mov byte [eax + ebp], 0
mov cl, byte [esp + 0x2c]
push 0
mov byte [esp + 0x44], cl
lea ecx, [esp + 0x44]
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 edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
lea ecx, [esp + 0x2c]
mov eax, dword [edx]
push eax
push 0
push ecx
lea ecx, [esp + 0x4c]
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_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov eax, dword [esp + 0x48]
xor esi, esi
test eax, eax
jbe 0x100077c8
cmp eax, esi
jb 0x10007798
mov eax, dword [esp + 0x44]
test eax, eax
je 0x10007798
lea ecx, [esp + 0x40]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Freeze_void_]
mov edx, dword [esp + 0x44]
lea eax, [edx + esi]
jmp 0x1000779d
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov al, byte [eax]
push eax
call fcn.10008b20
add esp, 4
mov dl, al
lea ecx, [esp + 0x40]
mov byte [esp + 0x13], dl
push esi
call dword [sym.imp.MSVCP60.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator___unsigned_int_]
mov cl, byte [esp + 0x13]
inc esi
mov byte [eax], cl
mov eax, dword [esp + 0x48]
cmp eax, esi
ja 0x1000777d
lea edx, [esp + 0x40]
lea ecx, [esp + 0x74]
push edx
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
push 1
lea ecx, [esp + 0x44]
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 eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
lea edx, [esp + 0x74]
mov ecx, dword [eax]
push ecx
push 0
push edx
lea ecx, [esp + 0x38]
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_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [esp + 0x78]
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, 0x1004c820
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x1004c820
push eax
lea ecx, [esp + 0x38]
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__::insert_unsigned_int__char_const___unsigned_int_]
mov edi, 0x1004c824
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x34]
repne scasb al, byte es:[edi]
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
not ecx
dec ecx
mov esi, ecx
mov ecx, dword [eax]
sub ecx, edx
cmp ecx, esi
ja 0x10007850
call dword [sym.imp.MSVCP60.dll_void___cdecl_std::_Xlen_void_]
test esi, esi
jbe 0x10007898
mov edx, dword [esp + 0x34]
push 0
lea ecx, [esp + 0x30]
lea ebp, [edx + esi]
push ebp
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x10007898
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov ecx, esi
mov esi, 0x1004c824
lea edi, [edx + eax]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], ebp
mov byte [ecx + ebp], 0
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x100078a5
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x2c]
push edx
push 0
push eax
call dword [sym.imp.MSVCP60.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int__unsigned_int_const]
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov edx, dword [ecx]
cmp eax, edx
mov edx, dword [esp + 0x14]
setne byte [esp + 0x13]
mov eax, dword [edx + 0x384]
cmp eax, 1
je 0x100078e1
mov cl, byte [esp + 0x13]
test cl, cl
je 0x10007ba7
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x64]
mov dword [ebx + 0x53c], eax
mov ecx, 0xe6
mov eax, dword [ebp + 8]
mov edi, ebx
mov dword [ebx + 0x534], eax
mov al, byte [esp + 0x13]
test al, al
rep movsd dword es:[edi], dword [esi]
jne 0x1000792b
mov edi, dword [sym.imp.MSVCRT.dll_strncpy]
push 0xff
lea ecx, [ebx + 0x10]
push 0x100536e4
push ecx
call edi
add esp, 0xc
mov byte [ebx + 0x10f], 0
jmp 0x10007931
mov edi, dword [sym.imp.MSVCRT.dll_strncpy]
mov eax, dword [ebx + 0x390]
cmp eax, 3
mov dword [esp + 0x70], eax
jne 0x10007a1b
mov edx, dword [0x10053698]
xor eax, eax
mov esi, dword [edx + 0x20d0]
mov ecx, dword [esi + 0x18]
test ecx, ecx
jbe 0x10007ba7
mov ecx, dword [ebp + 4]
mov dword [esp + 0x3c], ecx
lea ecx, [esi + 0x30]
mov edx, dword [esp + 0x3c]
mov ebp, dword [ecx + 0x10]
cmp ebp, edx
jne 0x1000798b
mov ebp, dword [esp + 0x14]
mov edx, dword [ecx]
cmp edx, dword [ebp - 0xc]
jne 0x1000798b
mov ebp, dword [0x10053698]
mov edx, dword [ecx - 4]
cmp edx, dword [ebp]
je 0x1000799e
mov edx, dword [esi + 0x18]
inc eax
add ecx, 0x324
cmp eax, edx
jb 0x10007967
jmp 0x10007ba7
lea ecx, [eax + eax*4]
push 0x80
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esi + edx*4 + 0x28]
lea esi, [esi + edx*4]
mov dword [ecx], eax
mov edx, dword [esi + 0x2c]
mov dword [ebx + 0x39c], edx
mov eax, dword [esi + 0x30]
mov dword [ebx + 0x3a0], eax
mov ecx, dword [esi + 0x34]
lea edx, [esi + 0x1c4]
lea eax, [ebx + 0x3ac]
push edx
push eax
mov dword [ebx + 0x3a4], ecx
mov dword [ebx + 0x3a8], 3
call edi
lea ecx, [esi + 0x244]
push 0x80
lea edx, [ebx + 0x42c]
push ecx
push edx
call edi
add esi, 0x2c4
push 0x80
lea eax, [ebx + 0x4ac]
push esi
push eax
jmp 0x10007ba2
cmp eax, 4
je 0x10007ad0
cmp eax, 5
je 0x10007ad0
cmp eax, 2
jne 0x10007a82
mov esi, dword [esp + 0x50]
push 0x80
lea edx, [ebx + 0x3ac]
mov dword [ebx + 0x3a4], 1
lea ecx, [esi + 0x428]
push ecx
push edx
call edi
lea eax, [esi + 0x228]
push 0x80
lea ecx, [ebx + 0x42c]
push eax
push ecx
call edi
add esi, 0x4a8
push 0x80
lea edx, [ebx + 0x4ac]
push esi
push edx
jmp 0x10007ba2
cmp eax, 1
je 0x10007a90
cmp eax, 6
jne 0x10007ba7
mov esi, dword [esp + 0x50]
push 0x80
lea ecx, [ebx + 0x42c]
mov dword [ebx + 0x3a4], 1
lea eax, [esi + 0x228]
push eax
push ecx
call edi
add esi, 0x4a8
push 0x80
lea edx, [ebx + 0x4ac]
push esi
push edx
call edi
add esp, 0x18
jmp 0x10007ba7
mov eax, dword [0x10053698]
mov esi, dword [eax + 0x20e0]
xor eax, eax
mov ecx, dword [esi + 0x18]
test ecx, ecx
jbe 0x10007c43
mov ecx, dword [ebp + 4]
mov dword [esp + 0x3c], ecx
lea ecx, [esi + 0x30]
mov edx, dword [esp + 0x3c]
mov ebp, dword [ecx + 0x10]
cmp ebp, edx
jne 0x10007b16
mov ebp, dword [esp + 0x14]
mov edx, dword [ecx]
cmp edx, dword [ebp - 0xc]
jne 0x10007b16
mov ebp, dword [0x10053698]
mov edx, dword [ecx - 4]
cmp edx, dword [ebp]
je 0x10007b2a
mov edx, dword [esi + 0x18]
inc eax
add ecx, 0x324
cmp eax, edx
jae 0x10007c43
jmp 0x10007af2
lea ecx, [eax + eax*4]
push 0x80
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esi + edx*4 + 0x28]
lea esi, [esi + edx*4]
mov dword [ecx], eax
mov edx, dword [esi + 0x2c]
mov dword [ebx + 0x39c], edx
mov eax, dword [esi + 0x30]
mov edx, dword [esp + 0x74]
mov dword [ebx + 0x3a0], eax
mov ecx, dword [esi + 0x34]
lea eax, [esi + 0x1c4]
mov dword [ebx + 0x3a4], ecx
lea ecx, [ebx + 0x3ac]
push eax
push ecx
mov dword [ebx + 0x3a8], edx
call edi
lea edx, [esi + 0x244]
push 0x80
lea eax, [ebx + 0x42c]
push edx
push eax
call edi
add esi, 0x2c4
push 0x80
lea ecx, [ebx + 0x4ac]
push esi
push ecx
call edi
add esp, 0x24
mov edx, dword [esp + 0x14]
cmp dword [edx + 0x384], 1
je 0x10007cdb
mov al, byte [esp + 0x13]
test al, al
jne 0x10007cdb
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x10007be8
mov al, byte [ecx - 1]
test al, al
je 0x10007bde
cmp al, 0xff
je 0x10007bde
dec al
mov byte [ecx - 1], al
jmp 0x10007be8
dec ecx
push ecx
call fcn.100463e2
add esp, 4
mov ecx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x50]
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0x14]
mov edx, dword [ebp + 0x421fc]
add eax, 0x398
add esi, 0x398
cmp eax, edx
mov dword [esp + 0x64], eax
mov dword [esp + 0x14], esi
jne 0x100076d2
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x58]
add edx, 4
cmp edx, ecx
mov dword [esp + 0x28], edx
je 0x10007d59
jmp 0x100076ad
mov ecx, 0xe6
xor eax, eax
mov edi, ebx
xor edx, edx
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x68]
mov ecx, 0x65
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x30]
cmp ecx, edx
je 0x10007c81
mov al, byte [ecx - 1]
test al, al
je 0x10007c75
cmp al, 0xff
je 0x10007c75
dec al
mov byte [ecx - 1], al
jmp 0x10007c81
dec ecx
push ecx
call fcn.100463e2
add esp, 4
xor edx, edx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x30], edx
cmp ecx, edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], edx
je 0x10007cb1
mov al, byte [ecx - 1]
test al, al
je 0x10007ca7
cmp al, 0xff
je 0x10007ca7
dec al
mov byte [ecx - 1], al
jmp 0x10007cb1
dec ecx
push ecx
call fcn.100463e2
add esp, 4
xor eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x58]
push eax
call fcn.100463e2
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf4
ret 8
mov ecx, dword [esp + 0x30]
xor esi, esi
cmp ecx, esi
je 0x10007d01
mov al, byte [ecx - 1]
test al, al
je 0x10007cf7
cmp al, 0xff
je 0x10007cf7
dec al
mov byte [ecx - 1], al
jmp 0x10007d01
dec ecx
push ecx
call fcn.100463e2
add esp, 4
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x30], esi
cmp ecx, esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], esi
je 0x10007d31
mov al, byte [ecx - 1]
test al, al
je 0x10007d27
cmp al, 0xff
je 0x10007d27
dec al
mov byte [ecx - 1], al
jmp 0x10007d31
dec ecx
push ecx
call fcn.100463e2
add esp, 4
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x1c], esi
push ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
call fcn.100463e2
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf4
ret 8
xor edi, edi
cmp esi, edi
je 0x10007e7a
sub ecx, esi
test ecx, 0xfffffffc
je 0x10007e7a
mov eax, dword [ebp + 0x93a4]
cmp eax, 1
jne 0x10007de2
lea edx, [ebp + 0x428]
lea eax, [ebx + 0x3ac]
push edx
push 0x1004c828
push 0x80
push eax
mov dword [ebx + 0x390], 2
call fcn.1002d190
lea ecx, [ebp + 0x228]
lea edx, [ebx + 0x42c]
push ecx
push 0x1004c82c
push 0x80
push edx
call fcn.1002d190
add ebp, 0x4a8
add ebx, 0x4ac
push ebp
push 0x1004c830
push 0x80
push ebx
call fcn.1002d190
add esp, 0x30
jmp 0x10007e2e
cmp eax, 2
jne 0x10007e2e
lea eax, [ebp + 0x228]
lea ecx, [ebx + 0x42c]
push eax
push 0x1004c834
push 0x80
push ecx
mov dword [ebx + 0x390], 1
call fcn.1002d190
add ebp, 0x4a8
add ebx, 0x4ac
push ebp
push 0x1004c838
push 0x80
push ebx
call fcn.1002d190
add esp, 0x20
mov ecx, dword [esp + 0x1c]
cmp ecx, edi
je 0x10007e52
mov al, byte [ecx - 1]
test al, al
je 0x10007e48
cmp al, 0xff
je 0x10007e48
dec al
mov byte [ecx - 1], al
jmp 0x10007e52
dec ecx
push ecx
call fcn.100463e2
add esp, 4
mov edx, dword [esp + 0x58]
mov dword [esp + 0x1c], edi
push edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
call fcn.100463e2
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf4
ret 8
mov ecx, dword [esp + 0x1c]
cmp ecx, edi
je 0x10007e9e
mov al, byte [ecx - 1]
test al, al
je 0x10007e94
cmp al, 0xff
je 0x10007e94
dec al
mov byte [ecx - 1], al
jmp 0x10007e9e
dec ecx
push ecx
call fcn.100463e2
add esp, 4
mov eax, dword [esp + 0x58]
mov dword [esp + 0x1c], edi
push eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
call fcn.100463e2
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf4
ret 8