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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10117c33
mov eax, dword fs:[0]
push eax
sub esp, 0x80
push ebx
push esi
push edi
mov eax, dword [0x1014d0cc]
xor eax, esp
push eax
lea eax, [esp + 0x90]
mov dword fs:[0], eax
mov edi, ecx
mov ecx, dword [0x101556f4]
mov eax, dword [0x101556f0]
lea edx, [esp + 0x2c]
mov dword [esp + 0x28], ecx
push edx
mov ecx, edi
mov dword [esp + 0x28], eax
call fcn.100cc330
mov ebx, dword [ebp + 8]
mov dword [esp + 0x98], 0
mov ecx, dword [eax]
mov dword [ebx], ecx
mov esi, dword [eax + 4]
cmp esi, dword [ebx + 4]
je 0x100d100a
test esi, esi
je 0x100d0fed
lea edx, [esi + 8]
mov eax, 1
lock xadd dword [edx], eax
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x100d1007
lea edx, [ecx + 8]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x100d1007
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov dword [ebx + 4], esi
mov dword [esp + 0x98], 0xffffffff
mov eax, dword [esp + 0x30]
test eax, eax
je 0x100d1032
mov ecx, eax
add eax, 8
or edx, 0xffffffff
lock xadd dword [eax], edx
jne 0x100d1032
mov eax, dword [ecx]
mov edx, dword [eax + 8]
call edx
mov eax, dword [edi + 0xa0]
mov ecx, dword [eax + 0x140]
add eax, 0x140
mov dword [ebx + 0x18e], ecx
mov edx, dword [eax + 4]
mov dword [ebx + 0x192], edx
mov ecx, dword [eax + 8]
mov dword [ebx + 0x196], ecx
mov edx, dword [eax + 0xc]
mov dword [ebx + 0x19a], edx
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x19e], eax
mov dword [ebx + 0x1a4], 0
mov cl, byte [edi + 0x4f0]
and cl, 1
lea eax, [edi + 0x414]
mov byte [ebx + 0x14c], cl
mov edx, dword [eax]
neg edx
sbb edx, edx
test edx, fcn.1009bff0
je 0x100d112d
lea esi, [esp + 0x70]
call fcn.100017c0
push 0x101292b8
push eax
lea eax, [esp + 0x5c]
push eax
mov dword [esp + 0xa4], 1
call dword [sym.imp.MSVCP80.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__]
add esp, 0xc
lea ecx, [edi + 0x41c]
push ecx
push eax
lea edx, [esp + 0x3c]
push edx
mov byte [esp + 0xa4], 2
call dword [sym.imp.MSVCP80.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
add esp, 0xc
push eax
lea ecx, [ebx + 0x1c]
mov byte [esp + 0x9c], 3
call dword [0x1012717c]
lea ecx, [esp + 0x34]
mov byte [esp + 0x98], 2
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x54]
mov byte [esp + 0x98], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov ecx, esi
mov dword [esp + 0x98], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
movzx eax, byte [edi + 0x4c8]
shr al, 2
and al, 1
mov byte [ebx + 0x154], al
mov ecx, dword [edi + 0x480]
mov dword [ebx + 0x160], ecx
mov edx, dword [edi + 0x484]
mov dword [ebx + 0x164], edx
mov eax, dword [edi + 0x488]
mov dword [ebx + 0x168], eax
mov ecx, dword [edi + 0x48c]
mov dword [ebx + 0x16c], ecx
mov edx, dword [edi + 0x490]
mov dword [ebx + 0x170], edx
mov eax, dword [edi + 0x494]
mov dword [ebx + 0x174], eax
movzx ecx, word [edi + 0x510]
mov dword [ebx + 0x148], ecx
mov dl, byte [edi + 0x50c]
mov esi, dword [esp + 0x34]
shr dl, 7
mov byte [ebx + 0x156], dl
movzx eax, byte [edi + 0x50c]
shr al, 5
and al, 1
mov byte [ebx + 0x155], al
xor ecx, ecx
mov dword [ebx + 0x11c], ecx
mov dword [ebx + 0x120], ecx
movzx edx, byte [edi + 0x500]
mov dword [ebx + 0x158], edx
mov dword [esp + 0x40], ecx
lea ecx, [edi + 0xac]
mov eax, 0x1001cef0
mov edx, eax
mov eax, dword [ecx + 4]
mov eax, dword [eax]
sub esp, 0x18
mov dword [esp + 0x38], eax
mov eax, esp
mov dword [eax], esi
mov esi, dword [esp + 0x50]
mov dword [eax + 4], esi
mov dword [eax + 8], edx
mov edx, dword [esp + 0x58]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x54]
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x58]
mov dword [eax + 0x14], edx
mov eax, dword [ecx + 4]
push eax
mov eax, dword [esp + 0x3c]
push ecx
push eax
push ecx
mov dword [esp + 0x54], ecx
call fcn.100d9080
mov dword [ebx + 0xac], eax
mov ecx, dword [edi + 0x68]
mov dword [ebx + 0xbc], ecx
mov edx, dword [edi + 0x78]
mov dword [ebx + 0xb8], edx
mov eax, dword [edi + 0x74]
mov dword [ebx + 0xc0], eax
mov eax, dword [edi + 0x2e0]
add esp, 0x28
add eax, 0x48
push eax
mov ecx, edi
call fcn.100ccbd0
mov dword [ebx + 0x144], eax
mov ecx, dword [edi + 0x80]
mov dword [ebx + 0x128], ecx
mov edx, dword [edi + 0x84]
mov dword [ebx + 0x12c], edx
mov eax, dword [edi + 0x88]
mov dword [ebx + 0x130], eax
mov ecx, dword [edi + 0x8c]
mov dword [ebx + 0x134], ecx
mov edx, dword [edi + 0x90]
mov dword [ebx + 0x1b8], edx
mov eax, dword [edi + 0x94]
mov dword [ebx + 0x1bc], eax
mov ecx, dword [edi + 0x4d4]
and ecx, 0xffffff
mov dword [ebx + 0x13c], ecx
mov edx, dword [edi + 0x4cc]
and edx, 0xffffff
mov dword [ebx + 0x138], edx
mov eax, dword [edi + 0x4dc]
and eax, 0xffffff
mov dword [ebx + 0x140], eax
movzx ecx, word [edi + 0x514]
mov dword [ebx + 0x180], ecx
movzx edx, word [edi + 0x512]
mov dword [ebx + 0x184], edx
mov eax, dword [edi + 0x4c4]
shr eax, 0x1b
and eax, 3
mov dword [ebx + 0x118], eax
mov eax, dword [edi + 0x4fc]
and eax, 0xffffff
cmp eax, 0xffffff
jne 0x100d1321
or eax, 0xffffffff
mov dword [ebx + 0xb0], eax
mov eax, dword [edi + 0x504]
and eax, 0xffffff
cmp eax, 0xffffff
jne 0x100d133c
or eax, 0xffffffff
mov dword [ebx + 0xb4], eax
test byte [edi + 0x50c], 0x10
je 0x100d1358
test byte [edi + 0x51d], 1
jne 0x100d1358
xor eax, eax
jmp 0x100d135d
mov eax, 1
mov byte [ebx + 0xc], al
mov cl, byte [edi + 0x50c]
shr cl, 6
and cl, 1
mov byte [ebx + 0xd], cl
mov dl, byte [edi + 0x4d8]
and dl, 1
mov ecx, edi
mov byte [ebx + 0xe], dl
call fcn.1001d040
mov ecx, edi
mov byte [ebx + 0xf], al
call fcn.1001d040
test al, al
je 0x100d1394
mov al, 1
jmp 0x100d13bd
mov ecx, dword [edi + 0xa0]
cmp dword [ecx + 0x94], 0
jle 0x100d13bb
mov eax, dword [edi + 0x304]
mov ecx, dword [ecx + 0x90]
sub ecx, dword [eax + 0x64]
sub ecx, dword [eax + 0x5c]
jne 0x100d13bb
mov al, 1
jmp 0x100d13bd
xor al, al
mov byte [ebx + 0x10], al
mov dl, byte [edi + 0x4d8]
shr dl, 3
and dl, 1
mov byte [ebx + 0x157], dl
mov eax, dword [edi + 0xa0]
mov edx, dword [ebp + 0xc]
xor esi, esi
cmp dword [eax + 0x94], esi
setg cl
shr edx, 1
and edx, 0xffffff01
mov byte [ebx + 0x11], cl
push edx
mov edx, ebx
mov ecx, edi
call fcn.100c1bc0
mov eax, dword [edi + 0x140]
mov dword [ebx + 0x78], eax
mov ecx, dword [edi + 0x144]
mov dword [ebx + 0x7c], ecx
mov edx, dword [edi + 0x110]
mov dword [ebx + 0x80], edx
mov eax, dword [edi + 0x114]
mov dword [ebx + 0x84], eax
mov ecx, dword [edi + 0x158]
add ecx, dword [edi + 0x140]
mov edx, dword [edi + 0x15c]
adc edx, dword [edi + 0x144]
mov dword [ebx + 0x68], ecx
mov dword [ebx + 0x6c], edx
mov eax, dword [edi + 0x128]
add eax, dword [edi + 0x110]
mov ecx, dword [edi + 0x12c]
adc ecx, dword [edi + 0x114]
mov dword [ebx + 0x70], eax
mov dword [ebx + 0x74], ecx
mov edx, dword [edi + 0x230]
mov dword [ebx + 0x1b0], edx
mov eax, dword [edi + 0x234]
mov dword [ebx + 0x1b4], eax
mov ecx, dword [edi + 0x248]
add ecx, dword [edi + 0x230]
mov edx, dword [edi + 0x24c]
adc edx, dword [edi + 0x234]
mov dword [ebx + 0x1a8], ecx
mov dword [ebx + 0x1ac], edx
mov eax, dword [edi + 0x4b8]
mov dword [ebx + 0x88], eax
mov dword [ebx + 0x8c], esi
mov ecx, dword [edi + 0x4bc]
mov dword [ebx + 0x90], ecx
mov dword [ebx + 0x94], esi
mov edx, dword [edi + 0x1dc]
add edx, dword [edi + 0x1c4]
add edx, dword [edi + 0x1ac]
add edx, dword [edi + 0x14c]
add edx, dword [edi + 0x134]
mov dword [ebx + 0x98], edx
mov eax, dword [edi + 0x194]
add eax, dword [edi + 0x17c]
add eax, dword [edi + 0x164]
add eax, dword [edi + 0x11c]
add eax, dword [edi + 0x104]
mov dword [ebx + 0x9c], eax
mov ecx, dword [edi + 0x134]
mov dword [ebx + 0xa0], ecx
mov edx, dword [edi + 0x104]
mov dword [ebx + 0xa4], edx
test byte [edi + 0x4c8], 2
je 0x100d1592
test byte [edi + 0x50c], 0x10
je 0x100d1592
mov eax, dword [edi + 0x2e0]
cmp byte [eax + 0xba1], 0
jne 0x100d1592
test byte [edi + 0x51d], 1
jne 0x100d1592
lea eax, [esp + 0x34]
mov ecx, edi
call fcn.100c1500
mov ecx, dword [eax]
sub ecx, dword [esp + 0x24]
mov eax, dword [eax + 4]
sbb eax, dword [esp + 0x28]
push eax
push ecx
call fcn.100b5b80
add esp, 8
push esi
push 0xf4240
push edx
push eax
call fcn.1010e550
lea esi, [esp + 0x24]
call fcn.1008e930
mov ecx, dword [eax]
lea esi, [ebx + 0x38]
mov dword [esi], ecx
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
jmp 0x100d159e
xor eax, eax
lea esi, [ebx + 0x38]
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
lea eax, [esp + 0x24]
push eax
mov eax, esi
call fcn.100d36e0
cmp eax, 0xffffffff
sete al
test al, al
je 0x100d15cb
mov dword [esi], 0
mov dword [esi + 4], 0
xor ecx, ecx
xor eax, eax
mov dword [ebx + 0x44], ecx
lea ecx, [ebx + 0x48]
mov dword [ebx + 0x40], eax
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::clear_void_]
mov al, byte [edi + 0x4d0]
test al, al
jl 0x100d1630
movsx esi, al
mov eax, dword [edi + 0x30c]
test eax, eax
je 0x100d1614
mov ecx, dword [edi + 0x310]
sub ecx, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x100d161a
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov edx, dword [edi + 0x30c]
mov ecx, esi
shl ecx, 4
sub ecx, esi
lea eax, [edx + ecx*8]
push eax
jmp 0x100d16cd
mov esi, dword [edi + 0x30c]
cmp esi, dword [edi + 0x310]
jbe 0x100d1644
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
lea eax, [edi + 0x308]
mov dword [esp + 0x1c], eax
mov edi, edi
mov ecx, dword [edi + 0x310]
cmp dword [edi + 0x30c], ecx
mov dword [esp + 0x24], ecx
jbe 0x100d166c
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x100d167a
lea ecx, [edi + 0x308]
cmp eax, ecx
je 0x100d1684
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x1c]
cmp esi, dword [esp + 0x24]
je 0x100d16d6
test eax, eax
jne 0x100d1698
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x1c]
cmp esi, dword [eax + 8]
jb 0x100d16a7
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x1c]
test byte [esi + 0x72], 0x80
jne 0x100d16c1
cmp esi, dword [eax + 8]
jb 0x100d16bc
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x1c]
add esi, 0x78
jmp 0x100d1650
cmp esi, dword [eax + 8]
jb 0x100d16cc
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
push esi
lea ecx, [ebx + 0x48]
call dword [0x1012717c]
test byte [ebp + 0xc], 0x10
je 0x100d16f8
mov eax, dword [edi + 0x40c]
mov ecx, dword [edi + 0x408]
add eax, eax
push ecx
sar eax, 1
lea ecx, [ebx + 0xd0]
call fcn.10001a50
mov edx, dword [edi + 0x4ec]
and edx, 0xffffff
mov dword [ebx + 0x108], edx
mov eax, dword [edi + 0x4e4]
and eax, 0xffffff
cmp eax, 0xffffff
jne 0x100d171f
or eax, 0xffffffff
mov dword [ebx + 0x110], eax
mov eax, dword [edi + 0xb4]
mov dword [ebx + 0x10c], eax
mov eax, dword [edi + 0x4f4]
and eax, 0xffffff
cmp eax, 0xffffff
jne 0x100d1746
or eax, 0xffffffff
mov dword [ebx + 0x114], eax
mov ecx, dword [edi + 0x4c0]
mov dword [ebx + 0x188], ecx
test byte [edi + 0x4d8], 0x80
jne 0x100d1789
push 0
call dword [sym.imp.MSVCR80.dll__time64]
add esp, 4
sub eax, dword [edi + 0x4a0]
sbb edx, dword [edi + 0x4a4]
test edx, edx
jg 0x100d1789
jl 0x100d1785
cmp eax, 0x384
ja 0x100d1789
xor eax, eax
jmp 0x100d178e
mov eax, 1
mov byte [ebx + 0x18c], al
mov dl, byte [edi + 0x51d]
shr dl, 6
and dl, 1
mov byte [ebx + 0x18d], dl
movzx eax, byte [edi + 0x4c7]
and eax, 7
mov dword [ebx + 8], eax
mov ecx, dword [edi + 0xa0]
cmp dword [ecx + 0x94], 0
jg 0x100d1820
mov dword [ebx + 8], 2
mov edx, dword [edi + 0x508]
and edx, 0xfffff
mov dword [ebx + 0x18], edx
mov eax, dword [edi + 0x508]
and eax, 0xfffff
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x100d17f5
fadd dword [0x101305b8]
fdiv qword [0x101305b0]
mov dword [ebx + 0x104], 0
fstp dword [ebx + 0x14]
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
movzx ecx, byte [edi + 0x4ef]
and ecx, 0x1f
mov edx, 1
shl edx, cl
mov dword [ebx + 0x104], edx
mov al, byte [edi + 0x4c7]
and al, 7
cmp al, 1
jne 0x100d1872
mov ecx, dword [edi + 0x508]
and ecx, 0xfffff
mov dword [ebx + 0x18], ecx
mov edx, dword [edi + 0x508]
and edx, 0xfffff
test edx, edx
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
jge 0x100d18c3
fadd dword [0x101305b8]
jmp 0x100d18c3
mov esi, dword [ebx + 0xf0]
mov eax, dword [ebx + 0xf4]
mov ecx, esi
or ecx, eax
jne 0x100d188f
fld1
mov dword [ebx + 0x18], 0xf4240
jmp 0x100d18c9
mov edx, dword [ebx + 0xec]
mov eax, dword [ebx + 0xe8]
push 0
push 0xf4240
push edx
push eax
call fcn.1010e450
mov ecx, dword [ebx + 0xf4]
push ecx
push esi
push edx
push eax
call fcn.1010e550
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
mov dword [ebx + 0x18], eax
fdiv qword [0x101305b0]
fstp dword [ebx + 0x14]
cmp dword [edi + 0x304], 0
je 0x100d19da
mov ecx, dword [edi + 0x304]
mov edx, dword [ecx + 0x70]
mov dword [ebx + 0x150], edx
mov eax, dword [edi + 0x304]
mov ecx, dword [eax + 0x28]
add eax, 0x24
test ecx, ecx
jne 0x100d18fe
mov dword [esp + 0x14], ecx
jmp 0x100d190a
mov eax, dword [eax + 8]
sub eax, ecx
sar eax, 3
mov dword [esp + 0x14], eax
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0xc8]
mov ebx, dword [esp + 0x14]
add esi, 0xc4
add eax, eax
sar eax, 1
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], eax
call fcn.10001ac0
mov eax, esi
mov ecx, dword [eax + 4]
add ecx, ecx
sar ecx, 1
cmp dword [esp + 0x24], ecx
jge 0x100d1975
mov eax, dword [esp + 0x24]
add eax, 7
cdq
and edx, 7
add eax, edx
mov esi, eax
lea eax, [ecx + 7]
cdq
and edx, 7
add eax, edx
sar esi, 3
sar eax, 3
cmp esi, eax
jge 0x100d1975
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
sub eax, esi
push eax
add edx, esi
push 0
push edx
call sub.MSVCR80.dll_memset
add esp, 0xc
xor ebx, ebx
cmp dword [esp + 0x14], ebx
jle 0x100d1a00
mov esi, dword [edi + 0x304]
mov ecx, dword [esi + 0x28]
add esi, 0x24
test ecx, ecx
je 0x100d199d
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp ebx, eax
jb 0x100d19a3
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esi + 4]
cmp dword [eax + ebx*8 + 4], 0xffffffff
jne 0x100d19cf
mov ecx, dword [esp + 0x1c]
mov eax, ebx
cdq
and edx, 7
add eax, edx
mov edx, dword [ecx]
sar eax, 3
lea esi, [eax + edx]
mov ecx, ebx
and ecx, 7
mov eax, 0x80
sar eax, cl
or byte [esi], al
add ebx, 1
cmp ebx, dword [esp + 0x14]
jl 0x100d1981
jmp 0x100d1a00
mov ecx, edi
call fcn.1001d040
test al, al
je 0x100d1a00
mov ecx, dword [edi + 0xa0]
mov eax, dword [ebp + 8]
mov ebx, dword [ecx + 0x90]
push 1
add eax, 0xc4
call fcn.1001cdd0
mov eax, dword [edi + 0x304]
test eax, eax
je 0x100d1a0f
mov eax, dword [eax + 0x64]
jmp 0x100d1a1b
mov edx, dword [edi + 0xa0]
mov eax, dword [edx + 0x90]
mov esi, dword [ebp + 8]
mov dword [esi + 0xdc], eax
mov eax, edi
call fcn.100d1bc0
mov bl, byte [ebp + 0xc]
test bl, 1
mov dword [esi + 0xa8], eax
je 0x100d1a73
mov eax, dword [edi + 0x304]
test eax, eax
je 0x100d1a73
lea ecx, [esp + 0x34]
push ecx
push eax
call fcn.1007ad10
mov edx, dword [eax]
mov dword [esi + 0xf8], edx
mov eax, dword [eax + 4]
mov dword [esi + 0xfc], eax
fild dword [esi + 0xfc]
fdiv qword [0x10130598]
fiadd dword [esi + 0xf8]
jmp 0x100d1a88
fld dword [0x101305a8]
or eax, 0xffffffff
mov dword [esi + 0xf8], eax
mov dword [esi + 0xfc], eax
test bl, 4
fstp dword [esi + 0x100]
je 0x100d1b69
mov ecx, dword [edi + 0x498]
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 4]
mov edi, dword [edi + 0x49c]
mov ebx, dword [edx]
mov dword [esp + 0x24], ecx
mov esi, eax
mov ecx, edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x38], ecx
test esi, esi
je 0x100d1acc
cmp esi, eax
je 0x100d1ad2
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp ebx, dword [esp + 0x38]
je 0x100d1b3e
test esi, esi
jne 0x100d1ae2
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp ebx, dword [esi + 4]
jne 0x100d1aed
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax + 0x2d8]
mov eax, dword [eax + 0x2dc]
cmp edi, eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
jg 0x100d1b16
jl 0x100d1b10
cmp dword [esp + 0x24], ecx
jae 0x100d1b16
lea eax, [esp + 0x14]
jmp 0x100d1b1a
lea eax, [esp + 0x24]
mov edx, dword [eax]
mov dword [esp + 0x24], edx
mov edi, dword [eax + 4]
lea esi, [esp + 0x1c]
mov dword [esp + 0x28], edi
call fcn.10073f20
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
jmp 0x100d1ac4
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x178], ecx
mov dword [eax + 0x17c], edi
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
xor eax, eax
mov dword [esi + 0x178], eax
mov dword [esi + 0x17c], eax
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8