Function at 0x4c4450
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4ff8fe
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x12aa4
call fcn.004e6a80
mov eax, dword [0x519bc0]
xor eax, esp
mov dword [esp + 0x12aa0], eax
push ebx
push esi
push edi
mov eax, dword [0x519bc0]
xor eax, esp
push eax
lea eax, [esp + 0x12ab8]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
call dword [0x5011ec]
push eax
mov eax, dword [str.InterfaceConvertProfile]
push eax
push str._s_u
push 0x572b80
mov edx, 0xc8
call fcn.00497580
add esp, 0x10
lea ecx, [esp + 0x6fc]
call fcn.0048fa30
mov dword [esp + 0x12ac0], 1
xor ebx, ebx
mov byte [esp + 0x178c], bl
cmp byte [0x53d329], bl
je 0x4c45bd
push 0x800
lea ecx, [esp + 0xfab0]
push ecx
mov ecx, 0x54be10
call fcn.0047b060
push 0x10e8
lea edx, [esp + 0x27e0]
push ebx
push edx
call fcn.004e7970
add esp, 0xc
xor eax, eax
jmp 0x4c4520
movzx ecx, word [esp + eax + 0xfaac]
mov word [esp + eax + 0x27dc], cx
add eax, 2
cmp cx, bx
jne 0x4c4520
push ebx
lea eax, [esp + 0x1798]
push eax
lea ecx, [esp + 0xfab4]
push ecx
mov dword [esp + 0x27b0], ebx
mov dword [esp + 0x27b4], ebx
mov dword [esp + 0x27b8], ebx
mov dword [esp + 0x27bc], ebx
mov dword [esp + 0x27c0], ebx
mov dword [esp + 0x27c4], ebx
call fcn.004470d0
test al, al
je 0x4c4598
mov edx, dword [esp + 0x2794]
mov eax, dword [esp + 0x2798]
mov dword [esp + 0x385c], edx
mov dword [esp + 0x3860], eax
lea ecx, [esp + 0x27dc]
push ecx
lea ecx, [esp + 0x700]
call fcn.0048f7f0
lea ecx, [esp + 0x6fc]
call fcn.0048f950
jmp 0x4c4673
lea ecx, [esp + 0x4c]
call fcn.00469ab0
mov byte [esp + 0x12ac0], 2
lea edi, [esp + 0x4c]
cmp esi, ebx
je 0x4c45da
mov edi, esi
jmp 0x4c45eb
push 1
lea edx, [esp + 0x50]
push edx
mov ecx, 0x549cc0
call fcn.00493d30
push ebx
push ebx
push ebx
push ebx
push 1
push 1
lea eax, [esp + 0x714]
push eax
push 3
push edi
call fcn.0049fe30
test al, al
jne 0x4c4634
mov byte [esp + 0x12ac0], 1
lea ecx, [esp + 0x4c]
call fcn.0041e210
mov dword [esp + 0x12ac0], 0xffffffff
lea ecx, [esp + 0x6fc]
call fcn.004c1ba0
jmp 0x4c5881
xor esi, esi
cmp dword [esp + 0x768], ebx
jbe 0x4c465a
nop
push esi
lea ecx, [esp + 0x700]
call fcn.0048f9f0
inc esi
mov dword [eax + 4], ebx
cmp esi, dword [esp + 0x768]
jb 0x4c4640
mov byte [esp + 0x12ac0], 1
mov eax, dword [esp + 0x4c]
cmp eax, ebx
je 0x4c4673
push eax
call fcn.004e68b2
add esp, 4
mov ecx, dword [str.InterfaceConvertProfile]
push 0x572b80
push ecx
call fcn.0049ca00
mov edx, dword [0x53f484]
push edx
mov byte [esp + 0x19], 0
call dword [0x501638]
mov edx, dword [0x531154]
neg eax
lea ecx, [esp + 0x6fc]
push ecx
sbb eax, eax
and eax, dword [0x53f484]
push 0x4c1bf0
push eax
push str.CONVERTARC
push edx
mov dword [esp + 0x38], ebx
call dword [0x501630]
test eax, eax
je 0x4c5839
push ebx
push str.Background
push 0x572b80
call fcn.0049c510
test eax, eax
jne 0x4c46f8
cmp dword [0x53e344], 1
jne 0x4c46f1
cmp byte [0x559bbb], al
jne 0x4c46f8
mov byte [esp + 0x1c], 0
jmp 0x4c46fd
mov byte [esp + 0x1c], 1
mov eax, dword [esp + 0x1c]
push ebx
push eax
push ebx
push 9
call fcn.004b7db0
push 0x800
lea ecx, [esp + 0x10ab0]
push ecx
call fcn.004b4e00
lea ecx, [esp + 0x4ec]
call fcn.00466ba0
mov byte [esp + 0x12ac0], 4
cmp byte [0x53d329], 0
je 0x4c474f
mov ecx, 0x40
mov esi, 0x54c1aa
lea edi, [esp + 0x4ec]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
xor edi, edi
xor esi, esi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [0x53e3c8], ebx
mov dword [0x53e3cc], ebx
mov dword [esp + 0x3c], edi
cmp dword [esp + 0x768], ebx
jbe 0x4c47b4
lea esp, [esp]
push esi
lea ecx, [esp + 0x700]
call fcn.0048f9f0
test byte [eax + 4], 2
je 0x4c47a6
mov edx, dword [eax + 8]
add dword [0x53e3c8], edx
mov eax, dword [eax + 0xc]
adc dword [0x53e3cc], eax
inc edi
inc esi
cmp esi, dword [esp + 0x768]
jb 0x4c4780
mov dword [esp + 0x3c], edi
mov edx, dword [esp + 0x3c]
push 0x880
lea ecx, [esp + 0xd9b0]
push ecx
xor esi, esi
push esi
push edx
call fcn.004a3b60
mov ecx, dword [0x53d324]
mov ebx, dword [0x50165c]
lea eax, [esp + 0xd9ac]
push eax
push 0x65
push ecx
call ebx
or edi, 0xffffffff
cmp byte [0x53e3e9], 0
mov dword [0x53f3f8], esi
mov dword [0x53f3fc], esi
mov dword [esp + 0x20], esi
jne 0x4c5733
cmp byte [0x53d328], 0
jne 0x4c574a
mov eax, dword [esp + 0x24]
push 0x880
lea edx, [esp + 0xd9b0]
push edx
push 0
push eax
call fcn.004a3b60
mov edx, dword [0x53d324]
lea ecx, [esp + 0xd9ac]
push ecx
push 0x66
push edx
call ebx
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
push 0x880
lea eax, [esp + 0xd9b0]
push eax
push ecx
push edx
call fcn.004a3b60
mov ecx, dword [0x53d324]
lea eax, [esp + 0xd9ac]
push eax
push 0x67
push ecx
call ebx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
push 0x880
lea edx, [esp + 0xd9b0]
push edx
push eax
push ecx
call fcn.004a3b60
mov eax, dword [0x53d324]
lea edx, [esp + 0xd9ac]
push edx
push 0x68
push eax
call ebx
cmp edi, 0xffffffff
je 0x4c48d2
push edi
lea ecx, [esp + 0x27e0]
push ecx
lea ecx, [esp + 0x704]
call fcn.0048fb20
mov edx, dword [eax + 0x1080]
add dword [0x53f3f8], edx
mov eax, dword [eax + 0x1084]
adc dword [0x53f3fc], eax
or edi, 0xffffffff
call fcn.004b6fe0
mov ecx, dword [esp + 0x20]
cmp ecx, dword [esp + 0x768]
jge 0x4c5733
mov edx, ecx
push edx
lea ecx, [esp + 0x700]
call fcn.0048f9f0
mov esi, eax
test byte [esi + 4], 2
mov dword [esp + 0x18], esi
je 0x4c5722
cmp byte [esp + 0x1785], 0
mov edi, dword [esp + 0x20]
mov dword [esp + 0x48], edi
je 0x4c493a
test byte [esi + 0x28], 0x10
je 0x4c493a
push 0x50e
call fcn.00463430
push eax
mov eax, dword [esi]
push eax
call fcn.004c2fe0
add esp, 8
jmp 0x4c5722
cmp byte [0x53d329], 0
je 0x4c4967
mov ecx, 0x40
lea esi, [esp + 0x4ec]
mov edi, 0x54c1aa
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x18]
mov byte [0x54c2ac], 1
mov ecx, dword [esi]
push 1
push 0
push ecx
mov ecx, 0x54be10
call fcn.0047c680
cmp eax, 1
jne 0x4c5722
lea edx, [esp + 0x10c]
push edx
mov ecx, 0x54be10
call fcn.0047b090
xor eax, eax
push eax
mov dword [esp + 0x27a8], eax
mov dword [esp + 0x27ac], eax
mov dword [esp + 0x27b0], eax
mov dword [esp + 0x27b4], eax
mov dword [esp + 0x27b8], eax
mov dword [esp + 0x27bc], eax
mov ecx, dword [esi]
lea eax, [esp + 0x1798]
push eax
push ecx
call fcn.004470d0
test al, al
je 0x4c5722
cmp byte [esp + 0x1785], 0
je 0x4c4a11
cmp byte [esp + 0x2f8], 0
jne 0x4c49f6
cmp byte [esp + 0x247], 0
je 0x4c4a11
push 0x50e
call fcn.00463430
mov edx, dword [esi]
push eax
push edx
call fcn.004c2fe0
add esp, 8
jmp 0x4c5722
push 1
push 0x800
lea eax, [esp + 0xeab4]
push eax
push str.Rar_CV
call fcn.004b4450
test al, al
je 0x4c5722
lea ecx, [esp + 0xeaac]
push ecx
call fcn.004b4da0
push 1
call fcn.004b0260
mov edx, dword [esp + 0x3c]
push 0x800
push 0x55ac02
mov ecx, 0x54be10
mov dword [0x53e3d4], edx
call fcn.0047b060
mov eax, dword [0x54be14]
mov dword [0x557bb0], eax
mov eax, 4
push 0x502a18
mov ecx, 0x55bc04
mov dword [0x555924], 1
mov dword [0x556ba0], eax
mov dword [0x556ba4], eax
call fcn.00469920
push 0x55ac02
push 0x20f
call fcn.00463430
push eax
call fcn.004b5690
mov ecx, dword [0x575d18]
add esp, 8
cmp byte [0x556b99], 0
mov dword [esp + 0x1c], ecx
je 0x4c4acd
mov byte [0x556b99], 0
mov byte [esp + 0x15], 1
push 1
push 0
mov ecx, 0x54be10
call fcn.0047d350
cmp byte [0x53d328], 0
jne 0x4c56fe
mov edx, dword [esp + 0x1c]
cmp edx, dword [0x575d18]
jne 0x4c56fe
push 0x572b80
call fcn.004b06d0
mov eax, dword [0x555978]
xor edi, edi
mov dword [esp + 0x44], eax
mov byte [0x555ad1], 0
cmp word [0x552806], di
jne 0x4c4b82
push edi
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x30]
push edx
mov ecx, 0x54be10
mov dword [esp + 0x34], edi
mov dword [esp + 0x4c], edi
call fcn.0047b8d0
cmp dword [esp + 0x40], edi
jbe 0x4c4b75
push 0x800
push 0x552806
push str.Rar_CM
call fcn.004b4380
mov esi, eax
cmp esi, edi
je 0x4c4b75
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
push esi
push eax
push 1
push ecx
call fcn.004eaff9
push esi
call fcn.004eae1b
add esp, 0x14
mov edx, dword [esp + 0x28]
push edx
call fcn.004e7a24
add esp, 4
mov esi, dword [esp + 0x18]
mov ecx, dword [esi]
push 0x800
lea eax, [esp + 0x11ab0]
push eax
push ecx
call fcn.004537b0
push 0x800
lea edx, [esp + 0x788]
push edx
lea eax, [esp + 0xb9b4]
push eax
call fcn.004694f0
cmp word [esp + 0xb9ac], di
je 0x4c4bd1
push 0x800
lea ecx, [esp + 0xb9b0]
push ecx
call fcn.00452cf0
mov edx, dword [esi]
push edx
call fcn.00490b70
mov byte [esp + 0x14], al
mov ebx, 0x502a28
cmp dword [0x557bb0], edi
je 0x4c4bef
mov ebx, 0x502274
cmp word [0x550800], 0
je 0x4c4bfe
mov ebx, 0x502a30
mov esi, dword [esp + 0x18]
mov ecx, dword [esi]
push ebx
xor eax, eax
push ecx
mov word [esp + 0xa9b4], ax
call fcn.00453770
test al, al
je 0x4c4cf7
cmp word [esp + 0xb9ac], 0
je 0x4c4c45
lea edx, [esp + 0x11aac]
push edx
lea eax, [esp + 0xb9b0]
push eax
call fcn.0046c9a0
test eax, eax
jne 0x4c4cf7
push 1
push 0x800
lea ecx, [esp + 0xa9b4]
push ecx
push str.Rar_CV
mov byte [esp + 0x26], 1
call fcn.004b4450
mov edx, dword [esi]
push 0x800
push 0x55ac02
push edx
call fcn.00453550
push eax
lea eax, [esp + 0xa9b8]
push eax
call fcn.00452d40
push 0x55ac02
call fcn.00453750
mov esi, eax
test esi, esi
je 0x4c4e11
xor ecx, ecx
push 0x55ac02
mov word [esi], cx
call fcn.00453750
mov edx, 0x2e
mov word [esi], dx
test eax, eax
je 0x4c4e11
cmp byte [esp + 0x14], 0
je 0x4c4e11
cmp dword [esp + 0x24c], 0
jne 0x4c4e11
cmp byte [esp + 0x22e], 0
je 0x4c4e11
mov edx, eax
mov ecx, esi
sub edx, esi
movzx eax, word [ecx]
mov word [edx + ecx], ax
add ecx, 2
test ax, ax
jne 0x4c4ce3
jmp 0x4c4e11
cmp word [esp + 0xb9ac], 0
mov byte [esp + 0x16], 0
je 0x4c4d64
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0xb9ac]
mov word [eax + 0x55ac02], cx
add eax, 2
test cx, cx
jne 0x4c4d10
mov eax, dword [esi]
push eax
call fcn.00453550
mov edx, eax
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4c4d31
mov edi, 0x55ac02
sub eax, edx
add edi, 0xfffffffe
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4c4d46
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x4c4d81
mov ecx, dword [esi]
mov edx, 0x55ac02
jmp 0x4c4d70
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x4c4d70
push 0x55ac02
call fcn.00453750
mov esi, eax
test esi, esi
je 0x4c4dd6
xor ecx, ecx
push 0x55ac02
mov word [esi], cx
call fcn.00453750
test eax, eax
je 0x4c4dce
push str..tar
push eax
call fcn.0046c9a0
test eax, eax
je 0x4c4dd6
cmp byte [esp + 0x14], 0
je 0x4c4dce
cmp dword [esp + 0x24c], 0
jne 0x4c4dce
cmp byte [esp + 0x22e], 0
jne 0x4c4dd6
mov edx, 0x2e
mov word [esi], dx
push 0x800
push ebx
push 0x55ac02
call fcn.00453f50
push 0x55ac02
call fcn.00445500
test al, al
je 0x4c4e11
push 0x50d
call fcn.00463430
push eax
push 0x55ac02
call fcn.004c2fe0
add esp, 8
mov byte [esp + 0x16], 1
mov esi, dword [esp + 0x1c]
cmp esi, dword [0x575d18]
jne 0x4c4e75
lea eax, [esp + 0xeaac]
push eax
call fcn.004b4da0
push 0x502a18
mov ecx, 0x55bc04
mov dword [0x555950], 3
mov dword [0x55594c], 2
mov byte [0x55598e], 0
call fcn.00469920
cmp byte [0x556b99], 0
je 0x4c4e69
mov byte [0x556b99], 0
mov byte [esp + 0x15], 1
push 0
mov ecx, 0x54be10
call fcn.0047cfb0
cmp word [0x552806], 0
je 0x4c4e89
push 0x552806
call fcn.004b4670
cmp byte [0x53d328], 0
mov byte [esp + 0x17], 0
jne 0x4c56d5
cmp esi, dword [0x575d18]
jne 0x4c56d5
mov ecx, 0x40
mov esi, 0x554818
mov edi, 0x54c1aa
rep movsd dword es:[edi], dword [esi]
push 1
push 0
movsw word es:[edi], word [esi]
push 0x55ac02
mov ecx, 0x54be10
mov byte [0x54c2ac], 1
call fcn.0047c680
cmp eax, 1
jne 0x4c56d5
lea ecx, [esp + 0x2fc]
push ecx
mov ecx, 0x54be10
call fcn.0047b090
mov eax, dword [esp + 0x2e4]
mov ecx, dword [esp + 0x2e8]
cmp eax, dword [esp + 0x4d4]
jne 0x4c4f0f
cmp ecx, dword [esp + 0x4d8]
je 0x4c4f51
or eax, ecx
je 0x4c4f51
push 0x501c9c
lea edx, [esp + 0x110]
push edx
call fcn.0046c9a0
test eax, eax
jne 0x4c4f32
cmp byte [esp + 0x22e], al
jne 0x4c4f51
push 0x50a
call fcn.00463430
push eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
call fcn.004c2fe0
add esp, 8
jmp 0x4c56d5
mov eax, dword [esp + 0x1788]
xor ebx, ebx
cmp eax, ebx
je 0x4c4fbf
mov ecx, dword [esp + 0x2f0]
push ecx
mov ecx, dword [esp + 0x2f0]
cdq
push ecx
push edx
push eax
call fcn.004e79f0
push ebx
mov esi, edx
mov edx, dword [esp + 0x4e4]
push 0x64
mov edi, eax
mov eax, dword [esp + 0x4e4]
push edx
push eax
call fcn.004e79f0
cmp esi, edx
jg 0x4c4fbf
jl 0x4c4f9c
cmp edi, eax
jae 0x4c4fbf
push 0x55ac02
call fcn.00453550
push eax
push 0x50f
call fcn.00463430
push eax
call fcn.004b5690
add esp, 8
jmp 0x4c56d5
mov ecx, 0x40
mov esi, 0x554818
lea edi, [esp + 0x5f4]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov byte [esp + 0x12ac0], 5
push 1
call fcn.004b0260
mov ecx, 0x40
lea esi, [esp + 0x5f4]
mov edi, 0x554818
rep movsd dword es:[edi], dword [esi]
push 0x800
push 0x55ac02
mov ecx, 0x54be10
movsw word es:[edi], word [esi]
call fcn.0047b060
mov ecx, dword [0x54be14]
mov dword [0x557bb0], ecx
push 0x502a18
mov ecx, 0x55bc04
mov byte [0x555ad1], 1
mov dword [0x555ab0], ebx
mov dword [0x555ab4], ebx
mov dword [0x555ab8], ebx
mov dword [0x555abc], ebx
call fcn.00469920
push 0x55ac02
call fcn.00453550
push eax
push 0x210
call fcn.00463430
push eax
call fcn.004b5690
add esp, 8
cmp byte [0x556b99], 0
je 0x4c5079
mov byte [0x556b99], 0
mov byte [esp + 0x15], 1
push ebx
push ebx
mov ecx, 0x54be10
call fcn.0047d350
cmp byte [0x53d328], 0
jne 0x4c56ba
mov edx, dword [esp + 0x1c]
cmp edx, dword [0x575d18]
jne 0x4c56ba
mov eax, dword [esp + 0x4d4]
or eax, dword [esp + 0x4d8]
jne 0x4c50d6
cmp dword [esp + 0x2798], ebx
ja 0x4c50c8
cmp dword [esp + 0x2794], 0x200
jb 0x4c50d6
cmp dword [esp + 0x2d4], 1
jbe 0x4c56ba
mov eax, dword [esp + 0x1788]
cmp eax, ebx
je 0x4c5127
mov ecx, dword [esp + 0x2f0]
push ecx
mov ecx, dword [esp + 0x2f0]
cdq
push ecx
push edx
push eax
call fcn.004e79f0
push ebx
mov esi, edx
mov edx, dword [esp + 0x4e4]
push 0x64
mov edi, eax
mov eax, dword [esp + 0x4e4]
push edx
push eax
call fcn.004e79f0
cmp esi, edx
jl 0x4c56ba
jg 0x4c5127
cmp edi, eax
jb 0x4c56ba
push 0x55ac02
mov byte [esp + 0x1b], 1
call fcn.00453550
push eax
push 0x25a
call fcn.00463430
push eax
call fcn.004b5690
inc dword [esp + 0x2c]
mov ecx, dword [esp + 0x2f4]
mov edx, dword [esp + 0x2f8]
mov eax, dword [esp + 0x4e4]
add esp, 8
add dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x4e0]
adc dword [esp + 0x30], edx
add dword [esp + 0x34], eax
adc dword [esp + 0x38], ecx
cmp byte [esp + 0x16], 0
je 0x4c5534
mov esi, dword [esp + 0x18]
mov edx, dword [esi]
push ebx
push 1
push edx
mov ecx, 0x54be10
call fcn.0047c680
cmp eax, 1
jne 0x4c56ba
lea ecx, [esp + 0x4c]
call fcn.00469ab0
mov byte [esp + 0x12ac0], 6
mov eax, dword [esi]
lea edx, [esp + 0x89ac]
sub edx, eax
mov edi, edi
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, bx
jne 0x4c51c0
mov esi, dword [0x50134c]
mov byte [esp + 0x14], 0
lea ebx, [ebx]
lea eax, [esp + 0x89ac]
push eax
lea ecx, [esp + 0x79b0]
push str._s._cvtbackup_
push ecx
mov edx, 0x800
call fcn.00497580
add esp, 0xc
lea edx, [esp + 0x79ac]
push edx
lea eax, [esp + 0x89b0]
push eax
call esi
test eax, eax
je 0x4c53c4
lea ecx, [esp + 0x89ac]
push ecx
lea ecx, [esp + 0x50]
call fcn.00469920
lea edx, [esp + 0x79ac]
push edx
lea ecx, [esp + 0x50]
call fcn.00469920
mov ecx, 0x54be10
call fcn.0047b080
test eax, eax
je 0x4c527c
push 0x800
lea eax, [esp + 0x89b0]
push eax
mov ecx, 0x54be10
call fcn.0047bb40
test al, al
je 0x4c527c
lea ecx, [esp + 0x89ac]
push ecx
call fcn.00445500
test al, al
jne 0x4c51e0
cmp word [esp + 0xa9ac], bx
je 0x4c53f8
lea ecx, [esp + 0xac]
call fcn.00469ab0
mov byte [esp + 0x12ac0], 7
lea edx, [esp + 0xa9ac]
push edx
lea ecx, [esp + 0xb0]
call fcn.00469920
lea ecx, [esp + 0x27dc]
call fcn.00403620
push ebx
push ebx
push ebx
lea eax, [esp + 0xb8]
push eax
lea ecx, [esp + 0x38d4]
call fcn.004658d0
mov byte [esp + 0x12ac0], 8
lea ecx, [esp + 0x27dc]
push ecx
lea ecx, [esp + 0x38c8]
call fcn.00466790
test eax, eax
jne 0x4c53d0
mov edi, dword [0x5013e0]
mov ebx, dword [0x5013c8]
jmp 0x4c5310
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
lea edx, [esp + 0x79ac]
sub edx, eax
nop
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4c5320
push 0x800
lea eax, [esp + 0x27e0]
push eax
call fcn.00453550
push eax
lea ecx, [esp + 0x79b4]
push ecx
call fcn.00453720
lea edx, [esp + 0x79ac]
push edx
lea eax, [esp + 0x27e0]
push eax
call dword [0x50134c]
test eax, eax
je 0x4c53cb
cmp dword [esp + 0x44], 1
jne 0x4c53a6
push 0
push 0
push 3
push 0
push 0
push 0x40000000
lea ecx, [esp + 0x79c4]
push ecx
call edi
mov esi, eax
cmp esi, 0xffffffff
je 0x4c53a6
lea edx, [esp + 0x3814]
push edx
push 0
push 0
push esi
call ebx
push esi
call dword [0x5013d0]
lea eax, [esp + 0x27dc]
push eax
lea ecx, [esp + 0x38c8]
call fcn.00466790
test eax, eax
je 0x4c5310
jmp 0x4c53d0
mov byte [esp + 0x14], 1
jmp 0x4c53f8
mov byte [esp + 0x14], 1
mov byte [esp + 0x12ac0], 7
lea ecx, [esp + 0x38c4]
call fcn.004659b0
mov byte [esp + 0x12ac0], 6
lea ecx, [esp + 0xac]
call fcn.0041e210
xor bl, bl
cmp byte [esp + 0x1784], bl
jne 0x4c5475
push 0x800
lea ecx, [esp + 0xc9b0]
push ecx
lea ecx, [esp + 0x54]
mov bl, 1
call fcn.00469b30
test al, al
je 0x4c546c
push 0x800
lea edx, [esp + 0x99b0]
push edx
lea ecx, [esp + 0x54]
call fcn.00469b30
test al, al
je 0x4c546c
lea eax, [esp + 0xc9ac]
push eax
call fcn.00445500
test al, al
jne 0x4c546a
push 0x800
lea ecx, [esp + 0xc9b0]
push ecx
lea ecx, [esp + 0x54]
call fcn.00469b30
test al, al
jne 0x4c5423
jmp 0x4c546c
xor bl, bl
lea ecx, [esp + 0x4c]
call fcn.004698a0
push 0x800
lea edx, [esp + 0xc9b0]
push edx
lea ecx, [esp + 0x54]
call fcn.00469b30
test al, al
je 0x4c551e
mov esi, dword [0x50134c]
lea esp, [esp]
push 0x800
lea eax, [esp + 0x99b0]
push eax
lea ecx, [esp + 0x54]
call fcn.00469b30
test al, al
je 0x4c551e
cmp byte [esp + 0x14], 0
jne 0x4c54e1
test bl, bl
jne 0x4c54f2
lea ecx, [esp + 0x99ac]
push ecx
call fcn.00445520
lea edx, [esp + 0x99ac]
push edx
call fcn.00445150
jmp 0x4c5504
test bl, bl
jne 0x4c54f2
lea eax, [esp + 0xc9ac]
push eax
call fcn.00445150
lea ecx, [esp + 0xc9ac]
push ecx
lea edx, [esp + 0x99b0]
push edx
call esi
push 0x800
lea eax, [esp + 0xc9b0]
push eax
lea ecx, [esp + 0x54]
call fcn.00469b30
test al, al
jne 0x4c54a0
mov byte [esp + 0x12ac0], 5
lea ecx, [esp + 0x4c]
call fcn.0041e210
jmp 0x4c56ba
cmp byte [esp + 0x1784], 0
je 0x4c55f5
mov esi, dword [esp + 0x18]
mov ecx, dword [esi]
push ebx
push 1
push ecx
mov ecx, 0x54be10
call fcn.0047c680
cmp eax, 1
jne 0x4c55f5
mov eax, dword [esi]
lea edx, [esp + 0x89ac]
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, bx
jne 0x4c5570
nop
lea edx, [esp + 0x89ac]
push edx
call fcn.00453550
push eax
push 0x258
call fcn.00463430
push eax
call fcn.004b5690
add esp, 8
lea eax, [esp + 0x89ac]
push eax
call fcn.00445520
lea ecx, [esp + 0x89ac]
push ecx
call fcn.00445150
mov ecx, 0x54be10
call fcn.0047b080
test eax, eax
je 0x4c55f5
push 0x800
lea edx, [esp + 0x89b0]
push edx
mov ecx, 0x54be10
call fcn.0047bb40
test al, al
je 0x4c55f5
lea eax, [esp + 0x89ac]
push eax
call fcn.00445500
test al, al
jne 0x4c5580
push ebx
push 1
push 0x55ac02
mov ecx, 0x54be10
call fcn.0047c680
cmp eax, 1
jne 0x4c56ba
xor eax, eax
jmp 0x4c5620
movzx ecx, word [eax + 0x55ac02]
mov word [esp + eax + 0x79ac], cx
add eax, 2
cmp cx, bx
jne 0x4c5620
mov edi, dword [0x5013e0]
mov ebx, dword [0x5013c8]
cmp dword [esp + 0x44], 1
jne 0x4c5680
push 0
push 0
push 3
push 0
push 0
push 0x40000000
lea ecx, [esp + 0x79c4]
push ecx
call edi
mov esi, eax
cmp esi, 0xffffffff
je 0x4c5680
lea edx, [esp + 0x27cc]
push edx
push 0
push 0
push esi
call ebx
push esi
call dword [0x5013d0]
mov ecx, 0x54be10
call fcn.0047b080
test eax, eax
je 0x4c56ba
push 0x800
lea eax, [esp + 0x79b0]
push eax
mov ecx, 0x54be10
call fcn.0047bb40
test al, al
je 0x4c56ba
lea ecx, [esp + 0x79ac]
push ecx
call fcn.00445500
test al, al
jne 0x4c5643
mov byte [esp + 0x12ac0], 4
lea ecx, [esp + 0x5f4]
call fcn.00466bc0
cmp byte [esp + 0x17], 0
jne 0x4c56e6
cmp byte [esp + 0x16], 0
jne 0x4c56e6
push 0x55ac02
call fcn.00445150
cmp word [esp + 0xa9ac], 0
je 0x4c56fe
lea edx, [esp + 0xa9ac]
push edx
call fcn.004b4a30
lea eax, [esp + 0x10aac]
push eax
call fcn.004b4da0
lea ecx, [esp + 0xeaac]
push ecx
call fcn.004b4a30
mov edi, dword [esp + 0x48]
mov ebx, dword [0x50165c]
inc dword [esp + 0x20]
cmp byte [0x53e3e9], 0
je 0x4c4807
cmp byte [0x53d328], 0
jne 0x4c574a
cmp byte [0x53e3e9], 0
mov eax, 0x4d0
je 0x4c574f
mov eax, 0x271
push eax
call fcn.00463430
push eax
call fcn.004b5690
add esp, 4
cmp byte [0x53e3e9], 0
je 0x4c5776
mov edx, dword [0x53d324]
push edx
call dword [0x501660]
jmp 0x4c5790
push 0
push 0
push 0
push 0
push 0
push 1
push 0
push 1
call fcn.004b63e0
call fcn.004b57a0
mov al, byte [0x53d329]
test al, al
je 0x4c57e7
mov ecx, 0x40
lea esi, [esp + 0x4ec]
mov edi, 0x54c1aa
rep movsd dword es:[edi], dword [esi]
push 0
push 0
lea eax, [esp + 0xfab4]
movsw word es:[edi], word [esi]
push eax
mov ecx, 0x54be10
mov byte [0x54c2ac], 1
call fcn.0047c680
cmp eax, 1
je 0x4c57de
mov ecx, 0x549cc0
call fcn.004927d0
test al, al
jne 0x4c57ee
mov al, byte [0x53d329]
test al, al
jne 0x4c5809
cmp dword [esp + 0x24], 0
jbe 0x4c5805
push 0x55ac02
call fcn.00453550
push eax
mov ecx, 0x549cc0
call fcn.00494b40
jmp 0x4c5825
test al, al
je 0x4c5825
cmp dword [esp + 0x24], 0
jbe 0x4c5825
push 0x55ac02
call fcn.00453550
push eax
mov ecx, 0x549cc0
call fcn.00493f90
mov byte [esp + 0x12ac0], 1
lea ecx, [esp + 0x4ec]
call fcn.00466bc0
cmp byte [esp + 0x178c], 0
je 0x4c5854
mov ecx, dword [str.InterfaceConvertProfile]
push ecx
push 0x572b80
call fcn.0049ca00
push 0x572b80
call fcn.0049cb00
cmp byte [esp + 0x15], 0
je 0x4c586a
call fcn.004b46c0
mov dword [esp + 0x12ac0], 0xffffffff
lea ecx, [esp + 0x6fc]
call fcn.0047bbb0
mov ecx, dword [esp + 0x12ab8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x12aa0]
xor ecx, esp
call fcn.004e6a64
mov esp, ebp
pop ebp
ret 4