Function at 0x49a060
Capabilities:
Move file
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x4c4227
mov eax, dword fs:[0]
push eax
mov eax, 0x735c
call fcn.004af840
mov eax, dword [0x4d8620]
xor eax, esp
mov dword [esp + 0x7358], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4d8620]
xor eax, esp
push eax
lea eax, [esp + 0x7370]
mov dword fs:[0], eax
mov esi, dword [esp + 0x7380]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
mov eax, dword [str.InterfaceConvertProfile]
push eax
push str._s_u
push 0x566320
mov edx, 0xc8
call fcn.004a5f50
add esp, 0x10
lea ecx, [esp + 0x394]
call fcn.00443620
mov ebx, 1
mov dword [esp + 0x7378], ebx
xor ebp, ebp
cmp byte [0x526d89], 0
mov byte [esp + 0xc68], 0
je 0x49a1c8
push 0x400
lea ecx, [esp + 0x6b70]
push ecx
mov ecx, 0x52dfe8
call fcn.00412e90
push 0x830
lea edx, [esp + 0xc70]
push ebp
push edx
call fcn.004af870
add esp, 0xc
xor eax, eax
jmp 0x49a130
movzx ecx, word [esp + eax + 0x6b6c]
mov word [esp + eax + 0xc6c], cx
add eax, 2
cmp cx, bp
jne 0x49a130
lea ecx, [esp + 0x20b0]
call fcn.00472610
lea ecx, [esp + 0x20d4]
call fcn.00472610
lea ecx, [esp + 0x20f8]
call fcn.00472610
push ebp
lea eax, [esp + 0x14a0]
push eax
lea ecx, [esp + 0x6b74]
push ecx
push ebp
call fcn.00437bb0
test al, al
je 0x49a1a3
mov edx, dword [esp + 0x209c]
mov eax, dword [esp + 0x20a0]
mov dword [esp + 0x146c], edx
mov dword [esp + 0x1470], eax
lea ecx, [esp + 0xc6c]
push ecx
lea ecx, [esp + 0x398]
call fcn.00443230
lea ecx, [esp + 0x394]
call fcn.004434a0
jmp 0x49a27c
lea ecx, [esp + 0x4c]
call fcn.0046fbd0
mov byte [esp + 0x7378], 2
lea edi, [esp + 0x4c]
cmp esi, ebp
je 0x49a1e5
mov edi, esi
jmp 0x49a1f5
push ebp
lea edx, [esp + 0x50]
push edx
mov ecx, 0x52d6c0
call fcn.00444ad0
push ebp
push ebp
push ebp
push ebx
push ebx
lea eax, [esp + 0x3a8]
push eax
push 3
push edi
call fcn.004686b0
test al, al
jne 0x49a23b
mov byte [esp + 0x7378], 1
lea ecx, [esp + 0x4c]
call fcn.00401a70
mov dword [esp + 0x7378], 0xffffffff
lea ecx, [esp + 0x394]
call fcn.00496fe0
jmp 0x49b401
xor esi, esi
cmp dword [esp + 0x448], ebp
jbe 0x49a26b
jmp 0x49a250
push esi
lea ecx, [esp + 0x398]
call fcn.004435c0
add esi, ebx
mov dword [eax + 4], ebp
cmp esi, dword [esp + 0x448]
jb 0x49a250
mov byte [esp + 0x7378], 1
lea ecx, [esp + 0x4c]
call fcn.00401a70
mov ecx, dword [str.InterfaceConvertProfile]
push 0x566320
push ecx
call fcn.00460190
mov edx, dword [0x527edc]
push edx
mov byte [esp + 0x1a], 0
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov edx, dword [0x513900]
neg eax
lea ecx, [esp + 0x394]
push ecx
sbb eax, eax
and eax, dword [0x527edc]
push 0x497030
push eax
push str.CONVERTARC
push edx
mov dword [esp + 0x38], ebp
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x49b3b9
push ebp
push str.Background
push 0x566320
call fcn.0045fe70
test eax, eax
jne 0x49a300
cmp dword [0x5275a4], ebx
jne 0x49a2f9
cmp byte [0x535243], al
jne 0x49a300
mov byte [esp + 0x1c], 0
jmp 0x49a305
mov byte [esp + 0x1c], 1
mov eax, dword [esp + 0x1c]
push ebp
push eax
push ebp
push 8
call fcn.0048dc40
push 0x400
lea ecx, [esp + 0xc70]
push ecx
call fcn.0048b200
xor edi, edi
xor esi, esi
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ebp
mov dword [0x527620], ebp
mov dword [0x527624], ebp
mov dword [esp + 0x44], edi
cmp dword [esp + 0x448], ebp
jbe 0x49a388
push esi
lea ecx, [esp + 0x398]
call fcn.004435c0
test byte [eax + 4], 2
je 0x49a379
mov edx, dword [eax + 8]
add dword [0x527620], edx
mov eax, dword [eax + 0xc]
adc dword [0x527624], eax
add edi, ebx
add esi, ebx
cmp esi, dword [esp + 0x448]
jb 0x49a352
mov dword [esp + 0x44], edi
push 0x480
lea ecx, [esp + 0x2940]
push ecx
push ebp
push edi
call fcn.0044a870
mov eax, dword [0x526d84]
mov esi, dword [sym.imp.USER32.dll_SetDlgItemTextW]
lea edx, [esp + 0x293c]
push edx
push 0x65
push eax
call esi
or edi, 0xffffffff
cmp byte [0x527e58], 0
mov dword [0x527e48], ebp
mov dword [0x527e4c], ebp
mov dword [esp + 0x20], ebp
jne 0x49ab95
cmp byte [0x526d88], 0
jne 0x49abac
mov edx, dword [esp + 0x24]
push 0x480
lea ecx, [esp + 0x2940]
push ecx
push ebp
push edx
call fcn.0044a870
mov ecx, dword [0x526d84]
lea eax, [esp + 0x293c]
push eax
push 0x66
push ecx
call esi
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
push 0x480
lea edx, [esp + 0x2940]
push edx
push eax
push ecx
call fcn.0044a870
mov eax, dword [0x526d84]
lea edx, [esp + 0x293c]
push edx
push 0x67
push eax
call esi
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
push 0x480
lea ecx, [esp + 0x2940]
push ecx
push edx
push eax
call fcn.0044a870
mov edx, dword [0x526d84]
lea ecx, [esp + 0x293c]
push ecx
push 0x68
push edx
call esi
cmp edi, 0xffffffff
je 0x49a49e
push edi
lea eax, [esp + 0x6340]
push eax
lea ecx, [esp + 0x39c]
call fcn.004433f0
mov ecx, dword [eax + 0x800]
add dword [0x527e48], ecx
mov edx, dword [eax + 0x804]
adc dword [0x527e4c], edx
or edi, 0xffffffff
call fcn.0048ce50
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x448]
jge 0x49ab95
mov ecx, eax
push ecx
lea ecx, [esp + 0x398]
call fcn.004435c0
mov ebx, eax
test byte [ebx + 4], 2
mov dword [esp + 0x18], ebx
je 0x49ab84
cmp byte [esp + 0xc61], 0
mov edi, dword [esp + 0x20]
mov dword [esp + 0x48], edi
je 0x49a506
test byte [ebx + 0x24], 0x40
je 0x49a506
push 0x50e
call fcn.00466160
mov edx, dword [ebx]
push eax
push edx
call fcn.00498e30
add esp, 8
jmp 0x49ab84
mov eax, dword [ebx]
push 1
push ebp
push eax
mov ecx, 0x52dfe8
call fcn.004166e0
cmp eax, 1
jne 0x49ab84
lea ecx, [esp + 0xf4]
push ecx
mov ecx, 0x52dfe8
call fcn.00412ec0
lea ecx, [esp + 0x20b0]
call fcn.00472610
lea ecx, [esp + 0x20d4]
call fcn.00472610
lea ecx, [esp + 0x20f8]
call fcn.00472610
mov eax, dword [ebx]
push ebp
lea edx, [esp + 0x14a0]
push edx
push eax
push ebp
call fcn.00437bb0
test al, al
je 0x49ab84
cmp byte [esp + 0xc61], 0
je 0x49a5a7
cmp dword [esp + 0x230], ebp
jne 0x49a58c
cmp byte [esp + 0x23a], 0
je 0x49a5a7
push 0x50e
call fcn.00466160
mov ecx, dword [ebx]
push eax
push ecx
call fcn.00498e30
add esp, 8
jmp 0x49ab84
mov ebx, 1
push ebx
lea edx, [esp + 0x5340]
push edx
push str.Rar_CV
call fcn.0048a9b0
test al, al
je 0x49ab84
lea eax, [esp + 0x533c]
push eax
call fcn.0048b1e0
cmp dword [0x5275a4], ebx
jne 0x49a5e6
mov ecx, 0x52fee8
call fcn.0041ee00
call fcn.00486ac0
mov ecx, dword [esp + 0x44]
push 0x400
mov dword [0x52762c], ecx
push 0x5362aa
mov ecx, 0x52dfe8
call fcn.00412e90
mov edx, dword [0x52e1f4]
mov ecx, dword [0x536aac]
mov eax, 4
push 0x4c579c
mov dword [0x53423c], edx
mov dword [0x533810], ebx
mov dword [0x533e28], eax
mov dword [0x533e2c], eax
call fcn.0046fc70
push 0x5362aa
push 0x20a
call fcn.00466160
push eax
lea eax, [esp + 0x2944]
push eax
mov edx, 0x480
call fcn.004a5f50
add esp, 0xc
lea ecx, [esp + 0x293c]
push ecx
call fcn.0048b610
cmp byte [0x533e22], 0
mov edx, dword [0x567cb8]
mov dword [esp + 0x1c], edx
je 0x49a68a
mov byte [0x533e22], 0
mov byte [esp + 0x16], bl
push ebp
push ebp
mov ecx, 0x52dfe8
call fcn.00417ad0
cmp byte [0x526d88], 0
jne 0x49ab60
mov eax, dword [esp + 0x1c]
cmp eax, dword [0x567cb8]
jne 0x49ab60
push 0x566320
call fcn.00486e70
mov ecx, dword [0x53385c]
mov dword [esp + 0x40], ecx
mov byte [0x53395a], 0
cmp word [0x531efa], bp
jne 0x49a737
push ebp
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x34]
push eax
mov ecx, 0x52dfe8
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebp
call fcn.00413070
cmp dword [esp + 0x28], ebp
jbe 0x49a72a
push 0x531efa
push str.Rar_CM
call fcn.0048a8c0
mov esi, eax
cmp esi, ebp
je 0x49a72a
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
push esi
push ecx
push 1
push edx
call fcn.004b1ec8
push esi
call fcn.004b227e
add esp, 0x14
mov eax, dword [esp + 0x2c]
push eax
call fcn.004afc55
add esp, 4
mov esi, dword [esp + 0x18]
mov edx, dword [esi]
push 0x400
lea ecx, [esp + 0x6340]
push ecx
push edx
call fcn.00456350
xor eax, eax
jmp 0x49a760
movzx ecx, word [esp + eax + 0x460]
mov word [esp + eax + 0x4b3c], cx
add eax, 2
cmp cx, bp
jne 0x49a760
cmp word [esp + 0x4b3c], bp
je 0x49a78f
lea eax, [esp + 0x4b3c]
push eax
call fcn.00455790
mov ecx, dword [esi]
push ecx
call fcn.004442c0
mov byte [esp + 0x17], al
mov ebx, 0x4c5e38
cmp dword [0x53423c], ebp
je 0x49a7ad
mov ebx, 0x4c5abc
cmp word [0x5306f8], bp
je 0x49a7bb
mov ebx, 0x4c5e00
mov esi, dword [esp + 0x18]
mov edx, dword [esi]
push ebx
push edx
call fcn.00456210
test al, al
je 0x49a8d4
cmp word [esp + 0x4b3c], bp
je 0x49a7f7
lea eax, [esp + 0x633c]
push eax
lea ecx, [esp + 0x4b40]
push ecx
call fcn.00477f20
test eax, eax
jne 0x49a8d4
mov byte [esp + 0x15], 1
xor eax, eax
mov edi, edi
movzx ecx, word [esp + eax + 0x533c]
mov word [eax + 0x5362aa], cx
add eax, 2
cmp cx, bp
jne 0x49a800
push 0x5362aa
call fcn.00455790
mov edx, dword [esi]
push edx
call fcn.00455e10
mov edx, eax
jmp 0x49a830
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x49a830
mov edi, 0x5362aa
sub eax, edx
add edi, 0xfffffffe
mov cx, word [edi + 2]
add edi, 2
cmp cx, bp
jne 0x49a845
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0x5362aa
rep movsb byte es:[edi], byte [esi]
call fcn.004561a0
mov esi, eax
cmp esi, ebp
je 0x49a9ea
xor eax, eax
push 0x5362aa
mov word [esi], ax
call fcn.004561a0
mov ecx, 0x2e
mov word [esi], cx
cmp eax, ebp
je 0x49a9ea
cmp byte [esp + 0x17], 0
je 0x49a9ea
cmp dword [esp + 0x174], ebp
jne 0x49a9ea
cmp dword [esp + 0x218], ebp
je 0x49a9ea
mov edx, eax
mov ecx, esi
sub edx, esi
nop
movzx eax, word [ecx]
mov word [edx + ecx], ax
add ecx, 2
cmp ax, bp
jne 0x49a8c0
jmp 0x49a9ea
mov byte [esp + 0x15], 0
cmp word [esp + 0x4b3c], bp
je 0x49a944
xor eax, eax
jmp 0x49a8f0
movzx ecx, word [esp + eax + 0x4b3c]
mov word [eax + 0x5362aa], cx
add eax, 2
cmp cx, bp
jne 0x49a8f0
mov edx, dword [esi]
push edx
call fcn.00455e10
mov edx, eax
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x49a911
mov edi, 0x5362aa
sub eax, edx
add edi, 0xfffffffe
mov cx, word [edi + 2]
add edi, 2
cmp cx, bp
jne 0x49a926
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 0x49a961
mov ecx, dword [esi]
mov edx, 0x5362aa
jmp 0x49a950
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x49a950
push 0x5362aa
call fcn.004561a0
mov esi, eax
cmp esi, ebp
je 0x49a9b4
xor eax, eax
push 0x5362aa
mov word [esi], ax
call fcn.004561a0
cmp eax, ebp
je 0x49a9ac
push str..tar
push eax
call fcn.00477f20
test eax, eax
je 0x49a9b4
cmp byte [esp + 0x17], 0
je 0x49a9ac
cmp dword [esp + 0x174], ebp
jne 0x49a9ac
cmp dword [esp + 0x218], ebp
jne 0x49a9b4
mov ecx, 0x2e
mov word [esi], cx
push ebx
push 0x5362aa
call fcn.00457d90
push 0x5362aa
call fcn.00432480
test al, al
je 0x49a9ea
push 0x50d
call fcn.00466160
push eax
push 0x5362aa
call fcn.00498e30
add esp, 8
mov byte [esp + 0x15], 1
mov esi, dword [esp + 0x1c]
cmp esi, dword [0x567cb8]
jne 0x49aa91
lea edx, [esp + 0x533c]
push edx
call fcn.0048b1e0
mov ecx, dword [0x536aac]
push 0x4c579c
mov dword [0x533838], 3
mov dword [0x533834], 2
mov byte [0x533872], 0
mov byte [0x533876], 0
call fcn.0046fc70
push 0x5362aa
call fcn.00455e10
push eax
push 0x208
call fcn.00466160
push eax
lea eax, [esp + 0x2944]
push eax
mov edx, 0x480
call fcn.004a5f50
add esp, 0xc
lea ecx, [esp + 0x293c]
push ecx
call fcn.0048b610
cmp byte [0x533e22], 0
je 0x49aa86
mov byte [0x533e22], 0
mov byte [esp + 0x16], 1
push ebp
mov ecx, 0x52dfe8
call fcn.00417650
cmp word [0x531efa], bp
je 0x49aaa4
push 0x531efa
call fcn.0048abe0
cmp byte [0x526d88], 0
jne 0x49ab4f
cmp esi, dword [0x567cb8]
jne 0x49ab4f
push 1
push ebp
push 0x5362aa
mov ecx, 0x52dfe8
call fcn.004166e0
cmp eax, 1
jne 0x49ab4f
lea edx, [esp + 0x244]
push edx
mov ecx, 0x52dfe8
call fcn.00412ec0
mov eax, dword [esp + 0x204]
mov ecx, dword [esp + 0x208]
cmp eax, dword [esp + 0x354]
jne 0x49ab0a
cmp ecx, dword [esp + 0x358]
je 0x49abdc
or eax, ecx
je 0x49abdc
push 0x4c5b10
lea eax, [esp + 0xf8]
push eax
call fcn.00477f20
test eax, eax
jne 0x49ab35
cmp dword [esp + 0x218], ebp
jne 0x49abdc
push 0x50a
call fcn.00466160
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
push eax
push edx
call fcn.00498e30
add esp, 8
cmp byte [esp + 0x15], 0
jne 0x49ab60
push 0x5362aa
call fcn.00432770
lea eax, [esp + 0xc6c]
push eax
call fcn.0048b1e0
lea ecx, [esp + 0x533c]
push ecx
call fcn.0048ae50
mov edi, dword [esp + 0x48]
mov esi, dword [sym.imp.USER32.dll_SetDlgItemTextW]
inc dword [esp + 0x20]
cmp byte [0x527e58], 0
je 0x49a3d4
cmp byte [0x526d88], 0
jne 0x49abac
cmp byte [0x527e58], 0
mov eax, 0x4d0
je 0x49abb1
mov eax, 0x271
push eax
call fcn.00466160
push eax
call fcn.0048b610
cmp byte [0x527e58], 0
je 0x49b351
mov edx, dword [0x526d84]
push edx
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x49b365
mov eax, dword [esp + 0xc64]
cmp eax, ebp
je 0x49ac62
mov ecx, dword [esp + 0x210]
push ecx
mov ecx, dword [esp + 0x210]
cdq
push ecx
push edx
push eax
call fcn.004afe90
push ebp
mov esi, edx
mov edx, dword [esp + 0x364]
push 0x64
mov edi, eax
mov eax, dword [esp + 0x364]
push edx
push eax
call fcn.004afe90
cmp esi, edx
jg 0x49ac62
jl 0x49ac25
cmp edi, eax
jae 0x49ac62
push 0x5362aa
call fcn.00455e10
push eax
push 0x50f
call fcn.00466160
push eax
lea ecx, [esp + 0x2944]
push ecx
mov edx, 0x480
call fcn.004a5f50
add esp, 0xc
lea edx, [esp + 0x293c]
push edx
call fcn.0048b610
jmp 0x49ab4f
xor eax, eax
jmp 0x49ac70
movzx ecx, word [eax + 0x533304]
mov word [esp + eax + 0x323c], cx
add eax, 2
cmp cx, bp
jne 0x49ac70
mov esi, 1
cmp dword [0x5275a4], esi
jne 0x49ac9e
mov ecx, 0x52fee8
call fcn.0041ee00
call fcn.00486ac0
xor eax, eax
jmp 0x49acb0
movzx ecx, word [esp + eax + 0x323c]
mov word [eax + 0x533304], cx
add eax, 2
cmp cx, bp
jne 0x49acb0
push 0x400
push 0x5362aa
mov ecx, 0x52dfe8
call fcn.00412e90
mov eax, dword [0x52e1f4]
mov ecx, dword [0x536aac]
push 0x4c579c
mov dword [0x53423c], eax
mov byte [0x53395a], 1
mov dword [0x5338fc], ebp
mov dword [0x533920], ebp
call fcn.0046fc70
push 0x5362aa
call fcn.00455e10
push eax
push 0x20b
call fcn.00466160
push eax
lea ecx, [esp + 0x2944]
push ecx
mov edx, 0x480
call fcn.004a5f50
add esp, 0xc
lea edx, [esp + 0x293c]
push edx
call fcn.0048b610
cmp byte [0x533e22], 0
je 0x49ad55
mov byte [0x533e22], 0
mov byte [esp + 0x16], 1
push ebp
push ebp
mov ecx, 0x52dfe8
call fcn.00417ad0
cmp byte [0x526d88], 0
jne 0x49ab4f
mov eax, dword [esp + 0x1c]
cmp eax, dword [0x567cb8]
jne 0x49ab4f
mov ecx, dword [esp + 0x354]
or ecx, dword [esp + 0x358]
jne 0x49adb3
cmp dword [esp + 0x20a0], ebp
jl 0x49adb3
jg 0x49ada6
cmp dword [esp + 0x209c], 0x200
jb 0x49adb3
cmp dword [esp + 0x1fc], esi
jbe 0x49ab4f
mov eax, dword [esp + 0xc64]
cmp eax, ebp
je 0x49ae04
mov ecx, dword [esp + 0x210]
push ecx
mov ecx, dword [esp + 0x210]
cdq
push ecx
push edx
push eax
call fcn.004afe90
push ebp
mov esi, edx
mov edx, dword [esp + 0x364]
push 0x64
mov edi, eax
mov eax, dword [esp + 0x364]
push edx
push eax
call fcn.004afe90
cmp esi, edx
jl 0x49ab4f
jg 0x49ae04
cmp edi, eax
jb 0x49ab4f
push 0x5362aa
call fcn.00455e10
push eax
push 0x25a
call fcn.00466160
push eax
lea ecx, [esp + 0x2944]
push ecx
mov edx, 0x480
call fcn.004a5f50
add esp, 0xc
lea edx, [esp + 0x293c]
push edx
call fcn.0048b610
inc dword [esp + 0x24]
mov eax, dword [esp + 0x20c]
add dword [esp + 0x38], eax
mov ecx, dword [esp + 0x210]
mov edx, dword [esp + 0x35c]
adc dword [esp + 0x3c], ecx
add dword [esp + 0x30], edx
mov eax, dword [esp + 0x360]
adc dword [esp + 0x34], eax
cmp byte [esp + 0x15], 0
je 0x49b1cb
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
push ebp
push 1
push edx
mov ecx, 0x52dfe8
call fcn.004166e0
cmp eax, 1
jne 0x49ab60
lea ecx, [esp + 0x4c]
call fcn.0046fbd0
mov byte [esp + 0x7378], 3
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
lea edx, [esp + 0x433c]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bp
jne 0x49aeb4
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileW]
mov byte [esp + 0x15], 0
mov edi, edi
lea ecx, [esp + 0x433c]
push ecx
lea edx, [esp + 0x3b40]
push str._s._cvtbackup_
push edx
mov edx, 0x400
call fcn.004a5f50
add esp, 0xc
lea eax, [esp + 0x3b3c]
push eax
lea ecx, [esp + 0x4340]
push ecx
call esi
test eax, eax
je 0x49b07a
lea edx, [esp + 0x433c]
push edx
lea ecx, [esp + 0x50]
call fcn.0046fc80
lea eax, [esp + 0x3b3c]
push eax
lea ecx, [esp + 0x50]
call fcn.0046fc80
push 0x400
lea ecx, [esp + 0x4340]
push ecx
mov ecx, 0x52dfe8
call fcn.004132c0
test al, al
je 0x49af5e
lea edx, [esp + 0x433c]
push edx
call fcn.00432480
test al, al
jne 0x49aed0
push ebp
push 1
push 0x5362aa
mov ecx, 0x52dfe8
call fcn.004166e0
cmp eax, 1
jne 0x49b07f
xor eax, eax
jmp 0x49af80
movzx ecx, word [eax + 0x5362aa]
mov word [esp + eax + 0x433c], cx
add eax, 2
cmp cx, bp
jne 0x49af80
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
lea edx, [esp + 0x3b3c]
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, bp
jne 0x49afb0
lea ecx, [esp + 0x433c]
push ecx
call fcn.00455e10
lea edx, [esp + 0x3b3c]
push edx
mov esi, eax
call fcn.00455e10
jmp 0x49afe0
movzx ecx, word [esi]
mov word [eax], cx
add esi, 2
add eax, 2
cmp cx, bp
jne 0x49afe0
lea eax, [esp + 0x3b3c]
push eax
lea ecx, [esp + 0x4340]
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x49b07a
cmp ebx, ebp
je 0x49b014
cmp ebx, 1
jne 0x49b048
push ebp
push ebp
push 3
push ebp
push ebp
push 0x40000000
lea edx, [esp + 0x3b54]
push edx
call edi
mov esi, eax
cmp esi, 0xffffffff
je 0x49b048
lea eax, [esp + 0x292c]
push eax
push ebp
push ebp
push esi
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x400
lea ecx, [esp + 0x4340]
push ecx
mov ecx, 0x52dfe8
call fcn.004132c0
test al, al
je 0x49b07f
lea edx, [esp + 0x433c]
push edx
call fcn.00432480
test al, al
jne 0x49afa1
jmp 0x49b07f
mov byte [esp + 0x15], 1
xor bl, bl
cmp byte [esp + 0xc60], bl
jne 0x49b102
push 0x400
lea eax, [esp + 0x3340]
push eax
lea ecx, [esp + 0x54]
mov bl, 1
call fcn.0046ff90
test al, al
je 0x49b0f9
jmp 0x49b0b0
push 0x400
lea ecx, [esp + 0x5b40]
push ecx
lea ecx, [esp + 0x54]
call fcn.0046ff90
test al, al
je 0x49b0f9
lea edx, [esp + 0x333c]
push edx
call fcn.00432480
test al, al
jne 0x49b0f7
push 0x400
lea eax, [esp + 0x3340]
push eax
lea ecx, [esp + 0x54]
call fcn.0046ff90
test al, al
jne 0x49b0b0
jmp 0x49b0f9
xor bl, bl
lea ecx, [esp + 0x4c]
call fcn.0046f830
push 0x400
lea ecx, [esp + 0x3340]
push ecx
lea ecx, [esp + 0x54]
call fcn.0046ff90
test al, al
je 0x49b1b5
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileW]
jmp 0x49b130
push 0x400
lea edx, [esp + 0x5b40]
push edx
lea ecx, [esp + 0x54]
call fcn.0046ff90
test al, al
je 0x49b1b5
cmp byte [esp + 0x15], 0
jne 0x49b173
test bl, bl
jne 0x49b185
lea eax, [esp + 0x5b3c]
push eax
push ebp
call fcn.00433290
lea ecx, [esp + 0x5b3c]
push ecx
push ebp
call fcn.00432790
jmp 0x49b197
test bl, bl
jne 0x49b185
lea edx, [esp + 0x333c]
push edx
push ebp
call fcn.00432790
lea eax, [esp + 0x333c]
push eax
lea ecx, [esp + 0x5b40]
push ecx
call esi
push 0x400
lea edx, [esp + 0x3340]
push edx
lea ecx, [esp + 0x54]
call fcn.0046ff90
test al, al
jne 0x49b130
mov byte [esp + 0x7378], 1
lea ecx, [esp + 0x4c]
call fcn.00401a70
jmp 0x49ab60
cmp byte [esp + 0xc60], 0
je 0x49b297
mov esi, dword [esp + 0x18]
mov eax, dword [esi]
push ebp
push 1
push eax
mov ecx, 0x52dfe8
call fcn.004166e0
cmp eax, 1
jne 0x49b297
mov eax, dword [esi]
lea edx, [esp + 0x333c]
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, bp
jne 0x49b201
lea ecx, [esp + 0x333c]
push ecx
call fcn.00455e10
push eax
push 0x258
call fcn.00466160
push eax
lea edx, [esp + 0x2944]
push edx
mov edx, 0x480
call fcn.004a5f50
add esp, 0xc
lea eax, [esp + 0x293c]
push eax
call fcn.0048b610
lea ecx, [esp + 0x333c]
push ecx
push ebp
call fcn.00433290
lea edx, [esp + 0x333c]
push edx
push ebp
call fcn.00432790
push 0x400
lea eax, [esp + 0x3340]
push eax
mov ecx, 0x52dfe8
call fcn.004132c0
test al, al
je 0x49b297
lea ecx, [esp + 0x333c]
push ecx
call fcn.00432480
test al, al
jne 0x49b210
push ebp
push 1
push 0x5362aa
mov ecx, 0x52dfe8
call fcn.004166e0
cmp eax, 1
jne 0x49ab60
xor eax, eax
jmp 0x49b2c0
movzx ecx, word [eax + 0x5362aa]
mov word [esp + eax + 0x3b3c], cx
add eax, 2
cmp cx, bp
jne 0x49b2c0
mov eax, dword [esp + 0x40]
cmp eax, ebp
je 0x49b2e4
cmp eax, 1
jne 0x49b31c
push ebp
push ebp
push 3
push ebp
push ebp
push 0x40000000
lea edx, [esp + 0x3b54]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x49b31c
lea eax, [esp + 0x292c]
push eax
push ebp
push ebp
push esi
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x400
lea ecx, [esp + 0x3b40]
push ecx
mov ecx, 0x52dfe8
call fcn.004132c0
test al, al
je 0x49ab60
lea edx, [esp + 0x3b3c]
push edx
call fcn.00432480
test al, al
jne 0x49b2d7
jmp 0x49ab60
push ebp
push ebp
push ebp
push ebp
push ebp
push 1
push ebp
push 1
call fcn.0048c240
call fcn.0048b6b0
cmp byte [0x526d89], 0
je 0x49b39e
push ebp
push ebp
lea eax, [esp + 0x6b74]
push eax
mov ecx, 0x52dfe8
call fcn.004166e0
cmp eax, 1
je 0x49b395
mov ecx, 0x52d6c0
call fcn.00446c60
test al, al
jne 0x49b3a4
cmp byte [0x526d89], 0
jne 0x49b3b9
cmp dword [esp + 0x24], ebp
jbe 0x49b3b9
push 0x5362aa
call fcn.00455e10
push eax
mov ecx, 0x52d6c0
call fcn.004473c0
cmp byte [esp + 0xc68], 0
je 0x49b3d4
mov ecx, dword [str.InterfaceConvertProfile]
push ecx
push 0x566320
call fcn.00460190
push 0x566320
call fcn.00460270
cmp byte [esp + 0x16], 0
je 0x49b3ea
call fcn.0048a4b0
mov dword [esp + 0x7378], 0xffffffff
lea ecx, [esp + 0x394]
call fcn.00414b00
mov ecx, dword [esp + 0x7370]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x7358]
xor ecx, esp
call fcn.004af00b
add esp, 0x7368
ret 4