Function at 0x45c270
Capabilities:
Authenticate hmac
Parse pe header

Disassembly:
push ebp
lea ebp, [esp - 0x78]
sub esp, 0x78
push 0xffffffffffffffff
push 0x51742a
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push esi
push edi
mov eax, dword [0x7c6ee4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp + 0x74], edi
xor eax, eax
lea ecx, [ebp + 8]
push edi
mov dword [ebp + 0x5c], eax
mov dword [ebp + 0x60], eax
call fcn.004752b0
mov esi, dword [0x53076c]
push 6
push str.R5F617
mov dword [ebp - 4], 0
call esi
add esp, 8
mov dword [ebp + 0x6c], eax
mov ecx, dword [0x7c81c0]
lea eax, [ebp + 0x68]
push eax
mov byte [ebp - 4], 1
call fcn.0048c670
push 0
push 0
lea ecx, [ebp + 0x6c]
mov byte [ebp - 4], 2
push ecx
mov ecx, eax
call dword [0x530634]
cmp eax, 0xffffffff
lea ecx, [ebp + 0x68]
setne bl
call dword [0x5307a0]
lea ecx, [ebp + 0x6c]
mov byte [ebp - 4], 0
call dword [0x5307a0]
test bl, bl
je 0x45c418
mov ecx, dword [0x7c81c4]
lea eax, [ebp + 0x68]
push eax
call fcn.004352e0
lea ecx, [ebp + 0x68]
mov eax, dword [eax]
mov esi, dword [eax + 4]
call dword [0x5307ac]
test esi, esi
jle 0x45c36a
cmp byte [edi + 0x30], 0
lea eax, [ebp + 0x68]
mov ecx, dword [0x7c81c4]
push eax
je 0x45c37d
call fcn.004352e0
mov ecx, dword [edi + 0x1c]
push eax
mov byte [ebp - 4], 3
call fcn.00449490
lea ecx, [ebp + 0x68]
mov byte [ebp - 4], 0
call dword [0x5307ac]
mov ecx, dword [edi + 0x18]
push 1
mov ecx, dword [ecx + 0xc]
call dword [0x5311ec]
jmp 0x45d33a
call fcn.004352e0
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 4
call fcn.004769c0
lea ecx, [ebp + 0x68]
mov byte [ebp - 4], 0
call dword [0x5307ac]
lea ecx, [ebp + 8]
call dword [0x5316b0]
mov ecx, dword [0x7c81c4]
call fcn.0043b490
test al, al
lea eax, [ebp + 0x68]
je 0x45c3e9
push 0xffffffffffffffff
push 0
push str.The_data_was_repaired_successfully.
push eax
call fcn.004647e0
push 0
push 0x400
push eax
push edi
mov byte [ebp - 4], 5
call fcn.00433bd0
add esp, 0x20
lea ecx, [ebp + 0x68]
call dword [0x5307a0]
jmp 0x45d33a
mov ecx, dword [0x7c81c4]
push eax
call fcn.0043b9f0
push 0
push 0x400
push eax
push edi
mov byte [ebp - 4], 6
call fcn.00433bd0
add esp, 0x10
lea ecx, [ebp + 0x68]
call dword [0x5307a0]
jmp 0x45d33a
mov ecx, dword [edi + 0x18]
push 1
mov ecx, dword [ecx + 0xc]
call dword [0x5311ec]
cmp byte [edi + 0x30], 0
je 0x45c438
mov ecx, edi
call fcn.00459a10
jmp 0x45c997
lea ecx, [ebp + 8]
call fcn.004766f0
lea ecx, [ebp + 8]
call dword [0x5316b0]
mov ecx, dword [0x7c81c4]
call fcn.0043b490
test al, al
jne 0x45c48a
mov ecx, dword [0x7c81c4]
lea eax, [ebp + 0x68]
push eax
call fcn.0043b9f0
push 0
push 0x400
push eax
push edi
mov byte [ebp - 4], 7
call fcn.00433bd0
add esp, 0x10
lea ecx, [ebp + 0x68]
call dword [0x5307a0]
jmp 0x45d33a
push 6
push str.R7F701
call esi
add esp, 8
mov dword [ebp + 0x6c], eax
mov ecx, dword [0x7c81c0]
lea eax, [ebp + 0x50]
push eax
mov byte [ebp - 4], 8
mov dword [ebp + 0x60], 1
call fcn.0048c670
push 0
push 0
lea ecx, [ebp + 0x6c]
mov dword [ebp - 4], 9
push ecx
mov ebx, 3
mov ecx, eax
mov dword [ebp + 0x60], ebx
call dword [0x530634]
cmp eax, 0xffffffff
je 0x45c50f
mov ecx, dword [0x7c81c4]
lea eax, [ebp + 0x68]
push eax
call fcn.00435810
mov eax, dword [eax]
mov ebx, 7
mov ecx, dword [0x7c81c0]
mov dword [ebp - 4], 0xa
mov dword [ebp + 0x60], ebx
mov esi, dword [eax + 4]
call fcn.0048c920
add eax, eax
mov byte [ebp + 0x73], 1
cmp esi, eax
je 0x45c513
mov byte [ebp + 0x73], 0
test bl, 4
je 0x45c524
lea ecx, [ebp + 0x68]
and ebx, 0xfffffffb
call dword [0x5307ac]
lea ecx, [ebp + 0x50]
and ebx, 0xfffffffd
call dword [0x5307a0]
and ebx, 0xfffffffe
mov dword [ebp - 4], 0
lea ecx, [ebp + 0x6c]
mov dword [ebp + 0x5c], ebx
call dword [0x5307a0]
cmp byte [ebp + 0x73], 0
je 0x45c857
lea eax, [ebp + 0x34]
push 1
push eax
call dword [0x5306fc]
push str._Changguang_CG100X
push eax
lea eax, [ebp + 0x68]
mov byte [ebp - 4], 0xb
push eax
call fcn.00424b40
add esp, 0x14
lea ecx, [ebp + 0x34]
mov byte [ebp - 4], 0xd
call dword [0x5307a0]
mov ebx, dword [0x53076c]
push 0xf
push str.yyyyMMdd_hhmmss
call ebx
mov dword [ebp + 0x60], eax
lea eax, [ebp + 0x30]
mov byte [ebp - 4], 0xe
push eax
call dword [0x5306b0]
add esp, 0xc
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0xf
push ecx
lea ecx, [ebp + 0x50]
push ecx
mov ecx, eax
call dword [0x5306b4]
lea ecx, [ebp + 0x30]
call dword [0x5306b8]
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x12
call dword [0x5307a0]
push 1
push 0x534570
call ebx
mov dword [ebp + 0x34], eax
push 0xb
push str.__:____
mov byte [ebp - 4], 0x13
call ebx
mov dword [ebp + 0x28], eax
push 0xffffffffffffffff
push 0
lea eax, [ebp + 0x64]
mov byte [ebp - 4], 0x14
push str.with_maintenance_block
push eax
call fcn.004647e0
add esp, 0x20
mov dword [ebp + 0x30], eax
mov ecx, dword [0x7c81c0]
lea eax, [ebp + 0x38]
push eax
mov byte [ebp - 4], 0x15
call fcn.0048c7b0
mov dword [ebp + 0x60], eax
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x16
lea eax, [ebp + 0x28]
push eax
mov dword [ecx], 0
lea ecx, [ebp + 0x3c]
call dword [0x53035c]
mov ebx, eax
mov ecx, dword [0x7c81c0]
lea eax, [ebp]
push eax
mov byte [ebp - 4], 0x17
call fcn.00494f00
mov edi, eax
lea eax, [ebp + 4]
mov byte [ebp - 4], 0x18
push eax
call dword [0x53074c]
mov esi, eax
push 0x1d
push str._1_CG100X__2__3._4___5__6.bin
mov byte [ebp - 4], 0x19
call dword [0x53076c]
add esp, 0xc
mov dword [ebp + 0x2c], eax
push dword [ebp + 0x30]
lea eax, [ebp + 0x34]
mov byte [ebp - 4], 0x1a
push dword [ebp + 0x60]
mov ecx, edi
push eax
push ebx
call dword [0x530388]
push eax
lea eax, [ebp + 0x50]
push eax
push esi
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x6c]
push eax
lea ecx, [ebp + 0x2c]
call dword [0x530280]
lea ecx, [ebp + 0x2c]
call dword [0x5307a0]
lea ecx, [ebp + 4]
call dword [0x5307a0]
lea ecx, [ebp]
call dword [0x5307a0]
lea ecx, [ebp + 0x3c]
call dword [0x530358]
lea ecx, [ebp + 0x38]
call dword [0x5307a0]
lea ecx, [ebp + 0x64]
call dword [0x5307a0]
lea ecx, [ebp + 0x28]
call dword [0x5307a0]
lea ecx, [ebp + 0x34]
mov byte [ebp - 4], 0x23
call dword [0x5307a0]
lea eax, [ebp + 0x6c]
push eax
lea ecx, [ebp + 0x48]
call dword [0x5306ec]
push ecx
mov eax, esp
mov byte [ebp - 4], 0x24
lea ecx, [ebp + 0x48]
mov dword [eax], 2
call dword [0x5306dc]
test al, al
je 0x45c7be
mov ecx, dword [0x7c81c4]
lea eax, [ebp + 0x64]
push eax
call fcn.00435810
push eax
lea ecx, [ebp + 0x48]
mov byte [ebp - 4], 0x25
call dword [0x5303f4]
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 0x24
call dword [0x5307ac]
lea ecx, [ebp + 0x48]
call dword [0x5306f8]
push 0xffffffffffffffff
push 0
lea eax, [ebp + 0x3c]
push str.Saved_as:
push eax
call fcn.004647e0
lea ecx, [ebp + 0x6c]
mov byte [ebp - 4], 0x26
push ecx
push eax
lea eax, [ebp + 0x38]
push eax
call fcn.00424ad0
add esp, 0x1c
mov esi, eax
lea eax, [ebp + 0x64]
mov byte [ebp - 4], 0x27
push eax
push 0
push 0
push 0
lea ecx, [ebp - 0x20]
call dword [0x5307bc]
mov ecx, eax
call dword [0x5307b8]
push esi
mov ecx, eax
mov byte [ebp - 4], 0x28
call dword [0x530700]
lea ecx, [ebp + 0x64]
call dword [0x530710]
lea ecx, [ebp + 0x38]
call dword [0x5307a0]
lea ecx, [ebp + 0x3c]
mov byte [ebp - 4], 0x24
call dword [0x5307a0]
mov ecx, dword [0x7c81c4]
lea eax, [ebp + 0x3c]
push eax
call fcn.00435810
mov esi, eax
mov ecx, dword [0x7c81c4]
lea eax, [ebp + 0x38]
push eax
mov byte [ebp - 4], 0x29
call fcn.00435810
mov edi, eax
mov ecx, dword [esi]
mov byte [ebp - 4], 0x2a
mov eax, dword [ecx + 4]
mov ecx, edi
cdq
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp + 0x64]
push eax
call dword [0x5303b4]
mov edi, dword [ebp + 0x74]
push eax
mov byte [ebp - 4], 0x2b
mov ecx, dword [edi + 0x1c]
call fcn.00449490
lea ecx, [ebp + 0x64]
call dword [0x5307ac]
lea ecx, [ebp + 0x38]
call dword [0x5307ac]
lea ecx, [ebp + 0x3c]
call dword [0x5307ac]
lea ecx, [ebp + 0x48]
call dword [0x5306e8]
lea ecx, [ebp + 0x6c]
call dword [0x5307a0]
lea ecx, [ebp + 0x50]
call dword [0x5307a0]
lea ecx, [ebp + 0x68]
mov byte [ebp - 4], 0
call dword [0x5307a0]
jmp 0x45c990
mov ecx, dword [0x7c81c4]
lea eax, [ebp + 0x74]
push eax
call fcn.00435810
mov ecx, dword [edi + 0x1c]
push eax
mov byte [ebp - 4], 0x2c
call fcn.00449490
lea ecx, [ebp + 0x74]
mov byte [ebp - 4], 0
call dword [0x5307ac]
mov ecx, dword [0x7c81c0]
call fcn.0048ce20
cmp eax, 4
jne 0x45c990
mov ecx, dword [0x7c81c0]
push 0
call fcn.0048c920
mov esi, dword [0x530494]
lea ecx, [ebp + 0x50]
push eax
call esi
mov ecx, dword [0x7c81c0]
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2d
call fcn.0048c920
push eax
lea ecx, [ebp + 0x68]
call esi
mov ecx, dword [0x7c81c4]
lea eax, [ebp + 0x64]
push eax
mov byte [ebp - 4], 0x2e
call fcn.00435810
lea ecx, [ebp + 0x50]
mov byte [ebp - 4], 0x2f
push ecx
or ebx, 8
push eax
mov dword [ebp + 0x60], ebx
call fcn.0042f200
add esp, 8
test al, al
jne 0x45c919
mov ecx, dword [0x7c81c4]
lea eax, [ebp + 0x74]
push eax
call fcn.00435810
lea ecx, [ebp + 0x68]
or ebx, 0x10
push ecx
push eax
call fcn.0042f200
add esp, 8
mov byte [ebp + 0x73], 0
test al, al
je 0x45c91d
mov byte [ebp + 0x73], 1
test bl, 0x10
je 0x45c92e
lea ecx, [ebp + 0x74]
and ebx, 0xffffffef
call dword [0x5307ac]
and ebx, 0xfffffff7
mov dword [ebp - 4], 0x2e
lea ecx, [ebp + 0x64]
mov dword [ebp + 0x5c], ebx
call dword [0x5307ac]
cmp byte [ebp + 0x73], 0
je 0x45c97a
push 0xffffffffffffffff
push 0
lea eax, [ebp + 0x74]
push str.The_current_data_is_all_00_or_all_FF__please_check_to_confirm:_n1._The_direction_of_the_chip_is_correct.__n2._There_is_no_tin_connection_on_the_welding_board.
push eax
call fcn.004647e0
push 0
push 0x400
push eax
push edi
mov byte [ebp - 4], 0x30
call fcn.00433bd0
add esp, 0x20
lea ecx, [ebp + 0x74]
call dword [0x5307a0]
lea ecx, [ebp + 0x68]
call dword [0x5307ac]
lea ecx, [ebp + 0x50]
mov byte [ebp - 4], 0
call dword [0x5307ac]
mov ecx, edi
call fcn.00453a30
mov ecx, dword [0x7c81c4]
lea eax, [ebp + 0x74]
push eax
call fcn.004352e0
lea ecx, [ebp + 0x74]
mov eax, dword [eax]
mov esi, dword [eax + 4]
call dword [0x5307ac]
test esi, esi
jle 0x45cf6c
push 0xffffffffffffffff
push 0
lea eax, [ebp + 0x74]
push str.Are_you_ready_to_start_repairing_airbag_data_
push eax
call fcn.004647e0
push 0x400000
push 0x400
push eax
push edi
mov byte [ebp - 4], 0x31
call fcn.00433bd0
add esp, 0x20
mov byte [ebp - 4], 0
cmp eax, 0x400000
lea ecx, [ebp + 0x74]
sete bl
call dword [0x5307a0]
test bl, bl
jne 0x45d33a
mov ecx, dword [0x7c81c4]
lea eax, [ebp + 0x64]
push eax
call fcn.0043ba10
mov eax, dword [eax]
mov ebx, dword [ebp + 0x5c]
or ebx, 0x20
mov byte [ebp - 4], 0x32
mov dword [ebp + 0x60], ebx
cmp dword [eax + 4], 0
jg 0x45ca49
mov ecx, dword [0x7c81c0]
lea eax, [ebp + 0x74]
push eax
call fcn.00494c60
mov ecx, eax
or ebx, 0x40
call dword [0x530608]
mov byte [ebp + 0x73], 0
test eax, eax
jle 0x45ca4d
mov byte [ebp + 0x73], 1
test bl, 0x40
je 0x45ca5a
lea ecx, [ebp + 0x74]
call fcn.00452db0
lea ecx, [ebp + 0x64]
mov dword [ebp - 4], 0
call dword [0x5307ac]
cmp byte [ebp + 0x73], 0
je 0x45cea6
push edi
lea ecx, [ebp - 0x28]
call fcn.00488400
mov ebx, dword [0x5316b0]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x33
call ebx
test eax, eax
je 0x45cb1e
cmp eax, 1
jne 0x45cdd2
mov ecx, dword [0x7c81c4]
lea eax, [ebp + 0x74]
push eax
call fcn.0043ba10
lea ecx, [ebp + 0x74]
mov eax, dword [eax]
mov esi, dword [eax + 4]
call dword [0x5307ac]
test esi, esi
jle 0x45cbc8
lea ecx, [ebp + 0x6c]
call dword [0x530498]
lea eax, [ebp + 0x6c]
mov byte [ebp - 4], 0x34
push eax
push ecx
mov ecx, dword [0x7c81c4]
mov eax, esp
mov dword [ebp + 0x58], esp
push eax
call fcn.0043ba10
push ecx
mov ecx, dword [edi + 0x1c]
push esp
mov byte [ebp - 4], 0x35
call fcn.00447060
mov byte [ebp - 4], 0x34
call fcn.004316e0
add esp, 0xc
test eax, eax
jne 0x45cb82
cmp byte [edi + 0x30], 0
lea eax, [ebp + 0x6c]
push eax
je 0x45cb2b
mov ecx, dword [edi + 0x1c]
call fcn.00449490
lea ecx, [ebp + 0x6c]
call dword [0x5307ac]
lea ecx, [ebp - 0x28]
call fcn.004886c0
jmp 0x45d33a
lea ecx, [ebp + 8]
call fcn.004769c0
lea ecx, [ebp + 8]
call ebx
mov ecx, dword [0x7c81c4]
call fcn.0043b490
test al, al
lea eax, [ebp + 0x74]
je 0x45cb5f
push 0xffffffffffffffff
push 0
push str.The_data_was_repaired_successfully.
push eax
call fcn.004647e0
mov byte [ebp - 4], 0x36
jmp 0x45cb98
mov ecx, dword [0x7c81c4]
push eax
call fcn.0043b9f0
push 0
push 0x400
push eax
push edi
mov byte [ebp - 4], 0x37
call fcn.00433bd0
add esp, 0x10
jmp 0x45cba9
push 0xffffffffffffffff
push 0
lea eax, [ebp + 0x74]
push str.The_repair_failed.
push eax
call fcn.004647e0
mov byte [ebp - 4], 0x38
push 0
push 0x400
push eax
push edi
call fcn.00433bd0
add esp, 0x20
lea ecx, [ebp + 0x74]
call dword [0x5307a0]
lea ecx, [ebp + 0x6c]
call dword [0x5307ac]
lea ecx, [ebp - 0x28]
call fcn.004886c0
jmp 0x45d33a
mov ecx, dword [edi + 0x1c]
lea eax, [ebp + 0x60]
push eax
call fcn.00447060
mov ecx, dword [0x7c81c0]
lea eax, [ebp + 0x74]
push eax
mov byte [ebp - 4], 0x39
call fcn.00494c60
push eax
lea ecx, [ebp + 0x40]
mov byte [ebp - 4], 0x3a
call fcn.00451f40
lea ecx, [ebp + 0x74]
call fcn.00452db0
cmp dword [ebp + 0x4c], 0
je 0x45ccc4
mov ecx, dword [ebp + 0x44]
nop dword [eax]
cmp ecx, dword [ebp + 0x48]
setne al
test al, al
je 0x45ccc4
push dword [ecx]
lea ecx, [ebp + 0x54]
call fcn.00452d00
cmp dword [ebp + 0x4c], 0
mov byte [ebp - 4], 0x3d
je 0x45cc9f
push 0x10
push 0
lea ecx, [ebp + 0x54]
call dword [0x530780]
mov esi, eax
lea ecx, [ebp + 0x58]
lea eax, [ebp + 0x74]
push eax
call dword [0x530428]
push eax
lea eax, [ebp + 0x6c]
mov byte [ebp - 4], 0x3e
push eax
call dword [0x530448]
add esp, 8
lea ecx, [ebp + 0x74]
mov byte [ebp - 4], 0x40
call dword [0x5307ac]
mov eax, dword [ebp + 0x6c]
mov edx, dword [eax + 4]
mov eax, dword [ebp + 0x60]
mov ecx, dword [eax + 4]
lea eax, [edx + esi]
cmp eax, ecx
jg 0x45ccf8
lea eax, [ebp + 0x6c]
push eax
push edx
push esi
lea ecx, [ebp + 0x60]
call dword [0x530254]
lea ecx, [ebp + 0x6c]
call dword [0x5307ac]
mov dword [ebp + 0x4c], 0
lea ecx, [ebp + 0x58]
call dword [0x5307a0]
lea ecx, [ebp + 0x54]
call dword [0x5307a0]
mov ecx, dword [ebp + 0x44]
add ecx, 4
xor dword [ebp + 0x4c], 1
mov dword [ebp + 0x44], ecx
jne 0x45cc10
lea ecx, [ebp + 0x40]
mov byte [ebp - 4], 0x39
call fcn.00452d30
cmp byte [edi + 0x30], 0
lea eax, [ebp + 0x60]
push eax
je 0x45cd4d
mov ecx, dword [edi + 0x1c]
call fcn.00449490
lea ecx, [ebp + 0x60]
call dword [0x5307ac]
lea ecx, [ebp - 0x28]
call fcn.004886c0
jmp 0x45d33a
push 0xffffffffffffffff
push 0
lea eax, [ebp + 0x64]
push str.The_repair_failed.
push eax
call fcn.004647e0
push 0
push 0x400
push eax
push edi
mov byte [ebp - 4], 0x41
call fcn.00433bd0
add esp, 0x20
lea ecx, [ebp + 0x64]
call dword [0x5307a0]
lea ecx, [ebp + 0x6c]
call dword [0x5307ac]
lea ecx, [ebp + 0x58]
call dword [0x5307a0]
lea ecx, [ebp + 0x54]
call dword [0x5307a0]
lea ecx, [ebp + 0x40]
call fcn.00452d30
jmp 0x45cce2
lea ecx, [ebp + 8]
call fcn.004769c0
lea ecx, [ebp + 8]
call ebx
mov ecx, dword [0x7c81c4]
call fcn.0043b490
test al, al
lea eax, [ebp + 0x74]
je 0x45cd92
push 0xffffffffffffffff
push 0
push str.The_data_was_repaired_successfully.
push eax
call fcn.004647e0
push 0
push 0x400
push eax
push edi
mov byte [ebp - 4], 0x42
call fcn.00433bd0
add esp, 0x20
jmp 0x45cdb3
mov ecx, dword [0x7c81c4]
push eax
call fcn.0043b9f0
push 0
push 0x400
push eax
push edi
mov byte [ebp - 4], 0x43
call fcn.00433bd0
add esp, 0x10
lea ecx, [ebp + 0x74]
call dword [0x5307a0]
lea ecx, [ebp + 0x60]
call dword [0x5307ac]
lea ecx, [ebp - 0x28]
call fcn.004886c0
jmp 0x45d33a
cmp eax, 2
jne 0x45ce99
cmp byte [edi + 0x30], 0
lea eax, [ebp + 0x74]
mov ecx, dword [0x7c81c4]
push eax
je 0x45ce13
call fcn.004352e0
mov ecx, dword [edi + 0x1c]
push eax
mov byte [ebp - 4], 0x44
call fcn.00449490
lea ecx, [ebp + 0x74]
call dword [0x5307ac]
lea ecx, [ebp - 0x28]
call fcn.004886c0
jmp 0x45d33a
call fcn.004352e0
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x45
call fcn.004769c0
lea ecx, [ebp + 0x74]
mov byte [ebp - 4], 0x33
call dword [0x5307ac]
lea ecx, [ebp + 8]
call ebx
mov ecx, dword [0x7c81c4]
call fcn.0043b490
test al, al
lea eax, [ebp + 0x74]
je 0x45ce6f
push 0xffffffffffffffff
push 0
push str.The_data_was_repaired_successfully.
push eax
call fcn.004647e0
push 0
push 0x400
push eax
push edi
mov byte [ebp - 4], 0x46
call fcn.00433bd0
add esp, 0x20
jmp 0x45ce90
mov ecx, dword [0x7c81c4]
push eax
call fcn.0043b9f0
push 0
push 0x400
push eax
push edi
mov byte [ebp - 4], 0x47
call fcn.00433bd0
add esp, 0x10
lea ecx, [ebp + 0x74]
call dword [0x5307a0]
lea ecx, [ebp - 0x28]
call fcn.004886c0
jmp 0x45d33a
cmp byte [edi + 0x30], 0
lea eax, [ebp + 0x74]
mov ecx, dword [0x7c81c4]
push eax
je 0x45ced0
call fcn.004352e0
mov ecx, dword [edi + 0x1c]
push eax
mov byte [ebp - 4], 0x48
call fcn.00449490
lea ecx, [ebp + 0x74]
jmp 0x45d334
call fcn.004352e0
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x49
call fcn.004769c0
lea ecx, [ebp + 0x74]
mov byte [ebp - 4], 0
call dword [0x5307ac]
mov eax, dword [0x5316b0]
lea ecx, [ebp + 8]
call eax
mov ecx, dword [0x7c81c4]
call fcn.0043b490
test al, al
lea eax, [ebp + 0x74]
je 0x45cf3d
push 0xffffffffffffffff
push 0
push str.The_data_was_repaired_successfully.
push eax
call fcn.004647e0
push 0
push 0x400
push eax
push edi
mov byte [ebp - 4], 0x4a
call fcn.00433bd0
add esp, 0x20
lea ecx, [ebp + 0x74]
call dword [0x5307a0]
jmp 0x45d33a
mov ecx, dword [0x7c81c4]
push eax
call fcn.0043b9f0
push 0
push 0x400
push eax
push edi
mov byte [ebp - 4], 0x4b
call fcn.00433bd0
add esp, 0x10
lea ecx, [ebp + 0x74]
call dword [0x5307a0]
jmp 0x45d33a
mov ecx, dword [0x7c81c4]
lea eax, [ebp + 0x64]
push eax
call fcn.0043ba10
mov eax, dword [eax]
mov ebx, dword [ebp + 0x5c]
or ebx, 0x80
mov byte [ebp - 4], 0x4c
mov dword [ebp + 0x60], ebx
cmp dword [eax + 4], 0
jg 0x45cfb8
mov ecx, dword [0x7c81c0]
lea eax, [ebp + 0x74]
push eax
call fcn.00494c60
mov ecx, eax
or ebx, 0x100
call dword [0x530608]
mov byte [ebp + 0x73], 0
test eax, eax
jle 0x45cfbc
mov byte [ebp + 0x73], 1
test ebx, 0x100
je 0x45cfcc
lea ecx, [ebp + 0x74]
call fcn.00452db0
lea ecx, [ebp + 0x64]
mov dword [ebp - 4], 0
call dword [0x5307ac]
cmp byte [ebp + 0x73], 0
je 0x45d33a
push 0xffffffffffffffff
push 0
lea eax, [ebp + 0x74]
push str.Are_you_ready_to_start_repairing_airbag_data_
push eax
call fcn.004647e0
push 0x400000
push 0x400
push eax
push edi
mov byte [ebp - 4], 0x4d
call fcn.00433bd0
add esp, 0x20
mov byte [ebp - 4], 0
cmp eax, 0x400000
lea ecx, [ebp + 0x74]
sete bl
call dword [0x5307a0]
test bl, bl
jne 0x45d33a
mov ecx, dword [0x7c81c4]
lea eax, [ebp + 0x74]
push eax
call fcn.0043ba10
lea ecx, [ebp + 0x74]
mov eax, dword [eax]
mov esi, dword [eax + 4]
call dword [0x5307ac]
test esi, esi
jle 0x45d13a
lea ecx, [ebp + 0x6c]
call dword [0x530498]
lea eax, [ebp + 0x6c]
mov byte [ebp - 4], 0x4e
push eax
push ecx
mov ecx, dword [0x7c81c4]
mov eax, esp
mov dword [ebp + 0x58], esp
push eax
call fcn.0043ba10
push ecx
mov ecx, dword [edi + 0x1c]
push esp
mov byte [ebp - 4], 0x4f
call fcn.00447060
mov byte [ebp - 4], 0x4e
call fcn.004316e0
add esp, 0xc
test eax, eax
jne 0x45d10b
lea eax, [ebp + 0x6c]
push eax
cmp byte [edi + 0x30], bl
je 0x45d0a9
mov ecx, dword [edi + 0x1c]
call fcn.00449490
jmp 0x45d331
lea ecx, [ebp + 8]
call fcn.004769c0
mov eax, dword [0x5316b0]
lea ecx, [ebp + 8]
call eax
mov ecx, dword [0x7c81c4]
call fcn.0043b490
test al, al
lea eax, [ebp + 0x74]
je 0x45d0e2
push 0xffffffffffffffff
push 0
push str.The_data_was_repaired_successfully.
push eax
call fcn.004647e0
mov byte [ebp - 4], 0x50
jmp 0x45d121
mov ecx, dword [0x7c81c4]
push eax
call fcn.0043b9f0
push 0
push 0x400
push eax
push edi
mov byte [ebp - 4], 0x51
call fcn.00433bd0
add esp, 0x10
lea ecx, [ebp + 0x74]
jmp 0x45d32b
push 0xffffffffffffffff
push 0
lea eax, [ebp + 0x74]
push str.The_data_repair_failed.
push eax
call fcn.004647e0
mov byte [ebp - 4], 0x52
push 0
push 0x400
push eax
push edi
call fcn.00433bd0
add esp, 0x20
lea ecx, [ebp + 0x74]
jmp 0x45d32b
mov ecx, dword [edi + 0x1c]
lea eax, [ebp + 0x6c]
push eax
call fcn.00447060
mov ecx, dword [0x7c81c0]
lea eax, [ebp + 0x74]
push eax
mov byte [ebp - 4], 0x53
call fcn.00494c60
push eax
lea ecx, [ebp + 0x40]
mov byte [ebp - 4], 0x54
call fcn.00451f40
lea ecx, [ebp + 0x74]
call fcn.00452db0
cmp dword [ebp + 0x4c], 0
je 0x45d244
mov ebx, dword [0x530254]
mov ecx, dword [ebp + 0x44]
cmp ecx, dword [ebp + 0x48]
setne al
test al, al
je 0x45d244
mov esi, dword [ecx]
lea ecx, [ebp + 0x54]
push esi
call dword [0x5307a4]
lea eax, [esi + 4]
push eax
lea ecx, [ebp + 0x58]
call dword [0x5307a4]
cmp dword [ebp + 0x4c], 0
mov byte [ebp - 4], 0x57
je 0x45d21f
push 0x10
push 0
lea ecx, [ebp + 0x54]
call dword [0x530780]
mov esi, eax
lea ecx, [ebp + 0x58]
lea eax, [ebp + 0x74]
push eax
call dword [0x530428]
push eax
lea eax, [ebp + 0x5c]
mov byte [ebp - 4], 0x58
push eax
call dword [0x530448]
add esp, 8
lea ecx, [ebp + 0x74]
mov byte [ebp - 4], 0x5a
call dword [0x5307ac]
mov eax, dword [ebp + 0x5c]
mov edx, dword [eax + 4]
mov eax, dword [ebp + 0x6c]
mov ecx, dword [eax + 4]
lea eax, [edx + esi]
cmp eax, ecx
jg 0x45d2af
lea eax, [ebp + 0x5c]
push eax
push edx
push esi
lea ecx, [ebp + 0x6c]
call ebx
lea ecx, [ebp + 0x5c]
call dword [0x5307ac]
mov dword [ebp + 0x4c], 0
lea ecx, [ebp + 0x58]
call dword [0x5307a0]
lea ecx, [ebp + 0x54]
call dword [0x5307a0]
mov ecx, dword [ebp + 0x44]
add ecx, 4
xor dword [ebp + 0x4c], 1
mov dword [ebp + 0x44], ecx
jne 0x45d181
lea ecx, [ebp + 0x40]
mov byte [ebp - 4], 0x53
call fcn.00452d30
cmp byte [edi + 0x30], 0
lea eax, [ebp + 0x6c]
push eax
jne 0x45d09c
lea ecx, [ebp + 8]
call fcn.004769c0
mov eax, dword [0x5316b0]
lea ecx, [ebp + 8]
call eax
mov ecx, dword [0x7c81c4]
call fcn.0043b490
test al, al
je 0x45d304
push 0xffffffffffffffff
push 0
lea eax, [ebp + 0x74]
push str.The_data_was_repaired_successfully.
push eax
call fcn.004647e0
push 0
push 0x400
push eax
push edi
mov byte [ebp - 4], 0x5c
call fcn.00433bd0
add esp, 0x20
lea ecx, [ebp + 0x74]
jmp 0x45d32b
push 0xffffffffffffffff
push 0
lea eax, [ebp + 0x64]
push str.The_repair_failed.
push eax
call fcn.004647e0
push 0
push 0x400
push eax
push edi
mov byte [ebp - 4], 0x5b
call fcn.00433bd0
add esp, 0x20
lea ecx, [ebp + 0x64]
call dword [0x5307a0]
lea ecx, [ebp + 0x5c]
call dword [0x5307ac]
lea ecx, [ebp + 0x58]
call dword [0x5307a0]
lea ecx, [ebp + 0x54]
call dword [0x5307a0]
lea ecx, [ebp + 0x40]
call fcn.00452d30
jmp 0x45d331
mov ecx, dword [0x7c81c4]
lea eax, [ebp + 0x64]
push eax
call fcn.0043b9f0
push 0
push 0x400
push eax
push edi
mov byte [ebp - 4], 0x5d
call fcn.00433bd0
add esp, 0x10
lea ecx, [ebp + 0x64]
call dword [0x5307a0]
lea ecx, [ebp + 0x6c]
call dword [0x5307ac]
lea ecx, [ebp + 8]
call fcn.004759d0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x78]
pop ebp
ret