Function at 0x47845b
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x28c
push ebx
fldz
push esi
fstp qword [ebp - 0x1a0]
push edi
push 0x26
xor eax, eax
pop ecx
lea edi, [ebp - 0x198]
mov byte [ebp + 0x5b], 1
rep stosd dword es:[edi], eax
xor ebx, ebx
mov esi, 0x4b069c
push dword [ebp + 0x78]
lea ecx, [ebp - 0x78]
mov byte [ebp + 0x3b], bl
call fcn.004419bc
mov eax, dword [ebp - 0x78]
mov dword [ebp + 0x60], eax
add eax, 0xc
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x4c], eax
lea eax, [ebp + 0x4c]
push eax
call fcn.004047e3
mov eax, dword [ebp + 0x4c]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
call fcn.00431c97
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x2a
pop ecx
pop ecx
lea ecx, [ebp + 0xb]
sete byte [ebp + 0x67]
call fcn.0040fb71
push 6
push dword [ebp - 0x18]
push str.__free
call fcn.00432c0f
add esp, 0xc
test al, al
jne 0x4799df
lea ecx, [ebp + 0x78]
call fcn.004768a1
push ebx
lea ecx, [ebp + 0xb]
call fcn.0040fb74
lea ecx, [ebp + 0xb]
call fcn.0040fb65
neg eax
sbb eax, eax
inc eax
cmp dword [0x4ae7d0], ebx
mov dword [ebp - 0x10], eax
mov dword [ebp + 0x24], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x8c], ebx
jge 0x4785bb
mov eax, dword [0x4aff08]
cmp eax, ebx
mov dword [0x4ae7d0], ebx
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0x48], ebx
je 0x478597
lea ecx, [ebp + 0x48]
push ecx
lea ecx, [ebp + 0x18]
push ecx
call eax
cmp dword [ebp + 0x48], ebx
jbe 0x478597
mov eax, dword [ebp + 0x18]
cmp eax, 0x202
jb 0x478563
mov dword [0x4ae7d0], 0x38
jmp 0x478597
cmp eax, 0x184
jb 0x478576
mov dword [0x4ae7d0], 8
jmp 0x478597
cmp eax, 0x160
jb 0x478589
mov dword [0x4ae7d0], 2
jmp 0x478597
cmp eax, ebx
jbe 0x478597
mov dword [0x4ae7d0], 1
push dword [0x4aff08]
push dword [0x4ae7d0]
push dword [ebp + 0x48]
push dword [ebp + 0x18]
push str.DBG:_IMD:_0x_X_0x_X_0x_X__0x_p_r_n
push 0x4aff28
call fcn.0040d391
add esp, 0x18
push 3
push dword [ebp - 0x18]
push 0x49edf4
call fcn.00432c0f
add esp, 0xc
test al, al
je 0x4785d8
mov dword [ebp + 0x24], 0xfff00000
push 5
lea eax, [ebp - 0x18]
push eax
push str.__ins
mov byte [ebp + 0x6f], bl
call fcn.00438eee
add esp, 0xc
test al, al
je 0x4785f8
mov byte [ebp + 0x6f], 5
jmp 0x478613
push 6
lea eax, [ebp - 0x18]
push eax
push str.__fins
call fcn.00438eee
add esp, 0xc
test al, al
je 0x478613
mov byte [ebp + 0x6f], 6
push 0x3e8
lea ecx, [ebp - 0x2c]
call fcn.0043719c
lea ecx, [ebp + 0x1c]
call fcn.0043717e
lea ecx, [ebp - 0xbc]
call fcn.0043717e
lea ecx, [ebp + 0x5c]
call fcn.0043717e
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call fcn.0043717e
lea ecx, [ebp + 4]
call fcn.0043717e
lea ecx, [ebp + 0x54]
call fcn.0043717e
lea ecx, [ebp - 0x1c]
call fcn.0043717e
lea ecx, [ebp - 0x44]
call fcn.0043717e
lea ecx, [ebp + 0x44]
call fcn.0043717e
lea ecx, [ebp - 0x34]
call fcn.0043717e
lea ecx, [ebp + 0x28]
call fcn.0043717e
or eax, 0xffffffff
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov eax, 0x497994
push 0xc8
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xd4], ebx
mov dword [ebp + 0x20], ebx
mov dword [ebp + 0x18], eax
mov dword [ebp + 0x34], eax
call fcn.0043719c
cmp byte [ebp + 0x67], bl
mov eax, dword [ebp + 0x4c]
mov cx, word [eax]
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0xdc], eax
mov word [ebp - 0x84], cx
mov dword [ebp + 0x30], eax
je 0x47880c
add dword [ebp + 0x68], 2
mov word [eax], bx
mov eax, dword [ebp + 0x68]
mov edx, eax
jmp 0x4786fe
cmp cx, 0x2a
je 0x478706
inc eax
inc eax
mov dword [ebp + 0x68], eax
mov cx, word [eax]
cmp cx, bx
jne 0x4786f3
sub eax, edx
sar eax, 1
push eax
push edx
lea ecx, [ebp + 0x1c]
call fcn.004372a4
mov eax, dword [ebp + 0x1c]
cmp word [eax], bx
je 0x478729
push 0x3e8
lea ecx, [ebp - 0x2c]
call fcn.004371c5
cmp word [ebp - 0x84], bx
mov eax, dword [ebp + 0x4c]
mov dword [ebp + 0x30], eax
je 0x47873e
add eax, 2
mov dword [ebp + 0x30], eax
lea eax, [ebp + 0x30]
push eax
call fcn.00431c97
pop ecx
mov edi, 0x497994
push 4
lea eax, [ebp + 0x30]
push eax
push str._mem
call fcn.00438f31
add esp, 0xc
test al, al
jne 0x47877b
push 2
lea eax, [ebp + 0x30]
push eax
push 0x49a458
call fcn.00438f31
add esp, 0xc
test al, al
je 0x478780
mov dword [ebp + 0x18], edi
jmp 0x47874d
push 3
lea eax, [ebp + 0x30]
push eax
push 0x49f55c
call fcn.00438f31
add esp, 0xc
test al, al
je 0x4787a0
mov dword [ebp + 0x18], 0x4a1f14
jmp 0x47874d
push 4
lea eax, [ebp + 0x30]
push eax
push str._map
call fcn.00438f31
add esp, 0xc
test al, al
je 0x4787c3
mov dword [ebp - 0xe4], 1
jmp 0x47874d
push 4
lea eax, [ebp + 0x30]
push eax
push str._exe
call fcn.00438f31
add esp, 0xc
test al, al
je 0x4787e6
mov dword [ebp + 0x24], 1
jmp 0x47874d
push 5
lea eax, [ebp + 0x30]
push eax
push str._nexe
call fcn.00438f31
add esp, 0xc
test al, al
je 0x478809
mov dword [ebp + 0x24], 0xfff00000
jmp 0x47874d
mov edi, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x7c]
push 0x4a1eec
push 0x4a1550
call fcn.00436b54
mov eax, dword [ebp + 0x1c]
cmp word [eax], bx
push 0xffffffffffffffff
lea ecx, [ebp - 4]
push 0xffffffffffffffff
je 0x478851
push 0x4a1ee8
call fcn.0043723b
push dword [ebp + 0x1c]
lea ecx, [ebp - 4]
call fcn.004371ec
push str.Imdisk
lea ecx, [ebp - 4]
call fcn.004371ec
jmp 0x47885b
push str._Imdisk
call fcn.0043723b
push 9
push edi
push str.__version
call fcn.00432c0f
push 2
push edi
push 0x4a1eb8
mov byte [ebp + 0x66], al
call fcn.00432c0f
push 2
push edi
push 0x4a1eb4
mov byte [ebp + 0xf], al
call fcn.00432c0f
push 3
push edi
push 0x49edf4
mov byte [ebp + 3], al
call fcn.00432c0f
add esp, 0x30
cmp byte [ebp + 0x66], bl
jne 0x4788b2
cmp byte [ebp + 0xf], bl
jne 0x4788b2
cmp byte [ebp + 3], bl
jne 0x4788b2
cmp al, bl
jne 0x4788b2
mov cl, 1
jmp 0x4788b4
xor cl, cl
cmp dword [ebp - 0x10], ebx
jne 0x4788cb
mov eax, dword [0x4ae7d0]
cmp eax, ebx
jle 0x4788cb
push 2
pop edi
cmp eax, edi
jge 0x4788d7
jmp 0x4788ce
push 2
pop edi
cmp cl, bl
jne 0x4788e1
cmp byte [ebp + 0x6f], bl
jne 0x4788e1
cmp byte [ebp + 0x6f], 6
jl 0x478a65
cmp dword [ebp - 0x10], ebx
mov dword [ebp - 0x20], 0x4a1eac
jne 0x478937
lea ecx, [ebp - 0x80]
call fcn.0043717e
mov eax, 0x4a1ea4
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0xec]
push eax
push edi
call fcn.00423716
mov eax, dword [ebp - 0x80]
add esp, 0xc
cmp word [eax], bx
je 0x47892f
cmp word [eax + 2], bx
je 0x47892f
mov dword [ebp - 0x20], 0x4a1e9c
lea ecx, [ebp - 0x80]
call fcn.00431c4c
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub dword [0x4b0abc], 1
push esi
call edi
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x4b0abc], ebx
jle 0x47896d
push esi
call edi
mov ecx, dword [ebp + 0x7c]
push ebx
push 1
call fcn.0040da4e
jmp 0x47894e
push 0xffffffffffffffff
lea ecx, [ebp + 0xb]
call fcn.0040fb74
push esi
call edi
movsx ax, byte [ebp + 0x6f]
push 0xffffffffffffffff
lea ecx, [ebp + 0xb]
mov word [ebp - 0xc2], 0x20
mov word [ebp - 0xc0], bx
add eax, 0x30
mov word [ebp - 0xc4], ax
call fcn.0040fb74
push str.28:INDATA
lea ecx, [ebp + 0x10]
call fcn.004419bc
cmp dword [ebp - 0x10], ebx
mov eax, 0x4a1e9c
jne 0x4789bf
mov eax, 0x4a1eac
push eax
lea ecx, [ebp + 0x10]
call fcn.004371ec
push dword [ebp - 0x20]
lea ecx, [ebp + 0x10]
call fcn.004371ec
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp + 0x10]
call fcn.004371ec
push dword [ebp + 0x4c]
lea ecx, [ebp + 0x10]
call fcn.004371ec
push dword [ebp + 0x10]
push str.Install_IMD__s__r_n
push 0x4aff28
call fcn.0040d391
mov ecx, dword [ebp + 0x7c]
add esp, 0xc
push dword [ebp + 0x10]
call fcn.004296fc
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
add dword [0x4b0abc], 1
push esi
mov dword [0x4ae7d0], 0xffffffc0
call edi
push ebx
lea ecx, [ebp + 0xb]
call fcn.0040fb74
lea ecx, [ebp + 0xb]
call fcn.0040fb65
neg eax
sbb eax, eax
inc eax
push esi
mov dword [ebp - 0x10], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebp - 0x10], ebx
jne 0x478a57
mov dword [0x4ae7d0], 0x38
push esi
call edi
lea ecx, [ebp + 0x10]
call fcn.00431c4c
push 2
pop edi
cmp byte [ebp + 0x67], bl
je 0x47930f
mov eax, dword [ebp + 0x30]
mov dword [ebp - 0x48], eax
jmp 0x478a99
push edi
lea eax, [ebp - 0x48]
push eax
push 0x49a458
call fcn.00438eee
add esp, 0xc
test al, al
jne 0x478aa0
lea eax, [ebp - 0x48]
push eax
call fcn.00404807
mov eax, dword [ebp - 0x48]
pop ecx
cmp word [eax], bx
jne 0x478a76
jmp 0x478aa6
mov eax, dword [ebp - 0x48]
mov dword [ebp + 0x34], eax
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x2a
jne 0x4792fa
add dword [ebp + 0x68], edi
mov eax, dword [ebp + 0x68]
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
cmp word [eax], 0x40
mov byte [ebp + 0x67], bl
jne 0x478ad5
add dword [ebp + 0x68], edi
mov byte [ebp + 0x67], 1
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0043bfa0
mov eax, dword [ebp + 0x68]
cmp word [eax], bx
pop ecx
pop ecx
je 0x478aef
add dword [ebp + 0x68], edi
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0043bfa0
mov eax, dword [ebp + 0x68]
cmp word [eax], bx
pop ecx
pop ecx
je 0x478b09
add dword [ebp + 0x68], edi
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0043bfa0
mov edi, dword [ebp + 0x68]
cmp word [edi], bx
pop ecx
pop ecx
je 0x478b25
inc edi
inc edi
mov dword [ebp + 0x68], edi
mov al, byte [ebp - 0x50]
and al, 1
mov byte [ebp + 0x6f], al
push 0x2a
lea eax, [ebp + 0x68]
call fcn.00410b80
mov eax, dword [ebp + 0x68]
pop ecx
sub eax, edi
sar eax, 1
push eax
push edi
lea ecx, [ebp + 0x28]
call fcn.004372a4
mov eax, dword [ebp + 0x68]
cmp word [eax], bx
je 0x478b55
add dword [ebp + 0x68], 2
mov edi, dword [ebp + 0x68]
push 0x2a
lea eax, [ebp + 0x68]
call fcn.00410b80
mov eax, dword [ebp + 0x68]
pop ecx
sub eax, edi
sar eax, 1
push eax
push edi
lea ecx, [ebp + 0x44]
call fcn.004372a4
mov eax, dword [ebp + 0x68]
cmp word [eax], bx
je 0x478b80
add dword [ebp + 0x68], 2
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0043bfa0
mov edi, dword [ebp + 0x68]
cmp word [edi], bx
pop ecx
pop ecx
je 0x478b9c
inc edi
inc edi
mov dword [ebp + 0x68], edi
push 0x2a
lea eax, [ebp + 0x68]
call fcn.00410b80
mov eax, dword [ebp + 0x68]
pop ecx
sub eax, edi
sar eax, 1
push eax
push edi
lea ecx, [ebp - 0x34]
call fcn.004372a4
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0043bfa0
mov eax, dword [ebp + 0x68]
cmp word [eax], bx
pop ecx
pop ecx
je 0x478bd3
add dword [ebp + 0x68], 2
cmp byte [ebp + 0x67], bl
mov edx, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x68]
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xb4], edi
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], ecx
je 0x478c18
add eax, edx
adc ecx, edi
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], ecx
cmp dword [ebp - 0x60], ebx
jl 0x478c3a
jg 0x478c24
cmp dword [ebp - 0x64], ebx
jbe 0x478c3a
cmp dword [ebp - 0x3c], ebx
jg 0x478c3a
jl 0x478c30
cmp dword [ebp - 0x40], ebx
ja 0x478c3a
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x3c], ebx
push 0x318
lea ecx, [ebp - 0x38]
call fcn.0043719c
mov eax, dword [ebp - 0x38]
lea esi, [eax + 0x6a]
mov dword [ebp - 0xc], eax
lea eax, [esi + 0x6a]
lea edi, [eax + 0x6a]
push ebx
mov word [edi], bx
push 0x200
mov word [eax], bx
push dword [ebp - 0x68]
lea ecx, [edi + 0x6a]
push dword [ebp - 0x6c]
mov dword [ebp + 0x48], esi
mov dword [ebp - 0xd0], edi
mov dword [ebp - 0x24], ecx
call fcn.00483340
push edx
push eax
push dword [ebp - 0xc]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
call fcn.004781a1
add esp, 0xc
push ebx
push 0x200
push dword [ebp - 0x70]
push dword [ebp - 0x74]
call fcn.00483340
push edx
push eax
push esi
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
call fcn.004781a1
add esp, 0xc
mov word [edi], bx
cmp dword [ebp - 0x60], ebx
jl 0x478ccf
jg 0x478cc0
cmp dword [ebp - 0x64], ebx
jbe 0x478ccf
push dword [ebp - 0x60]
push dword [ebp - 0x64]
push edi
call fcn.004781a1
add esp, 0xc
mov ecx, dword [ebp + 0x4c]
xor eax, eax
cmp word [ebp - 0x84], bx
setne al
lea eax, [ecx + eax*2]
mov dword [ebp + 0x3c], eax
lea eax, [ebp + 0x3c]
push eax
call fcn.00431c97
push 4
push dword [ebp + 0x3c]
mov dword [ebp - 0x7c], ebx
push str.__w:
call fcn.00432c59
add esp, 0x10
test al, al
je 0x478d19
add dword [ebp + 0x3c], 8
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp + 0x3c]
push eax
call fcn.00439fac
pop ecx
pop ecx
push 0xffffffffffffffff
lea eax, [ebp + 0x3c]
push eax
push 0x4a1e54
call fcn.00438eee
add esp, 0xc
cmp dword [0x4ae7d0], 1
jl 0x478d41
cmp dword [ebp + 0x24], ebx
jne 0x478d41
mov dword [ebp + 0x24], 0xfff00000
mov eax, dword [ebp + 0x3c]
mov edi, 0x497994
mov byte [ebp + 0x66], bl
mov byte [ebp + 0x67], bl
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x94], edi
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x2c], ebx
jmp 0x478dcf
push 2
lea eax, [ebp + 0x50]
push eax
push 0x49f7e8
call fcn.00438eee
add esp, 0xc
test al, al
je 0x478d80
mov dword [ebp + 0x2c], 1
jmp 0x478dcc
cmp dword [ebp + 0x2c], ebx
je 0x478dbf
push 2
lea eax, [ebp + 0x50]
push eax
push 0x4a1e50
call fcn.00438eee
add esp, 0xc
test al, al
je 0x478da2
mov byte [ebp + 0x66], 1
jmp 0x478dcc
push 3
lea eax, [ebp + 0x50]
push eax
push 0x4a1e4c
call fcn.00438eee
add esp, 0xc
test al, al
je 0x478dbf
mov byte [ebp + 0x67], 1
jmp 0x478dcc
lea eax, [ebp + 0x50]
push eax
call fcn.00404807
pop ecx
mov dword [ebp + 0x2c], ebx
mov eax, dword [ebp + 0x50]
cmp word [eax], bx
jne 0x478d60
mov eax, dword [0x4ae7d0]
test al, 0x10
je 0x478de9
cmp byte [ebp + 0x67], bl
jne 0x478de9
mov dword [ebp - 0x20], str._o_par
mov dword [ebp + 0x50], eax
and dword [ebp + 0x50], 0x20
je 0x478dfc
mov dword [ebp - 0x94], str._o_shared
cmp dword [ebp + 0x50], ebx
je 0x478e04
mov byte [ebp + 0x5b], bl
mov ecx, dword [ebp - 0x50]
mov eax, ecx
and eax, 0x200
or eax, ebx
jne 0x478e2e
cmp dword [ebp + 0x50], ebx
jne 0x478e2e
cmp byte [ebp + 0x6f], bl
je 0x478e31
and ecx, 0x100
mov eax, ecx
or eax, ebx
je 0x478e31
mov byte [ebp + 0x5b], 1
jmp 0x478e31
mov byte [ebp + 0x5b], bl
cmp dword [0x4ae7d0], 8
jl 0x478f45
cmp byte [ebp + 0x6f], bl
je 0x478e4c
cmp byte [ebp + 0x5b], bl
jne 0x478f45
cmp byte [ebp + 0x6f], bl
mov dword [ebp + 0x2c], edi
jne 0x478e62
cmp byte [ebp + 0x66], bl
jne 0x478e6b
mov dword [ebp + 0x2c], str._o_ro
jmp 0x478e6b
cmp dword [ebp + 0x50], ebx
jne 0x478e6b
mov byte [ebp + 0x3b], 1
push dword [ebp + 0x28]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push dword [ebp + 0x4c]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + edi + 0x800]
push eax
lea ecx, [ebp + 0x5c]
call fcn.004371c5
push dword [ebp + 0x28]
push esi
push dword [ebp - 0xc]
push dword [ebp - 0x94]
push dword [ebp - 0x20]
push dword [ebp + 0x2c]
push str.imdisk__a___s__s__s___b__sb__s__sb__f__s
push dword [ebp + 0x5c]
call dword [sym.imp.USER32.dll_wsprintfW]
mov eax, dword [ebp + 0x3c]
add esp, 0x20
mov dword [ebp + 0x14], eax
cmp word [eax], bx
je 0x478f31
push 2
lea eax, [ebp + 0x14]
push eax
push 0x4a1514
call fcn.00438f31
add esp, 0xc
test al, al
jne 0x478ef7
push 2
lea eax, [ebp + 0x14]
push eax
push 0x49a6d8
call fcn.00438f31
add esp, 0xc
test al, al
jne 0x478ef7
lea eax, [ebp + 0x14]
push eax
call fcn.00404807
jmp 0x478f25
mov ecx, dword [ebp + 0x14]
xor eax, eax
jmp 0x478f14
call fcn.00431c5f
test al, al
jne 0x478f1c
mov word [ecx], 0x20
mov ecx, dword [ebp + 0x14]
inc ecx
inc ecx
mov dword [ebp + 0x14], ecx
mov ax, word [ecx]
cmp ax, bx
jne 0x478efe
lea eax, [ebp + 0x14]
push eax
call fcn.00431c97
mov eax, dword [ebp + 0x14]
cmp word [eax], bx
pop ecx
jne 0x478ebe
mov eax, dword [ebp + 0x3c]
push eax
lea ecx, [ebp + 0x5c]
call fcn.004371ec
mov eax, dword [ebp + 0x5c]
mov dword [ebp + 0x60], eax
jmp 0x4792da
cmp byte [ebp + 0x6f], bl
je 0x478f78
push ebx
push 0xa0000080
push 3
push ebx
push 7
push 0xc0000000
push dword [ebp + 0x28]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
je 0x479a16
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp + 0x50], edi
jmp 0x478f7f
mov dword [ebp + 0x50], 0x4a1dc0
cmp dword [ebp - 0x3c], ebx
jl 0x478f9d
jg 0x478f8b
cmp dword [ebp - 0x40], ebx
jbe 0x478f9d
push dword [ebp - 0x3c]
lea eax, [esi + 0x6a]
push dword [ebp - 0x40]
push eax
call fcn.004781a1
add esp, 0xc
push 0x5c
push ebx
push dword [ebp + 0x28]
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
mov esi, eax
cmp esi, ebx
jne 0x478fb4
mov esi, dword [ebp + 0x28]
jmp 0x478fb6
inc esi
inc esi
mov eax, dword [ebp + 0x44]
cmp word [eax], bx
jne 0x478fea
push 0x800
lea ecx, [ebp + 0x44]
call fcn.004371c5
mov edi, dword [ebp + 0x44]
call fcn.00433dc1
push eax
push dword [ebp + 0x48]
push dword [ebp - 0xc]
push esi
push str._s_s_s__u
push edi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
push dword [ebp + 0x44]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
mov eax, 0x400
cmp esi, eax
jle 0x47900a
mov esi, eax
mov eax, dword [ebp + 0x44]
mov word [eax + 0x800], bx
push str.Global_
lea ecx, [ebp - 0x28]
call fcn.00441a80
push dword [ebp + 0x44]
lea ecx, [ebp - 0x28]
call fcn.004371ec
push str._devio_Ack
lea ecx, [ebp - 0x28]
call fcn.004371ec
mov eax, dword [ebp - 0x24]
mov word [eax], bx
mov eax, dword [ebp - 0x50]
and eax, 0x30
or eax, ebx
mov word [ebp - 0x1dc], bx
jne 0x47905d
cmp byte [ebp + 0x6f], bl
je 0x479115
mov eax, dword [ebp - 0x50]
and eax, 0x40
or eax, ebx
jne 0x479115
mov edi, dword [ebp - 0x24]
push 0x10
push str.__kill:
push edi
call fcn.00410b58
add esp, 0xc
push 0x104
add edi, 0x27e
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov eax, dword [ebp - 0x24]
push 0x104
add eax, 0xe
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetShortPathNameW]
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edi, dword [ebp + 0x34]
cmp word [edi], 0x22
mov dword [ebp - 0x88], eax
mov dword [ebp + 0x2c], edi
jne 0x4790c9
add dword [ebp + 0x34], 2
jmp 0x4790bf
cmp ax, 0x22
je 0x4790d6
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
jne 0x4790b7
jmp 0x4790d6
lea eax, [ebp + 0x2c]
push eax
call fcn.004047e3
mov edi, dword [ebp + 0x2c]
pop ecx
mov ax, word [edi]
mov word [ebp + 0x2c], ax
mov word [edi], bx
mov eax, dword [ebp - 0x50]
and eax, 0x20
or eax, ebx
mov eax, str._LOAD_25_poweroff
jne 0x4790f4
mov eax, str._RAMD_ImdiskV__D__m__s_
push dword [ebp + 0x34]
mov ecx, dword [ebp - 0x88]
push eax
mov eax, dword [ebp - 0x24]
lea eax, [eax + ecx*2]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov ax, word [ebp + 0x2c]
add esp, 0xc
mov word [edi], ax
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov cl, 1
call fcn.004836f0
and eax, 3
je 0x47913d
push eax
lea eax, [ebp - 0x1dc]
push str._nrc:_d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push ebx
mov edi, 0x200
push edi
push dword [ebp - 0xb4]
push dword [ebp - 0xb8]
call fcn.00483340
push edx
push eax
push dword [ebp - 0xc]
call fcn.004781a1
add esp, 0xc
push ebx
push edi
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
call fcn.00483340
push edx
push eax
push dword [ebp + 0x48]
call fcn.004781a1
mov ecx, dword [ebp + 0x7c]
add esp, 0xc
push 0x49ad10
push str.__ImdMapPid
call fcn.00436b54
push dword [ebp - 0x34]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
call edi
push dword [ebp + 0x28]
mov dword [ebp - 0x88], eax
call edi
add eax, dword [ebp - 0x88]
lea ecx, [ebp - 0x30]
lea eax, [eax + esi + 0x940]
push eax
call fcn.0043719c
push str.Global_
lea ecx, [ebp - 0x54]
call fcn.004419bc
push dword [ebp + 0x44]
lea ecx, [ebp - 0x54]
call fcn.004371ec
push dword [ebp - 0x54]
push ebx
push 2
call dword [sym.imp.KERNEL32.dll_OpenFileMappingW]
cmp eax, ebx
jne 0x479a28
lea ecx, [ebp - 0x54]
call fcn.00431c4c
push dword [ebp - 0xd0]
mov ecx, dword [ebp + 0x48]
lea eax, [ecx + 0x6a]
push eax
push dword [ebp - 0xc]
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
push ecx
push dword [ebp + 0x28]
lea eax, [ebp - 0x1dc]
push dword [ebp + 0x44]
push dword [ebp + 0x50]
push eax
push dword [ebp - 0x34]
push dword [ebp - 0x24]
push dword [ebp + 0x18]
push str.EXEC___pid:__ImdMapPid____exe:_s10INDATA___nfb___MyName0____s__w:60000__s__s__s_shm:_s___s__s__s__s__s
push dword [ebp - 0x30]
call edi
add esp, 0x34
add esi, 0x800
push esi
lea ecx, [ebp + 0x5c]
call fcn.004371c5
mov eax, dword [ebp - 0xc]
mov word [eax], bx
mov eax, dword [ebp + 0x48]
mov word [eax], bx
push dword [ebp + 0x44]
push dword [ebp - 0x94]
push dword [ebp - 0x20]
push 0x497994
push str.imdisk__a__t_proxy__s__s__s__o_shm__f__s
push dword [ebp + 0x5c]
call edi
add esp, 0x18
push dword [ebp + 0x3c]
lea ecx, [ebp + 0x5c]
call fcn.004371ec
push dword [ebp - 0x28]
mov eax, dword [ebp + 0x5c]
push ebx
push ebx
push ebx
mov dword [ebp + 0x60], eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov ecx, dword [ebp + 0x7c]
push ebx
push ebx
push ebx
push dword [ebp - 0x30]
mov edi, eax
call fcn.00427548
push 0xea60
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, ebx
jne 0x479a51
push 0x32
pop esi
push ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
dec esi
jne 0x4792b7
cmp dword [ebp - 0x7c], ebx
jle 0x4792d2
mov ecx, dword [ebp + 0x7c]
push ebx
push dword [ebp - 0x7c]
call fcn.0040da4e
lea ecx, [ebp - 0x30]
call fcn.00431c4c
mov eax, dword [ebp + 0x3c]
mov dword [ebp + 0x4c], eax
lea ecx, [ebp - 0x38]
mov word [eax], bx
mov dword [ebp - 0xe4], 1
call fcn.00431c4c
mov esi, 0x4b069c
mov ax, word [ebp - 0x84]
mov ecx, dword [ebp - 0xdc]
mov word [ecx], ax
jmp 0x47978a
push 4
lea eax, [ebp + 0x4c]
push eax
push str._exe
call fcn.00438eee
add esp, 0xc
test al, al
je 0x47932d
mov dword [ebp + 0x24], 1
push 5
lea eax, [ebp + 0x4c]
push eax
push str._nexe
call fcn.00438eee
add esp, 0xc
test al, al
je 0x47934b
mov dword [ebp + 0x24], 0xfff00000
push 6
lea eax, [ebp + 0x4c]
push eax
push str._nexe1
call fcn.00438eee
add esp, 0xc
test al, al
je 0x479373
mov dword [ebp + 0x24], 0xfff00000
mov dword [ebp - 0x8c], 1
push 0x2c
pop esi
push esi
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.00439b04
mov eax, dword [ebp - 0x14]
mov word [eax], bx
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], bx
je 0x479440
add dword [ebp + 0x60], edi
push esi
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.00439b04
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], bx
je 0x479440
add dword [ebp + 0x60], edi
push esi
lea eax, [ebp + 4]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.00439b04
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], bx
je 0x479440
add dword [ebp + 0x60], edi
push esi
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.00439b04
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], bx
je 0x479440
add dword [ebp + 0x60], edi
push esi
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.00439b04
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], bx
je 0x479440
add dword [ebp + 0x60], edi
push esi
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.00439b04
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], bx
je 0x479440
add dword [ebp + 0x60], edi
push esi
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.00439cba
add esp, 0xc
push 6
lea ecx, [ebp + 0x54]
mov byte [ebp + 0x66], bl
call fcn.004371c5
mov eax, dword [ebp + 0x54]
mov word [eax + 2], 0x3a
mov eax, dword [ebp + 0x54]
mov word [eax + 4], bx
mov eax, dword [ebp + 0x54]
cmp word [eax], bx
je 0x4794dc
push eax
call fcn.00482b55
test eax, eax
pop ecx
je 0x4794d4
mov eax, dword [ebp + 0x54]
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0x100], str.imdisk
mov dword [ebp - 0xfc], 0x4a1ea4
mov dword [ebp - 0xf8], 0x4a1b98
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], ebx
call fcn.0043717e
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x100]
push eax
push 4
call fcn.00423716
add esp, 0xc
neg eax
sbb al, al
inc al
lea ecx, [ebp - 0xa8]
mov byte [ebp + 0x66], al
call fcn.00431c4c
mov eax, dword [ebp + 0x54]
cmp word [eax], bx
jne 0x4794f5
push 0x49b9b0
lea ecx, [ebp + 0x54]
call fcn.00441a24
mov eax, dword [ebp + 0x54]
cmp word [eax], bx
je 0x479a72
push 0x3c
lea ecx, [ebp - 8]
call fcn.0043719c
mov eax, dword [ebp - 0x14]
or esi, 0xffffffff
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x98], esi
mov dword [ebp - 0xcc], esi
mov dword [ebp - 0xc8], esi
mov dword [ebp + 0x40], eax
cmp word [eax], bx
mov edi, esi
je 0x479a6a
lea eax, [ebp + 0x40]
push eax
call fcn.00431c97
mov eax, dword [ebp + 0x40]
mov ax, word [eax]
or ax, 0x20
cmp ax, 0x70
pop ecx
jne 0x479559
lea eax, [ebp - 0xa4]
jmp 0x479573
cmp ax, 0x6c
jne 0x479567
lea eax, [ebp - 0x9c]
jmp 0x479573
cmp ax, 0x68
jne 0x47958b
lea eax, [ebp - 0xcc]
add dword [ebp + 0x40], 2
push eax
lea eax, [ebp + 0x40]
push eax
call fcn.00439f88
mov eax, dword [ebp + 0x40]
cmp word [eax], bx
pop ecx
pop ecx
jne 0x479537
cmp dword [ebp - 0xa0], ebx
jl 0x4795cd
jg 0x47959d
cmp dword [ebp - 0xa4], ebx
jbe 0x4795cd
push 1
call fcn.0041128a
pop ecx
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
push edx
push eax
call fcn.004833f0
push ebx
push 0x64
push edx
push eax
call fcn.00483340
mov cl, 0x14
call fcn.004836f0
mov edi, eax
mov esi, edx
cmp esi, dword [ebp - 0x98]
jg 0x4795eb
jl 0x4795df
cmp edi, dword [ebp - 0x9c]
jae 0x4795eb
mov edi, dword [ebp - 0x9c]
mov esi, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xc8]
cmp ecx, ebx
jl 0x47961d
mov eax, dword [ebp - 0xcc]
jg 0x479601
cmp eax, ebx
jbe 0x47961d
cmp esi, ecx
jl 0x47960f
jg 0x47960b
cmp edi, eax
jbe 0x47960f
mov edi, eax
mov esi, ecx
cmp esi, ebx
jg 0x47962f
jl 0x479619
cmp edi, ebx
ja 0x47961d
mov edi, eax
mov esi, ecx
cmp esi, ebx
jl 0x479a6a
jg 0x47962f
cmp edi, ebx
jb 0x479a6a
mov eax, dword [ebp + 0x54]
cmp word [eax], bx
je 0x479a6a
cmp esi, ebx
jg 0x47964a
jl 0x479645
cmp edi, ebx
ja 0x47964a
xor edi, edi
inc edi
xor esi, esi
push esi
push edi
push dword [ebp - 8]
call fcn.004781bb
add esp, 0xc
push 0x4a1b90
lea ecx, [ebp - 8]
call fcn.004371ec
cmp byte [ebp + 0x66], bl
mov eax, str.imdisk___e
jne 0x479673
mov eax, str.imdisk___a
push eax
lea ecx, [ebp + 0x5c]
call fcn.00441a24
mov eax, dword [ebp - 0xd8]
and eax, 1
xor ecx, ecx
or eax, ecx
je 0x479698
push str.__o_awe
lea ecx, [ebp + 0x5c]
call fcn.004371ec
mov eax, dword [ebp - 8]
cmp word [eax], bx
je 0x4796b8
push 0x4a1b40
lea ecx, [ebp + 0x5c]
call fcn.004371ec
push dword [ebp - 8]
lea ecx, [ebp + 0x5c]
call fcn.004371ec
mov eax, dword [ebp + 0x54]
cmp word [eax], bx
je 0x4796d8
push str.___m
lea ecx, [ebp + 0x5c]
call fcn.004371ec
push dword [ebp + 0x54]
lea ecx, [ebp + 0x5c]
call fcn.004371ec
mov eax, dword [ebp + 4]
cmp word [eax], bx
jne 0x4796ec
mov eax, dword [ebp - 0x1c]
cmp word [eax], bx
je 0x479777
push str.___p__
lea ecx, [ebp + 0x5c]
call fcn.004371ec
mov eax, dword [ebp + 4]
cmp word [eax], bx
je 0x479719
push str.__FS:
lea ecx, [ebp + 0x5c]
call fcn.004371ec
push dword [ebp + 4]
lea ecx, [ebp + 0x5c]
call fcn.004371ec
mov eax, dword [ebp - 0x1c]
cmp word [eax], bx
je 0x479739
push str.__V:
lea ecx, [ebp + 0x5c]
call fcn.004371ec
push dword [ebp - 0x1c]
lea ecx, [ebp + 0x5c]
call fcn.004371ec
push dword [ebp + 4]
push 0x49f350
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x47976a
mov eax, dword [ebp - 0x44]
mov ax, word [eax]
cmp ax, bx
je 0x47976a
cmp ax, 0x30
je 0x47976a
push 0x49f348
lea ecx, [ebp + 0x5c]
call fcn.004371ec
push str.___Q__Y__X__
lea ecx, [ebp + 0x5c]
call fcn.004371ec
mov eax, dword [ebp + 0x5c]
lea ecx, [ebp - 8]
mov dword [ebp + 0x60], eax
call fcn.00431c4c
mov esi, 0x4b069c
lea eax, [ebp + 0x4c]
push eax
call fcn.00431c97
push 4
push dword [ebp + 0x4c]
push 0x49a4bc
call fcn.00432c0f
add esp, 0x10
test al, al
jne 0x479a79
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
mov eax, dword [ebp + 0x60]
mov dword [ebp + 0x48], eax
lea eax, [ebp + 0x48]
push eax
sub edi, 0xc8
call fcn.004047e3
pop ecx
push dword [ebp + 0x48]
lea ecx, [ebp - 0x5c]
call fcn.00441a80
mov eax, dword [ebp - 0x5c]
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x34], eax
jmp 0x479833
push 6
lea eax, [ebp + 0x34]
push eax
push 0x4a1b00
call fcn.00438f31
add esp, 0xc
test al, al
jne 0x479830
push 6
lea eax, [ebp + 0x34]
push eax
push 0x498110
call fcn.00438f31
add esp, 0xc
test al, al
jne 0x479830
push 2
lea eax, [ebp + 0x34]
push eax
push 0x49a44c
call fcn.00438f31
add esp, 0xc
test al, al
jne 0x479830
lea eax, [ebp + 0x34]
push eax
call fcn.00404807
pop ecx
mov eax, dword [ebp + 0x34]
cmp word [eax], bx
jne 0x4797e1
cmp dword [ebp - 0x10], ebx
jne 0x479945
cmp dword [ebp + 0x24], ebx
jg 0x479945
push ebx
push dword [ebp + 0x60]
lea ecx, [ebp - 0x1a0]
call fcn.00444e2a
cmp dword [ebp - 0x168], 1
jle 0x479a90
mov eax, dword [ebp - 0x164]
mov dword [eax], str.imdisk
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x164]
push dword [ebp - 0x168]
call fcn.00423716
add esp, 0xc
cmp byte [ebp + 0x3b], bl
mov dword [ebp + 0x20], eax
mov dword [ebp - 0x90], ebx
jle 0x47999a
cmp eax, 3
jne 0x47999a
cmp dword [ebp - 0x8c], ebx
jne 0x47999a
lea ecx, [ebp - 0x28]
mov byte [ebp + 0x5b], 1
call fcn.00431c4c
lea ecx, [ebp - 0x5c]
call fcn.00431c4c
lea ecx, [ebp + 0x28]
call fcn.00431c4c
lea ecx, [ebp - 0x34]
call fcn.00431c4c
lea ecx, [ebp + 0x44]
call fcn.00431c4c
lea ecx, [ebp - 0x44]
call fcn.00431c4c
lea ecx, [ebp - 0x1c]
call fcn.00431c4c
lea ecx, [ebp + 0x54]
call fcn.00431c4c
lea ecx, [ebp + 4]
call fcn.00431c4c
lea ecx, [ebp - 0x14]
call fcn.00431c4c
lea ecx, [ebp - 4]
call fcn.00431c4c
lea ecx, [ebp + 0x5c]
call fcn.00431c4c
lea ecx, [ebp - 0xbc]
call fcn.00431c4c
lea ecx, [ebp + 0x1c]
call fcn.00431c4c
lea ecx, [ebp - 0x2c]
call fcn.00431c4c
lea ecx, [ebp + 0x78]
call fcn.004768c4
lea ecx, [ebp - 0x78]
call fcn.00431c4c
jmp 0x478489
cmp dword [ebp - 0x8c], ebx
jne 0x47999a
push dword [ebp - 4]
lea ecx, [ebp - 0x58]
call fcn.004419bc
push dword [ebp + 0x48]
lea ecx, [ebp - 0x58]
call fcn.004371ec
mov eax, dword [ebp + 0x1c]
cmp word [eax], bx
mov ecx, dword [ebp + 0x7c]
mov dword [ebp - 0x90], 1
je 0x479987
push ebx
push ebx
push ebx
push dword [ebp - 0x58]
push ecx
push ebx
call fcn.004074ae
jmp 0x47998f
push dword [ebp - 0x58]
call fcn.00431e4f
lea ecx, [ebp - 0x58]
mov dword [ebp + 0x20], eax
call fcn.00431c4c
mov ecx, dword [ebp - 0xe4]
xor eax, eax
or ecx, eax
je 0x479a97
cmp dword [ebp + 0x20], 3
jne 0x479a97
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, edi
cmp eax, 0x1388
jae 0x479a97
mov ecx, dword [ebp + 0x7c]
push ebx
push 0xc8
call fcn.0040da4e
mov esi, 0x4b069c
jmp 0x479838
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x4b0abc], ebx
jle 0x479a04
push esi
call edi
mov ecx, dword [ebp + 0x7c]
push ebx
push 1
call fcn.0040da4e
jmp 0x4799e5
push 0xffffffffffffffff
lea ecx, [ebp + 0xb]
call fcn.0040fb74
push esi
call edi
jmp 0x479b6b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
jne 0x479a23
xor eax, eax
inc eax
mov dword [ebp + 0x20], eax
jmp 0x479a60
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x54]
call fcn.00431c4c
lea ecx, [ebp - 0x30]
call fcn.00431c4c
lea ecx, [ebp - 0x38]
call fcn.00431c4c
mov ebx, 0xb7
jmp 0x479ae8
lea ecx, [ebp - 0x30]
mov dword [ebp + 0x20], 1
call fcn.00431c4c
lea ecx, [ebp - 0x38]
call fcn.00431c4c
jmp 0x479a97
lea ecx, [ebp - 8]
call fcn.00431c4c
mov ebx, 0x80070057
jmp 0x479ae8
mov ecx, dword [ebp + 0x7c]
push 0xffffffffffffff9c
push 0x497994
push ebx
push str.imdisk.cpl_
call fcn.0044eb81
jmp 0x479ae8
mov dword [ebp + 0x20], 0x80070057
mov eax, dword [ebp - 0x160]
cmp eax, ebx
je 0x479ab2
lea ecx, [ebp + 0x78]
mov dword [ebp + 0x78], eax
mov dword [ebp - 0x160], ebx
call fcn.00431c4c
mov edx, dword [ebp + 0x1c]
cmp word [edx], bx
je 0x479ae5
cmp dword [ebp - 0x90], ebx
jne 0x479ae5
mov ecx, dword [ebp - 0x2c]
mov word [ebp - 0x21c], bx
cmp word [ecx], 0x2a
lea eax, [ebp - 0x21c]
jne 0x479adb
lea eax, [ecx + 2]
mov ecx, dword [ebp + 0x7c]
push eax
push edx
call fcn.00436b54
mov ebx, dword [ebp + 0x20]
lea ecx, [ebp - 0x28]
call fcn.00431c4c
lea ecx, [ebp - 0x5c]
call fcn.00431c4c
lea ecx, [ebp + 0x28]
call fcn.00431c4c
lea ecx, [ebp - 0x34]
call fcn.00431c4c
lea ecx, [ebp + 0x44]
call fcn.00431c4c
lea ecx, [ebp - 0x44]
call fcn.00431c4c
lea ecx, [ebp - 0x1c]
call fcn.00431c4c
lea ecx, [ebp + 0x54]
call fcn.00431c4c
lea ecx, [ebp + 4]
call fcn.00431c4c
lea ecx, [ebp - 0x14]
call fcn.00431c4c
lea ecx, [ebp - 4]
call fcn.00431c4c
lea ecx, [ebp + 0x5c]
call fcn.00431c4c
lea ecx, [ebp - 0xbc]
call fcn.00431c4c
lea ecx, [ebp + 0x1c]
call fcn.00431c4c
lea ecx, [ebp - 0x2c]
call fcn.00431c4c
lea ecx, [ebp + 0x78]
call fcn.004768c4
lea ecx, [ebp - 0x78]
call fcn.00431c4c
pop edi
pop esi
mov eax, ebx
pop ebx
add ebp, 0x70
leave
ret