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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x64
mov eax, dword [0xc940a0]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push esi
mov esi, dword [ebp + 0x1c]
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], esi
mov dword [esp + 0x18], 1
mov edx, dword [edi + 0xc]
mov ecx, dword [edx + 0x34]
test ecx, ecx
je 0xa714d2
mov eax, dword [ecx]
mov esi, dword [eax + 0x30]
cmp esi, fcn.00a72570
jne 0xa714c0
mov eax, dword [ecx + 0x44]
not eax
and eax, 1
jmp 0xa714ce
push ecx
mov ecx, esi
call dword [0xc99200]
call esi
mov edx, dword [edi + 0xc]
mov dword [esp + 0x18], eax
mov edx, dword [edx + 0x3dc]
test edx, edx
je 0xa71518
mov ecx, dword [edx]
mov esi, dword [ecx + 0x10]
cmp esi, fcn.00a72590
jne 0xa71503
cmp dword [edx + 0x27c], 1
jne 0xa714fc
test byte [edx + 0x18], 8
je 0xa714fc
xor ebx, ebx
jmp 0xa7151d
mov ebx, 1
jmp 0xa7151d
push 0x10
push edx
mov ecx, esi
call dword [0xc99200]
call esi
mov ebx, eax
mov dword [esp + 0x3c], eax
jmp 0xa71521
mov ebx, 0x80004005
mov dword [esp + 0x3c], ebx
cmp dword [edi + 0x20], 0
jne 0xa71593
mov eax, dword [edi + 0x1c]
test eax, eax
je 0xa7155a
mov eax, dword [eax]
cmp eax, 1
jle 0xa7153e
test byte [edi + 0x28], 0x10
je 0xa71540
cmp eax, 1
jne 0xa71549
mov dword [edi + 0x20], 1
jmp 0xa71593
jle 0xa7155a
test byte [edi + 0x28], 0x10
je 0xa7155a
mov dword [edi + 0x20], 3
jmp 0xa71593
mov eax, dword [edi + 0x10]
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0x60]
mov ecx, esi
call dword [0xc99200]
call esi
test al, 2
jne 0xa7158c
test byte [edi + 0x28], 0x20
jne 0xa7158c
lea ecx, [edi - 8]
call fcn.00a489a8
test eax, eax
je 0xa71593
mov dword [edi + 0x20], 2
jmp 0xa71593
mov dword [edi + 0x20], 4
cmp dword [ebp + 0x14], 0
mov edx, dword [edi + 0x20]
mov dword [esp + 0x34], edx
je 0xa715f9
test ebx, ebx
jne 0xa715cf
cmp dword [ebp + 0x18], ebx
je 0xa715cf
cmp edx, 3
jne 0xa715cf
mov ecx, dword [edi + 0xc]
lea eax, [edi - 8]
add ecx, 0x1c
neg eax
push ebx
sbb eax, eax
push 6
and eax, edi
push eax
push ecx
call fcn.00a40300
test eax, eax
je 0xa715fe
mov edx, dword [esp + 0x34]
mov eax, dword [ebp + 0xc]
lea ecx, [eax + 1]
neg ecx
sbb ecx, ecx
and ecx, eax
cmp dword [ebp + 0x10], 0xffffffff
mov dword [esp + 0x38], ecx
jne 0xa71628
cmp edx, 1
jne 0xa71621
mov eax, dword [edi + 0x1c]
test eax, eax
je 0xa71619
mov eax, dword [eax]
dec eax
mov dword [ebp + 0x10], eax
jmp 0xa71628
cmp edx, 3
jne 0xa71609
mov edx, 1
mov dword [esp + 0x34], edx
jmp 0xa715cf
cmp edx, 1
jne 0xa715cf
mov edx, 3
mov dword [esp + 0x34], edx
jmp 0xa715cf
xor eax, eax
dec eax
mov dword [ebp + 0x10], eax
jmp 0xa71628
mov dword [ebp + 0x10], 0
cmp dword [esp + 0x18], 0
mov ebx, dword [edi + 0xc]
je 0xa71cc8
mov ecx, dword [ebx + 0x30]
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
test ecx, ecx
je 0xa7167e
mov eax, dword [ecx]
mov esi, dword [eax + 0x68]
lea eax, [esp + 0x48]
push eax
cmp esi, fcn.00a72160
jne 0xa71671
mov ecx, dword [ecx + 0x30]
xor edx, edx
shr ecx, 4
and cl, 1
call fcn.00a72190
jmp 0xa7167e
push 0
push ecx
mov ecx, esi
call dword [0xc99200]
call esi
mov eax, dword [ebx + 0x158]
mov esi, dword [0xc940d0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x14], eax
mov eax, 1
cmp esi, 0xffffffff
jne 0xa716d0
push 0x9ee990
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleHandleW]
test eax, eax
je 0xa716c5
push 0x9ee97c
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
mov esi, eax
mov dword [0xc940d0], esi
jmp 0xa716cb
mov esi, dword [0xc940d0]
mov eax, 1
test esi, esi
je 0xa716de
mov ecx, esi
call dword [0xc99200]
call esi
mov ecx, dword [0xc940d4]
cmp ecx, 0xffffffff
je 0xa716f1
cmp dword [0xc958c4], eax
je 0xa71737
push 0
mov dword [0xc958c4], eax
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
test esi, esi
je 0xa7172c
push 0x58
push esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0x5a
push esi
mov dword [0xc940d4], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push esi
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ecx, dword [0xc940d4]
jmp 0xa71737
mov ecx, 0x60
mov dword [0xc940d4], ecx
push ecx
push 0x60
push dword [esp + 0x1c]
call dword [sym.imp.api_ms_win_core_largeinteger_l1_1_0.dll_MulDiv]
push 0x60
push dword [esp + 0x14]
push eax
call dword [sym.imp.api_ms_win_core_largeinteger_l1_1_0.dll_MulDiv]
mov esi, dword [0xc940d0]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
mov eax, 1
cmp esi, 0xffffffff
jne 0xa7179d
push 0x9ee990
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleHandleW]
test eax, eax
je 0xa71792
push 0x9ee97c
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
mov esi, eax
mov dword [0xc940d0], esi
jmp 0xa71798
mov esi, dword [0xc940d0]
mov eax, 1
test esi, esi
je 0xa717ab
mov ecx, esi
call dword [0xc99200]
call esi
mov ecx, dword [0xc940d4]
cmp ecx, 0xffffffff
je 0xa717be
cmp dword [0xc958c4], eax
je 0xa71804
push 0
mov dword [0xc958c4], eax
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
test esi, esi
je 0xa717f9
push 0x58
push esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0x5a
push esi
mov dword [0xc940d4], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push esi
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ecx, dword [0xc940d4]
jmp 0xa71804
mov ecx, 0x60
mov dword [0xc940d4], ecx
push ecx
push 0x60
push dword [esp + 0x1c]
call dword [sym.imp.api_ms_win_core_largeinteger_l1_1_0.dll_MulDiv]
push 0x60
push dword [esp + 0x14]
push eax
call dword [sym.imp.api_ms_win_core_largeinteger_l1_1_0.dll_MulDiv]
mov ecx, dword [ebx + 0x34]
xor esi, esi
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0x118]
add eax, dword [ebx + 0x108]
add eax, dword [ebx + 0x78]
add eax, dword [ebx + 0x74]
add eax, dword [esp + 0x48]
mov dword [esp + 0x1c], eax
xor eax, eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x10], eax
test ecx, ecx
je 0xa7187a
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x14], eax
cmp eax, fcn.00a72140
jne 0xa71864
mov eax, dword [ecx + 0x2c]
jmp 0xa7187a
lea edx, [esp + 0x10]
push edx
push ecx
mov ecx, eax
call dword [0xc99200]
call dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
test al, 2
jne 0xa718dc
mov eax, dword [esp + 0x34]
cmp eax, 2
je 0xa718dc
cmp eax, 1
je 0xa71891
cmp eax, 3
jne 0xa718ec
lea eax, [esp + 0x40]
mov edx, 4
push eax
xor cl, cl
call fcn.00a72190
mov edi, dword [ebx + 0x158]
mov edx, edi
mov ecx, dword [esp + 0x40]
push 2
call fcn.00a5bad0
mov ecx, dword [esp + 0x44]
mov edx, edi
push 2
mov esi, eax
call fcn.00a5bad0
mov eax, dword [0xc95978]
lea esi, [esi + esi*4]
cmp esi, eax
jg 0xa718d2
mov esi, eax
sub esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x54]
jmp 0xa718e8
mov esi, dword [ebx + 0x68]
add esi, dword [ebx + 0x64]
sub esi, dword [ebx + 0x78]
sub esi, dword [ebx + 0x74]
mov dword [esp + 0x20], esi
mov ecx, dword [ebx + 0x34]
xor eax, eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x10], eax
test ecx, ecx
je 0xa71928
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x14], eax
cmp eax, fcn.00a72140
jne 0xa71912
mov eax, dword [ecx + 0x2c]
jmp 0xa71928
lea edx, [esp + 0x10]
push edx
push ecx
mov ecx, eax
call dword [0xc99200]
call dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
test al, 2
je 0xa71be0
mov ecx, dword [ebx + 0x34]
test ecx, ecx
je 0xa71966
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x14], eax
cmp eax, fcn.00a72570
jne 0xa71951
mov eax, dword [ecx + 0x44]
not eax
and eax, 1
jmp 0xa7195e
push ecx
mov ecx, eax
call dword [0xc99200]
call dword [esp + 0x18]
test eax, eax
je 0xa71be0
lea eax, [esp + 0x5c]
push eax
push dword [ebx + 4]
call dword [sym.imp.ext_ms_win_rtcore_ntuser_window_ext_l1_1_0.dll_GetParent]
push eax
call dword [sym.imp.ext_ms_win_rtcore_ntuser_window_ext_l1_1_0.dll_GetWindowRect]
test eax, eax
je 0xa71be0
mov eax, dword [esp + 0x68]
sub eax, dword [esp + 0x60]
mov ecx, dword [ebx + 0x30]
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0x60]
add eax, dword [ebx + 0x5c]
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 0x104]
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
test ecx, ecx
je 0xa719f8
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
mov dword [esp + 0x14], eax
cmp eax, fcn.00a72160
jne 0xa719e4
mov ecx, dword [ecx + 0x30]
lea eax, [esp + 0x40]
shr ecx, 4
mov edx, 4
push eax
and cl, 1
call fcn.00a72190
jmp 0xa719f8
lea edx, [esp + 0x40]
push edx
push 4
push ecx
mov ecx, eax
call dword [0xc99200]
call dword [esp + 0x20]
mov eax, dword [ebx + 0x158]
mov edx, 1
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x14], eax
mov eax, dword [0xc940d0]
mov dword [esp + 0x18], eax
cmp eax, 0xffffffff
jne 0xa71a4d
push 0x9ee990
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleHandleW]
test eax, eax
je 0xa71a3f
push 0x9ee97c
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
mov dword [0xc940d0], eax
jmp 0xa71a44
mov eax, dword [0xc940d0]
mov edx, 1
mov dword [esp + 0x18], eax
test eax, eax
je 0xa71a5f
mov ecx, eax
call dword [0xc99200]
call dword [esp + 0x18]
mov edx, eax
mov ecx, dword [0xc940d4]
cmp ecx, 0xffffffff
je 0xa71a72
cmp dword [0xc958c4], edx
je 0xa71ac1
push 0
mov dword [0xc958c4], edx
call dword [sym.imp.USER32.dll_GetDC]
mov dword [esp + 0x10], eax
test eax, eax
je 0xa71ab6
push 0x58
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0x5a
push dword [esp + 0x14]
mov dword [0xc940d4], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push dword [esp + 0x10]
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ecx, dword [0xc940d4]
jmp 0xa71ac1
mov ecx, 0x60
mov dword [0xc940d4], ecx
push ecx
push 0x60
push dword [esp + 0x1c]
call dword [sym.imp.api_ms_win_core_largeinteger_l1_1_0.dll_MulDiv]
push 0x60
push dword [esp + 0x28]
push eax
call dword [sym.imp.api_ms_win_core_largeinteger_l1_1_0.dll_MulDiv]
mov dword [esp + 0x40], eax
mov edx, 1
mov eax, dword [esp + 0x44]
mov dword [esp + 0x14], eax
mov eax, dword [0xc940d0]
mov dword [esp + 0x18], eax
cmp eax, 0xffffffff
jne 0xa71b2a
push 0x9ee990
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleHandleW]
test eax, eax
je 0xa71b1c
push 0x9ee97c
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
mov dword [0xc940d0], eax
jmp 0xa71b21
mov eax, dword [0xc940d0]
mov edx, 1
mov dword [esp + 0x18], eax
test eax, eax
je 0xa71b3c
mov ecx, eax
call dword [0xc99200]
call dword [esp + 0x18]
mov edx, eax
mov ecx, dword [0xc940d4]
cmp ecx, 0xffffffff
je 0xa71b4f
cmp dword [0xc958c4], edx
je 0xa71b9e
push 0
mov dword [0xc958c4], edx
call dword [sym.imp.USER32.dll_GetDC]
mov dword [esp + 0x10], eax
test eax, eax
je 0xa71b93
push 0x58
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0x5a
push dword [esp + 0x14]
mov dword [0xc940d4], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push dword [esp + 0x10]
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ecx, dword [0xc940d4]
jmp 0xa71b9e
mov ecx, 0x60
mov dword [0xc940d4], ecx
push ecx
push 0x60
push dword [esp + 0x1c]
call dword [sym.imp.api_ms_win_core_largeinteger_l1_1_0.dll_MulDiv]
push 0x60
push dword [esp + 0x28]
push eax
call dword [sym.imp.api_ms_win_core_largeinteger_l1_1_0.dll_MulDiv]
mov ecx, dword [ebx + 0x70]
add ecx, dword [ebx + 0x6c]
add ecx, eax
mov eax, dword [esp + 0x28]
add ecx, eax
sub eax, dword [esp + 0x58]
add eax, dword [esp + 0x30]
cdq
idiv ecx
xor ecx, ecx
cmp eax, 1
setg cl
dec ecx
and ecx, esi
mov dword [esp + 0x28], ecx
push 0x2003
call dword [sym.imp.api_ms_win_ntuser_sysparams_l1_1_0.dll_GetSystemMetrics]
test eax, eax
jne 0xa71cbc
push 0x2004
call dword [sym.imp.api_ms_win_ntuser_sysparams_l1_1_0.dll_GetSystemMetrics]
test eax, eax
jne 0xa71cbc
lea edx, [esp + 0x2f]
lea ecx, [esp + 0x30]
call fcn.00ac7c47
test eax, eax
js 0xa71cbc
cmp dword [esp + 0x30], 1
jne 0xa71cbc
cmp byte [esp + 0x2f], 0
je 0xa71cbc
lea eax, [esp + 0x30]
mov edx, 0x9f0110
push eax
push ecx
push 0x9f0184
mov ecx, reloc.SHCORE.dll_Ordinal_1
call fcn.00a41860
test eax, eax
js 0xa71cbc
cmp dword [esp + 0x30], 0
je 0xa71cbc
mov ecx, 0xc97200
call fcn.00b63cff
test al, al
je 0xa71cbc
push 1
mov edx, 0x9fa9f8
mov ecx, 0x9f02f0
call fcn.00a57919
cmp eax, 1
jne 0xa71cbc
mov eax, dword [ebx + 0x30]
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0x8c]
mov ecx, esi
call dword [0xc99200]
call esi
test al, al
jne 0xa71cb8
mov edx, dword [ebx + 0x158]
mov ecx, 0x10
push 0
call fcn.00a5bad0
mov edx, dword [esp + 0x28]
mov esi, eax
add esi, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
add eax, esi
jmp 0xa71cd9
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
add eax, esi
jmp 0xa71cd9
lea eax, [ebx + 0x14]
push 0
push eax
call fcn.00a74080
xor edx, edx
mov dword [esp + 0x28], edx
mov esi, dword [esp + 0x50]
xor ebx, ebx
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], ebx
test esi, esi
je 0xa71ced
mov dword [esi], ebx
mov ecx, dword [esp + 0x38]
cmp ecx, dword [ebp + 0x10]
jg 0xa71efa
jmp 0xa71d04
mov edx, dword [esp + 0x28]
cmp dword [esp + 0x3c], 0
jne 0xa72040
mov edx, dword [esp + 0x34]
lea esi, [edi - 8]
mov eax, 0xc8
mov dword [esp + 0x1c], eax
cmp edx, 1
jne 0xa71fe0
mov esi, dword [0xc94f64]
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x30], eax
cmp esi, 0xffffffff
jne 0xa71d57
mov edx, 0x14c
mov ecx, 0xc94f64
call fcn.00a4ba6c
mov esi, dword [0xc94f64]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
test esi, esi
je 0xa71d6f
push ecx
push eax
mov ecx, esi
call dword [0xc99200]
call esi
mov ecx, eax
mov dword [esp + 0x18], eax
jmp 0xa71d75
xor ecx, ecx
mov dword [esp + 0x18], ecx
mov eax, dword [edi + 0xc]
mov edx, dword [eax + 0x3dc]
test edx, edx
je 0xa71d9e
mov eax, dword [edx]
mov esi, dword [eax + 0x24]
lea eax, [esp + 0x20]
push eax
push 0x10
push ecx
push edx
mov ecx, esi
call dword [0xc99200]
call esi
test eax, eax
je 0xa71dca
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x3dc]
test ecx, ecx
je 0xa71de7
mov eax, dword [ecx]
mov esi, dword [eax + 0x24]
lea eax, [esp + 0x20]
push eax
push 0x13
push dword [esp + 0x20]
push ecx
mov ecx, esi
call dword [0xc99200]
call esi
test eax, eax
jne 0xa71de7
push 0x3e8
push 0xc8
push dword [esp + 0x28]
call dword [sym.imp.api_ms_win_core_largeinteger_l1_1_0.dll_MulDiv]
mov dword [esp + 0x1c], eax
jmp 0xa71eaf
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x3dc]
test ecx, ecx
je 0xa71e13
mov eax, dword [ecx]
mov esi, dword [eax + 0x24]
lea eax, [esp + 0x20]
push eax
push 0x14
push dword [esp + 0x20]
push ecx
mov ecx, esi
call dword [0xc99200]
call esi
test eax, eax
je 0xa71e43
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x3dc]
test ecx, ecx
je 0xa71eab
mov eax, dword [ecx]
mov esi, dword [eax + 0x24]
lea eax, [esp + 0x20]
push eax
push 0x15
push dword [esp + 0x20]
push ecx
mov ecx, esi
call dword [0xc99200]
call esi
test eax, eax
jne 0xa71eab
mov ecx, dword [edi + 0xc]
call fcn.00a56533
test eax, eax
je 0xa71eab
mov ecx, dword [edi + 0xc]
push 0
push 2
call fcn.00be25c7
mov ecx, dword [edi + 0xc]
mov ebx, eax
push 0
push 1
call fcn.00be25c7
mov edi, eax
push edi
mov ecx, edi
sub ecx, ebx
push ecx
push 0xc8
call dword [sym.imp.api_ms_win_core_largeinteger_l1_1_0.dll_MulDiv]
push edi
push ebx
push 0xc8
mov esi, eax
call dword [sym.imp.api_ms_win_core_largeinteger_l1_1_0.dll_MulDiv]
push 0x3e8
push esi
push dword [esp + 0x28]
mov ebx, eax
call dword [sym.imp.api_ms_win_core_largeinteger_l1_1_0.dll_MulDiv]
mov edi, dword [esp + 0x54]
add ebx, eax
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x24]
push 0xc8
push eax
push esi
call dword [sym.imp.api_ms_win_core_largeinteger_l1_1_0.dll_MulDiv]
mov esi, dword [esp + 0x50]
add ebx, eax
mov dword [esp + 0x10], ebx
test esi, esi
je 0xa71ee4
mov eax, dword [esp + 0x28]
push 0xc8
push dword [esp + 0x20]
push eax
call dword [sym.imp.api_ms_win_core_largeinteger_l1_1_0.dll_MulDiv]
add dword [esi], eax
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x38], ecx
cmp ecx, dword [ebp + 0x10]
jle 0xa71d00
cmp dword [esp + 0x3c], 0
jne 0xa71fc1
cmp dword [ebp + 0x18], 0
je 0xa71fc1
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x3dc]
test ecx, ecx
je 0xa71f41
mov eax, dword [ecx]
mov esi, dword [eax + 0x24]
lea eax, [esp + 0x10]
push eax
lea eax, [edi - 8]
neg eax
push 6
sbb eax, eax
and eax, edi
push eax
push ecx
mov ecx, esi
call dword [0xc99200]
call esi
test eax, eax
je 0xa71f73
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x3dc]
test ecx, ecx
je 0xa71fc1
mov eax, dword [ecx]
mov esi, dword [eax + 0x24]
lea eax, [esp + 0x10]
push eax
lea eax, [edi - 8]
neg eax
push 7
sbb eax, eax
and eax, edi
push eax
push ecx
mov ecx, esi
call dword [0xc99200]
call esi
test eax, eax
jne 0xa71fc1
mov ecx, dword [edi + 0xc]
call fcn.00a51bae
mov esi, dword [esp + 0x24]
test al, 2
je 0xa71f87
sub esi, dword [esp + 0x28]
xor eax, eax
sub ebx, esi
test ebx, ebx
push 0x3e8
push dword [esp + 0x14]
setle al
dec eax
and eax, ebx
push eax
call dword [sym.imp.api_ms_win_core_largeinteger_l1_1_0.dll_MulDiv]
lea ebx, [esi + eax]
mov esi, dword [esp + 0x50]
test esi, esi
je 0xa71fc1
push 0x3e8
push dword [esp + 0x14]
push dword [esi]
call dword [sym.imp.api_ms_win_core_largeinteger_l1_1_0.dll_MulDiv]
mov dword [esi], eax
mov eax, 1
test ebx, ebx
jle 0xa71fcc
mov eax, ebx
mov ecx, dword [esp + 0x6c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00ab3c50
mov esp, ebp
pop ebp
ret 0x18
cmp edx, 4
jne 0xa71eaf
mov eax, dword [edi + 0xc]
lea ecx, [esp + 0x14]
add eax, 0x1c
neg esi
push ecx
sbb esi, esi
push 2
and esi, edi
push esi
push eax
call fcn.00a40300
test eax, eax
je 0xa72023
mov eax, dword [edi + 0xc]
lea ecx, [esp + 0x14]
push ecx
push 3
add eax, 0x1c
push esi
push eax
call fcn.00a40300
test eax, eax
jne 0xa71eab
push 0x3e8
push 0xc8
push dword [esp + 0x1c]
call dword [sym.imp.api_ms_win_core_largeinteger_l1_1_0.dll_MulDiv]
mov dword [esp + 0x1c], eax
jmp 0xa71eaf
add ebx, eax
mov dword [esp + 0x10], ebx
test esi, esi
je 0xa71eec
add dword [esi], edx
jmp 0xa71eec