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

Disassembly:
push 0xffffffffffffffff
push 0x448597
mov eax, dword fs:[0]
push eax
mov eax, 0x112f0
call fcn.00435100
mov eax, dword [0x457a00]
xor eax, esp
mov dword [esp + 0x112e8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x457a00]
xor eax, esp
push eax
lea eax, [esp + 0x11304]
mov dword fs:[0], eax
mov eax, dword [esp + 0x11314]
push str.enter_PASDLib_DownloadSaHaRaHexFile_n
mov dword [esp + 0x1c], eax
mov esi, edx
mov dword [esp + 0x24], ecx
call fcn.00424780
xor ebx, ebx
add esp, 4
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x1130c], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
push 0x3ff
lea edx, [esp + 0x10f01]
mov byte [esp + 0x11310], 4
push ebx
push edx
mov byte [esp + 0x23], bl
mov byte [esp + 0x10f08], bl
call fcn.00433570
add esp, 0xc
push 0x44c6fc
push esi
call fcn.0042ff87
mov esi, eax
lea eax, [esp + 0x10ebc]
push eax
push esi
call fcn.00431a3d
push ebx
push ebx
push esi
call fcn.00431c2e
add esp, 0x1c
push 2
push ebx
push esi
call fcn.00431c2e
add esp, 0xc
push esi
call fcn.00431e78
add esp, 4
lea ecx, [esp + 0x10eb4]
push ecx
push esi
mov edi, eax
call fcn.00431ee6
add esp, 8
cmp edi, ebx
je 0x41b682
push edi
call fcn.004302de
add esp, 4
push edi
push ebx
push eax
mov dword [esp + 0x28], eax
call fcn.00433570
add esp, 0xc
xor ebp, ebp
cmp edi, ebx
jbe 0x41ad0c
nop
push esi
call fcn.004320d9
add esp, 4
cmp eax, 0xffffffff
je 0x41ad0c
mov edx, dword [esp + 0x1c]
mov byte [edx + ebp], al
add ebp, 1
cmp ebp, edi
jb 0x41acf0
mov eax, dword [esp + 0x20]
push 0x44c6fc
push eax
call fcn.0042ff87
lea ecx, [esp + 0x10ebc]
mov esi, eax
push ecx
push esi
call fcn.00431a3d
push ebx
push ebx
push esi
call fcn.00431c2e
add esp, 0x1c
push 2
push ebx
push esi
call fcn.00431c2e
add esp, 0xc
push esi
call fcn.00431e78
add esp, 4
lea edx, [esp + 0x10eb4]
push edx
push esi
mov edi, eax
call fcn.00431ee6
add esp, 8
cmp edi, ebx
je 0x41b682
push edi
call fcn.004302de
add esp, 4
push edi
mov ebp, eax
push ebx
push ebp
mov dword [esp + 0x2c], ebp
call fcn.00433570
add esp, 0xc
push esi
mov ebx, ebp
call fcn.004156c0
mov eax, dword [0x45b820]
xor ebx, ebx
add esp, 4
cmp eax, ebx
mov dword [0x45b828], ebx
mov dword [0x45b82c], ebx
mov dword [0x45b830], ebx
mov dword [0x45b828], 0x450974
mov dword [0x45b82c], 0x12
mov byte [0x45b830], bl
je 0x41adcd
push 0x45b828
push ebx
call eax
add esp, 8
push 0x30
push ebx
push 0x30
call fcn.004302de
add esp, 4
push eax
call fcn.00433570
add esp, 0xc
lea eax, [esp + 0x10eb4]
mov byte [esp + 0x10eb5], bl
mov byte [esp + 0x10eb6], bl
mov byte [esp + 0x10eb7], bl
mov byte [esp + 0x10eb8], bl
mov byte [esp + 0x10eb9], bl
mov byte [esp + 0x10eba], bl
mov byte [esp + 0x10ebb], bl
mov byte [esp + 0x10ec0], bl
mov byte [esp + 0x10ec1], bl
mov byte [esp + 0x10ec2], bl
mov byte [esp + 0x10ec4], bl
mov byte [esp + 0x10ec5], bl
mov byte [esp + 0x10ec6], bl
mov byte [esp + 0x10ec8], bl
mov byte [esp + 0x10ec9], bl
mov byte [esp + 0x10eca], bl
mov byte [esp + 0x10ecc], bl
mov byte [esp + 0x10ecd], bl
mov byte [esp + 0x10ece], bl
mov byte [esp + 0x10ecf], bl
mov byte [esp + 0x10ed0], bl
mov byte [esp + 0x10ed1], bl
mov byte [esp + 0x10ed2], bl
mov byte [esp + 0x10ed3], bl
mov byte [esp + 0x10ed4], bl
mov byte [esp + 0x10ed5], bl
mov byte [esp + 0x10ed6], bl
mov byte [esp + 0x10ed7], bl
mov byte [esp + 0x10ed8], bl
mov byte [esp + 0x10ed9], bl
mov byte [esp + 0x10eda], bl
mov byte [esp + 0x10edb], bl
mov byte [esp + 0x10edc], bl
mov byte [esp + 0x10edd], bl
mov byte [esp + 0x10ede], bl
mov byte [esp + 0x10edf], bl
mov byte [esp + 0x10ee0], bl
mov byte [esp + 0x10ee1], bl
mov byte [esp + 0x10ee2], bl
mov byte [esp + 0x10ee3], bl
mov byte [esp + 0x10ee4], bl
mov byte [esp + 0x10ee5], bl
mov byte [esp + 0x10ee6], bl
mov byte [esp + 0x10ee7], bl
mov byte [esp + 0x10ee8], bl
mov byte [esp + 0x10ee9], bl
mov byte [esp + 0x10eea], bl
mov byte [esp + 0x10eeb], bl
mov byte [esp + 0x10eec], bl
mov byte [esp + 0x10eed], bl
mov byte [esp + 0x10eee], bl
mov byte [esp + 0x10eef], bl
mov byte [esp + 0x10ef0], bl
mov byte [esp + 0x10ef1], bl
mov byte [esp + 0x10ef2], bl
mov byte [esp + 0x10ef4], bl
mov byte [esp + 0x10ef5], bl
mov byte [esp + 0x10ef6], bl
mov word [esp + 0x10ef7], bx
push eax
mov ebx, 8
lea esi, [esp + 0x68]
mov byte [esp + 0x10eb8], 0x10
mov byte [esp + 0x10ec7], 0x30
mov byte [esp + 0x10ecb], 2
mov byte [esp + 0x10ecf], 1
mov byte [esp + 0x10ef7], 8
call fcn.00423f10
push 7
lea ecx, [esp + 0x10ef4]
push ecx
lea esi, [esp + 0x5c]
call fcn.00423f70
mov al, byte [0x45c238]
add byte [esp + 0x17], 1
test al, al
je 0x41b454
cmp al, 1
je 0x41aff0
cmp al, 8
jne 0x41b0ae
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
cmp esi, eax
mov edi, eax
jbe 0x41b018
call fcn.00430872
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
cmp esi, eax
jbe 0x41b018
call fcn.00430872
mov eax, dword [esp + 0x4c]
cmp esi, edi
je 0x41b035
sub eax, edi
test eax, eax
lea ebx, [eax + esi]
jle 0x41b031
push eax
push edi
push eax
push esi
call fcn.00431041
add esp, 0x10
mov dword [esp + 0x4c], ebx
push 0x2f
lea edx, [esp + 0x10ec4]
push edx
lea esi, [esp + 0x4c]
call fcn.00423f70
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
push 2
mov esi, 3
lea edi, [esp + 0x48]
call fcn.00415d50
add esp, 4
push 0x400
lea ecx, [esp + 0x10f00]
push 0
push ecx
call fcn.00433570
add esp, 0xc
push str.g_RxBuffer_0___1__g_RxBuffer_0___8_n
call fcn.00424780
add esp, 4
push 0x45c238
lea ebx, [esp + 0x10f00]
call fcn.00415da0
add esp, 4
mov edx, ebx
push edx
push 0x44c6f8
call fcn.00424780
mov al, byte [0x45c238]
add esp, 8
cmp al, 3
jne 0x41b332
push str._g_RxBuffer_0___3__n
call fcn.00424780
add esp, 4
cmp byte [0x45c240], 7
jne 0x41b20a
cmp byte [0x45c238], 3
jne 0x41b332
movzx esi, byte [0x45c247]
movzx eax, byte [0x45c246]
movzx ecx, byte [0x45c245]
movzx edi, byte [0x45c24b]
movzx edx, byte [0x45c244]
mov ebx, dword [esp + 0x28]
shl esi, 8
add esi, eax
movzx eax, byte [0x45c24a]
shl edi, 8
shl esi, 8
add edi, eax
mov eax, dword [esp + 0x2c]
add esi, ecx
movzx ecx, byte [0x45c249]
shl edi, 8
shl esi, 8
add esi, edx
movzx edx, byte [0x45c248]
add edi, ecx
shl edi, 8
add edi, edx
cmp ebx, eax
mov ebp, eax
jbe 0x41b15b
call fcn.00430872
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
cmp ebx, eax
jbe 0x41b15b
call fcn.00430872
mov eax, dword [esp + 0x2c]
cmp ebx, ebp
je 0x41b186
sub eax, ebp
test eax, eax
lea ecx, [eax + ebx]
mov dword [esp + 0x10eb4], ecx
jle 0x41b17b
push eax
push ebp
push eax
push ebx
call fcn.00431041
add esp, 0x10
mov edx, dword [esp + 0x10eb4]
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x1c]
add esi, eax
push edi
push esi
lea esi, [esp + 0x2c]
call fcn.00423f70
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
push 3
mov esi, 3
lea edi, [esp + 0x28]
call fcn.00415d50
add esp, 4
push 0x400
lea edx, [esp + 0x10f00]
push 0
push edx
call fcn.00433570
add esp, 0xc
push str._g_RxBuffer_0___3____g_RxBuffer_8___7_n
call fcn.00424780
add esp, 4
push 0x45c238
lea ebx, [esp + 0x10f00]
call fcn.00415da0
add esp, 4
mov eax, ebx
push eax
push 0x44c6f8
call fcn.00424780
add esp, 8
cmp byte [0x45c238], 3
je 0x41b0dd
jmp 0x41b332
cmp byte [0x45c238], 3
jne 0x41b332
movzx esi, byte [0x45c247]
movzx ecx, byte [0x45c246]
movzx edx, byte [0x45c245]
movzx edi, byte [0x45c24b]
movzx eax, byte [0x45c244]
mov ebx, dword [esp + 0x38]
shl esi, 8
add esi, ecx
movzx ecx, byte [0x45c24a]
shl edi, 8
shl esi, 8
add esi, edx
movzx edx, byte [0x45c249]
add edi, ecx
shl edi, 8
shl esi, 8
add esi, eax
movzx eax, byte [0x45c248]
add edi, edx
shl edi, 8
add edi, eax
mov eax, dword [esp + 0x3c]
cmp ebx, eax
mov ebp, eax
jbe 0x41b295
call fcn.00430872
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
cmp ebx, eax
jbe 0x41b295
call fcn.00430872
mov eax, dword [esp + 0x3c]
cmp ebx, ebp
je 0x41b2c0
sub eax, ebp
test eax, eax
lea ecx, [eax + ebx]
mov dword [esp + 0x10eb4], ecx
jle 0x41b2b5
push eax
push ebp
push eax
push ebx
call fcn.00431041
add esp, 0x10
mov edx, dword [esp + 0x10eb4]
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x20]
add esi, eax
push edi
push esi
lea esi, [esp + 0x3c]
call fcn.00423f70
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
push 3
mov esi, 3
lea edi, [esp + 0x38]
call fcn.00415d50
add esp, 4
push 0x400
lea edx, [esp + 0x10f00]
push 0
push edx
call fcn.00433570
add esp, 0xc
push 0x45c238
lea ebx, [esp + 0x10f00]
call fcn.00415da0
add esp, 4
mov eax, ebx
push eax
push 0x44c6f8
call fcn.00424780
add esp, 8
cmp byte [0x45c238], 3
je 0x41b217
push 0x400
lea ecx, [esp + 0x10f00]
push 0
push ecx
call fcn.00433570
add esp, 0xc
push 0x45c238
lea ebx, [esp + 0x10f00]
call fcn.00415da0
add esp, 4
mov edx, ebx
push edx
push 0x44c6f8
call fcn.00424780
add esp, 8
cmp byte [0x45c238], 4
jne 0x41b3df
cmp byte [0x45c244], 0
jne 0x41b3b6
cmp byte [0x45c245], 0
jne 0x41b3b6
cmp byte [0x45c246], 0
jne 0x41b3b6
cmp byte [0x45c247], 0
jne 0x41b3b6
mov ebp, dword [esp + 0x18]
mov eax, dword [ebp]
push 5
mov esi, 3
lea edi, [esp + 0x58]
call fcn.00415d50
add esp, 4
jmp 0x41b3e3
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
push 7
mov esi, 3
lea edi, [esp + 0x58]
call fcn.00415d50
add esp, 4
push 0x5dc
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x41b46d
mov ebp, dword [esp + 0x18]
push 0x400
lea ecx, [esp + 0x10f00]
push 0
push ecx
call fcn.00433570
add esp, 0xc
push 0x45c238
lea ebx, [esp + 0x10f00]
call fcn.00415da0
add esp, 4
mov edx, ebx
push edx
push 0x44c6f8
call fcn.00424780
mov al, byte [0x45c238]
add esp, 8
cmp al, 6
je 0x41b481
cmp al, 4
jne 0x41b472
cmp byte [0x45c244], 0
jne 0x41b44f
cmp byte [0x45c245], 0
jne 0x41b44f
cmp byte [0x45c246], 0
jne 0x41b44f
cmp byte [0x45c247], 0
je 0x41b472
mov eax, dword [ebp]
jmp 0x41b45a
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
push 7
mov esi, 3
lea edi, [esp + 0x58]
call fcn.00415d50
add esp, 4
mov al, byte [0x45c238]
cmp byte [esp + 0x17], 3
jb 0x41afd7
mov ebp, dword [esp + 0x18]
test al, al
je 0x41b616
cmp al, 4
jne 0x41b4c1
cmp byte [0x45c244], 0
jne 0x41b616
cmp byte [0x45c245], 0
jne 0x41b616
cmp byte [0x45c246], 0
jne 0x41b616
cmp byte [0x45c247], 0
jne 0x41b616
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.00432210
mov edx, dword [esp + 0x24]
add esp, 4
push edx
call fcn.00432210
add esp, 4
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
push str.Reconnect_port..._n
call fcn.00424780
add esp, 4
mov dword [esp + 0x1c], 0
jmp 0x41b500
mov edi, dword [ebp]
xor bl, bl
call fcn.0041d9d0
push 0x3e8
mov dword [ebp], 0xffffffff
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [esp + 0x17]
push eax
lea ecx, [esp + 0x78]
push ecx
mov ecx, 1
mov byte [esp + 0x1f], 8
call fcn.004180f0
movzx eax, byte [esp + 0x1f]
add esp, 8
test eax, eax
jle 0x41b5c3
lea ebp, [esp + 0x2238]
mov dword [esp + 0x20], eax
movzx eax, byte [ebp]
test eax, eax
jle 0x41b57f
lea esi, [ebp - 0x1d8c]
mov edi, eax
cmp dword [esi], 0
je 0x41b574
push str.Diag_port_ideal__n
call fcn.00424780
add esp, 4
mov bl, 1
add esi, 0x438
sub edi, 1
jne 0x41b560
add ebp, 0x21c8
sub dword [esp + 0x20], 1
jne 0x41b550
test bl, bl
je 0x41b5bf
mov eax, 0x21c8
lea esi, [esp + 0x74]
call fcn.00435100
mov ecx, 0x872
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00418290
mov edx, dword [esp + 0x21e0]
add esp, 0x21c8
mov dword [edx], eax
mov ebp, edx
jmp 0x41b5c3
mov ebp, dword [esp + 0x18]
cmp dword [ebp], 0xffffffff
jne 0x41b5df
mov eax, dword [esp + 0x1c]
mov ecx, eax
add eax, 1
cmp ecx, 0x19
mov dword [esp + 0x1c], eax
jl 0x41b500
cmp dword [esp + 0x1c], 0x19
jl 0x41b66d
push str.Reconnect_port_failed_n
call fcn.00424780
mov eax, dword [0x45b820]
add esp, 4
test eax, eax
mov dword [0x45b810], 0x450988
je 0x41b616
push str.Hex_has_beed_downloaded__the_driver_may_be_changed__and_cant_find_the_valid_diagnostics_port.
push 3
call eax
add esp, 8
lea esi, [esp + 0x54]
call fcn.00423e00
lea esi, [esp + 0x24]
call fcn.00423e00
lea esi, [esp + 0x64]
call fcn.00423e00
lea esi, [esp + 0x44]
call fcn.00423e00
lea esi, [esp + 0x34]
call fcn.00423e00
xor eax, eax
mov ecx, dword [esp + 0x11304]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x112e8]
xor ecx, esp
call fcn.0042fb8f
add esp, 0x112fc
ret
push str.Reconnect_port_ok_n
call fcn.00424780
mov ecx, dword [ebp]
add esp, 4
call fcn.00415e60
lea esi, [esp + 0x54]
call fcn.00423e00
lea esi, [esp + 0x24]
call fcn.00423e00
lea esi, [esp + 0x64]
call fcn.00423e00
lea esi, [esp + 0x44]
call fcn.00423e00
lea esi, [esp + 0x34]
call fcn.00423e00
mov eax, 1
jmp 0x41b645