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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov edi, ecx
sub esp, 0xec
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
lea eax, [ecx + 0xc]
lea ecx, [ebp - 0x48]
mov dword [esp], eax
call fcn.0041fa30
mov eax, dword [ebp + 8]
xor edx, edx
sub esp, 8
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov word [ebp - 0x2c], dx
mov ebx, dword [eax]
mov ecx, dword [eax + 4]
mov esi, dword [eax + 8]
cmp ebx, ecx
jb 0x46c81f
test ecx, ecx
jne 0x46d361
test esi, esi
mov dword [ebp - 0xa0], 0x10
je 0x46e108
mov dword [ebp - 0xa4], 0x200
mov eax, dword [ebp - 0xb4]
mov edx, dword [eax]
mov eax, dword [edx + 4]
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xb0], eax
sub eax, ecx
mov dword [ebp - 0xb8], eax
lea eax, [edx + eax + 0x10]
mov edx, eax
mov eax, dword [ebp - 0xa8]
cmp edx, esi
mov eax, dword [eax]
mov dword [ebp - 0xac], eax
je 0x46c7f0
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xa4]
add eax, edx
cmp eax, dword [ebp - 0xac]
ja 0x46df6a
mov ebx, edx
add ebx, 0x10
mov edx, dword [ebp - 0xa8]
mov dword [edx + 4], eax
mov eax, edx
add eax, ebx
mov edx, eax
je 0x46df97
test ecx, ecx
jne 0x46e4e7
mov eax, dword [ebp + 8]
mov esi, edx
mov ebx, dword [eax]
jmp 0x46c810
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xa4]
add eax, edx
cmp eax, dword [ebp - 0xac]
ja 0x46c7a4
mov ecx, dword [ebp - 0xa8]
mov dword [ecx + 4], eax
nop
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xa0]
mov dword [eax + 8], esi
mov dword [eax + 4], ecx
shl ebx, 5
mov eax, 0x405
mov dword [ebp - 0x30], 0x74b6a0
add ebx, esi
mov word [ebp - 0x2a], ax
mov dword [ebp - 0x38], 4
mov dword [ebx], 4
mov eax, dword [ebp - 0x34]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x30]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0xa0], eax
shl eax, 5
add esi, eax
mov eax, dword [ebp - 0x48]
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x44]
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0x40]
mov dword [esi + 0x18], eax
mov eax, dword [ebp - 0x3c]
mov dword [esi + 0x1c], eax
mov eax, dword [ebp + 8]
add dword [eax], 1
cmp byte [edi + 8], 0
je 0x46d3f0
mov dword [esp], 8
call fcn.006ff510
mov dword [eax], 0
mov dword [eax + 4], 0
mov ebx, eax
movzx eax, byte [edi + 0xb]
mov dword [esp + 0x14], eax
movzx eax, byte [edi + 0xa]
mov dword [esp + 0x10], eax
movzx eax, byte [edi + 9]
mov dword [esp], ebx
mov dword [esp + 8], str._02hhx:_02hhx._01hhx
mov dword [esp + 4], 8
mov dword [esp + 0xc], eax
call fcn.00553440
mov dword [ebp - 0x58], ebx
mov dword [esp], ebx
lea ebx, [ebp - 0x58]
call sub.msvcrt.dll_strstr
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x48]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0041fa30
xor eax, eax
sub esp, 8
mov dword [ebp - 0x34], 0
mov word [ebp - 0x2c], ax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x30], 0
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov ebx, dword [eax + 8]
cmp edx, esi
jb 0x46ca29
test esi, esi
jne 0x46d323
test ebx, ebx
je 0x46e3fe
mov dword [ebp - 0xa0], 0x10
mov dword [ebp - 0xa4], 0x200
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
mov dword [ebp - 0xb0], eax
sub eax, esi
mov dword [ebp - 0xb8], eax
lea eax, [ecx + eax + 0x10]
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], ebx
mov eax, dword [ecx]
mov dword [ebp - 0xa8], eax
je 0x46de20
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xa4]
add eax, edx
add edx, 0x10
cmp eax, dword [ebp - 0xa8]
jbe 0x46ca04
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xa4]
cmp dword [eax + 4], ecx
cmovae ecx, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
mov dword [ebp - 0xa8], ecx
je 0x46e93b
mov eax, dword [ebp - 0xa8]
add eax, 0x10
jne 0x46c9cf
mov eax, dword [ebp + 8]
xor ebx, ebx
mov edx, dword [eax]
jmp 0x46ca1a
mov dword [esp], eax
call sub.msvcrt.dll_memset
test eax, eax
mov ecx, eax
je 0x46c9c6
mov edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xa8]
mov dword [ecx + 4], 0
mov dword [ecx], eax
mov eax, dword [edx]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xa4]
mov dword [edx], ecx
mov edx, 0x10
mov dword [ecx + 4], eax
add ecx, edx
je 0x46c9c6
test esi, esi
jne 0x46dfec
mov eax, dword [ebp + 8]
mov ebx, ecx
mov edx, dword [eax]
mov eax, dword [ebp + 8]
mov esi, dword [ebp - 0xa0]
mov dword [eax + 8], ebx
mov dword [eax + 4], esi
shl edx, 5
mov esi, 0x405
mov dword [ebp - 0x30], str.bus_id
add edx, ebx
mov word [ebp - 0x2a], si
mov dword [ebp - 0x38], 6
mov dword [edx], 6
mov eax, dword [ebp - 0x34]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x30]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x2c]
mov dword [edx + 0xc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0xa0], eax
shl eax, 5
add ebx, eax
mov eax, dword [ebp - 0x48]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0x44]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp - 0x40]
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp + 8]
add dword [eax], 1
mov eax, dword [ebp - 0x58]
test eax, eax
je 0x46ca9a
mov dword [esp], eax
call fcn.006ff4e0
mov dword [esp + 4], 4
mov eax, dword [edi + 4]
mov dword [esp], eax
call fcn.0046f150
mov dword [ebp - 0xa0], eax
sar eax, 0x1f
mov esi, dword [ebp + 8]
and eax, 0xffffffe0
mov ebx, dword [ebp + 8]
xor edx, edx
add ax, 0x1f6
xor ecx, ecx
mov dword [ebp - 0x44], 0
mov word [ebp - 0xa4], ax
mov eax, dword [ebp + 8]
mov esi, dword [esi + 4]
mov dword [ebp - 0x40], 0
mov word [ebp - 0x3c], dx
mov dword [ebp - 0x30], 0
mov eax, dword [eax]
mov word [ebp - 0x2c], cx
mov dword [ebp - 0x9c], 0
mov ebx, dword [ebx + 8]
cmp eax, esi
jb 0x46cbdf
test esi, esi
jne 0x46d2e1
test ebx, ebx
je 0x46e13b
mov dword [ebp - 0xa8], 0x10
mov dword [ebp - 0xac], 0x200
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xc0], edx
sub edx, esi
mov dword [ebp - 0xc4], edx
lea edx, [ecx + edx + 0x10]
mov dword [ebp - 0xb8], edx
cmp dword [ebp - 0xb8], ebx
mov edx, dword [ecx]
mov dword [ebp - 0xb0], edx
je 0x46cbb0
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xac]
mov eax, edx
add eax, ecx
cmp eax, dword [ebp - 0xb0]
ja 0x46deb1
add edx, 0x10
mov ecx, edx
mov edx, dword [ebp - 0xbc]
mov dword [edx + 4], eax
mov eax, edx
add eax, ecx
mov ecx, eax
je 0x46dede
test esi, esi
jne 0x46e51f
mov eax, dword [ebp + 8]
mov ebx, ecx
mov eax, dword [eax]
jmp 0x46cbd0
mov edx, dword [ebp - 0xc4]
add edx, dword [ebp - 0xac]
cmp edx, dword [ebp - 0xb0]
ja 0x46cb65
mov dword [ecx + 4], edx
mov esi, esi
lea edi, [edi]
mov esi, dword [ebp + 8]
mov edx, dword [ebp - 0xa8]
mov dword [esi + 8], ebx
mov dword [esi + 4], edx
shl eax, 5
mov edx, 0x405
mov dword [ebp - 0x40], 0x74b6c5
add eax, ebx
mov word [ebp - 0x3a], dx
mov dword [ebp - 0x48], 3
mov dword [eax], 3
mov esi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xa0]
mov dword [eax + 4], esi
mov esi, dword [ebp - 0x40]
mov dword [eax + 8], esi
mov esi, dword [ebp - 0x3c]
mov dword [eax + 0xc], esi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x34], ecx
movzx ecx, word [ebp - 0xa4]
mov dword [ebp - 0x38], edx
mov eax, dword [eax]
mov word [ebp - 0x2a], cx
mov dword [ebp - 0xa8], eax
shl eax, 5
add ebx, eax
mov dword [ebx + 0x10], edx
mov eax, dword [ebp - 0x34]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp + 8]
add dword [eax], 1
mov dword [esp + 4], 2
mov eax, dword [edi + 4]
mov dword [esp], eax
call fcn.0046f150
mov dword [esp + 4], 3
mov ebx, eax
mov eax, dword [edi + 4]
mov dword [esp], eax
call fcn.0046f150
lea edx, [ebx + ebx*4]
mov esi, dword [ebp + 8]
xor ebx, ebx
mov word [ebp - 0x2c], bx
mov ebx, dword [ebp + 8]
xor ecx, ecx
lea eax, [eax + edx*2]
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov esi, dword [esi + 4]
mov word [ebp - 0x3c], cx
mov dword [ebp - 0xa0], eax
sar eax, 0x1f
mov dword [ebp - 0x30], 0
and eax, 0xffffffe0
mov dword [ebp - 0x9c], 0
mov ebx, dword [ebx + 8]
add ax, 0x1f6
mov word [ebp - 0xa4], ax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, esi
jb 0x46cdc1
test esi, esi
jne 0x46d2a0
test ebx, ebx
mov dword [ebp - 0xa8], 0x10
je 0x46e2ab
mov dword [ebp - 0xac], 0x200
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xc0], edx
sub edx, esi
mov dword [ebp - 0xc4], edx
lea edx, [ecx + edx + 0x10]
mov dword [ebp - 0xb8], edx
cmp dword [ebp - 0xb8], ebx
mov edx, dword [ecx]
mov dword [ebp - 0xb0], edx
je 0x46cd90
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xac]
mov eax, ecx
add eax, edx
cmp eax, dword [ebp - 0xb0]
ja 0x46dfa3
add ecx, 0x10
mov edx, ecx
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 4], eax
mov eax, ecx
add eax, edx
mov ecx, eax
je 0x46dfd0
test esi, esi
jne 0x46e503
mov eax, dword [ebp + 8]
mov ebx, ecx
mov eax, dword [eax]
jmp 0x46cdb0
mov edx, dword [ebp - 0xc4]
add edx, dword [ebp - 0xac]
cmp edx, dword [ebp - 0xb0]
ja 0x46cd41
mov dword [ecx + 4], edx
mov esi, esi
lea edi, [edi]
mov esi, dword [ebp + 8]
mov dword [esi + 8], ebx
mov edx, esi
mov esi, dword [ebp - 0xa8]
mov dword [edx + 4], esi
shl eax, 5
mov edx, 0x405
mov dword [ebp - 0x40], str.arch
add eax, ebx
mov word [ebp - 0x3a], dx
mov dword [ebp - 0x48], 4
mov dword [eax], 4
mov esi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xa0]
mov dword [eax + 4], esi
mov esi, dword [ebp - 0x40]
mov dword [eax + 8], esi
mov esi, dword [ebp - 0x3c]
mov dword [eax + 0xc], esi
mov eax, dword [ebp + 8]
xor esi, esi
mov dword [ebp - 0x34], ecx
movzx ecx, word [ebp - 0xa4]
mov dword [ebp - 0x38], edx
mov eax, dword [eax]
mov word [ebp - 0x2a], cx
mov dword [ebp - 0xa8], eax
shl eax, 5
add ebx, eax
mov dword [ebx + 0x10], edx
mov eax, dword [ebp - 0x34]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp + 8]
xor ebx, ebx
add dword [eax], 1
mov dword [esp + 4], 0xb
mov eax, dword [edi + 4]
mov dword [esp], eax
call fcn.0046f1a0
mov ecx, eax
and eax, 0x80000000
mov word [ebp - 0x2c], si
cmp eax, 1
mov eax, dword [ebp + 8]
mov word [ebp - 0x3c], bx
sbb ebx, ebx
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
and ebx, 0x20
mov dword [ebp - 0x30], 0
mov edx, dword [eax]
mov esi, eax
mov eax, dword [eax + 4]
add bx, 0x1d6
mov esi, dword [esi + 8]
cmp edx, eax
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0xa4], eax
jb 0x46cfb4
test eax, eax
jne 0x46d393
test esi, esi
je 0x46e1eb
mov dword [ebp - 0xa8], 0x10
mov dword [ebp - 0xac], 0x200
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax]
mov edx, eax
mov eax, dword [eax + 4]
mov dword [ebp - 0xc0], eax
sub eax, dword [ebp - 0xa4]
mov dword [ebp - 0xb0], eax
mov eax, edx
mov edx, dword [ebp - 0xb0]
mov dword [ebp - 0xb8], eax
lea edx, [eax + edx + 0x10]
mov dword [ebp - 0xbc], edx
cmp dword [ebp - 0xbc], esi
mov edx, dword [eax]
mov dword [ebp - 0xc4], edx
je 0x46cf80
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xa0]
add eax, edx
cmp eax, dword [ebp - 0xc4]
ja 0x46df25
add edx, 0x10
mov dword [ebp - 0xa0], edx
mov edx, dword [ebp - 0xb8]
mov dword [edx + 4], eax
mov eax, edx
add eax, dword [ebp - 0xa0]
mov edx, eax
je 0x46df58
mov eax, dword [ebp - 0xa4]
test eax, eax
jne 0x46e557
mov eax, dword [ebp + 8]
mov esi, edx
mov eax, dword [eax]
mov dword [ebp - 0xa0], eax
jmp 0x46cfa5
mov eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0xac]
cmp eax, edx
mov dword [ebp - 0xb0], eax
ja 0x46cf11
mov edx, eax
mov eax, dword [ebp - 0xb8]
mov dword [eax + 4], edx
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0xa8]
mov dword [eax + 8], esi
mov dword [eax + 4], edx
mov eax, 0x405
mov dword [ebp - 0x40], str.global_mem
mov dword [ebp - 0x48], 0xa
mov word [ebp - 0x3a], ax
mov eax, dword [ebp - 0xa0]
shl eax, 5
add eax, esi
mov dword [eax], 0xa
mov edx, dword [ebp - 0x44]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x3c]
mov dword [eax + 0xc], edx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], 0
mov word [ebp - 0x2a], bx
mov eax, dword [eax]
mov dword [ebp - 0xa0], eax
shl eax, 5
add esi, eax
mov dword [esi + 0x10], ecx
mov eax, dword [ebp - 0x34]
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0x30]
mov dword [esi + 0x18], eax
mov eax, dword [ebp - 0x2c]
mov dword [esi + 0x1c], eax
mov eax, dword [ebp + 8]
add dword [eax], 1
mov dword [esp + 4], 9
mov eax, dword [edi + 4]
mov dword [esp], eax
call fcn.0046f150
xor edx, edx
mov esi, dword [ebp + 8]
xor ecx, ecx
mov word [ebp - 0x3c], dx
mov edx, 0x10624dd3
mov dword [ebp - 0x44], 0
mul edx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x40], 0
mov esi, dword [esi + 4]
mov dword [ebp - 0x30], 0
mov word [ebp - 0x2c], cx
mov dword [ebp - 0x9c], 0
mov eax, dword [eax]
shr edx, 6
mov dword [ebp - 0xa0], edx
cmp eax, esi
jb 0x46d3e0
mov ebx, dword [ebp + 8]
test esi, esi
mov ebx, dword [ebx + 8]
je 0x46db31
lea edx, [esi + 1]
shr edx, 1
lea ecx, [edx + esi]
cmp esi, ecx
mov dword [ebp - 0xa4], ecx
jb 0x46eb8c
shl eax, 5
mov edx, 0x405
mov dword [ebp - 0x40], str.clock
add eax, ebx
mov word [ebp - 0x3a], dx
mov dword [ebp - 0x48], 5
mov dword [eax], 5
mov esi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xa0]
mov dword [eax + 4], esi
mov esi, dword [ebp - 0x40]
mov dword [eax + 8], esi
mov esi, dword [ebp - 0x3c]
mov dword [eax + 0xc], esi
mov eax, dword [ebp + 8]
xor esi, esi
mov dword [ebp - 0x34], ecx
mov ecx, 0x1f6
mov dword [ebp - 0x38], edx
mov word [ebp - 0x2a], cx
mov eax, dword [eax]
mov dword [ebp - 0xa4], eax
shl eax, 5
add ebx, eax
mov dword [ebx + 0x10], edx
mov eax, dword [ebp - 0x34]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp + 8]
xor ebx, ebx
add dword [eax], 1
mov dword [esp + 4], 0xa
mov eax, dword [edi + 4]
mov dword [esp], eax
call fcn.0046f150
mov edx, 0x10624dd3
mov word [ebp - 0x2c], si
mov esi, dword [ebp + 8]
mul edx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov word [ebp - 0x3c], bx
mov esi, dword [esi + 4]
mov dword [ebp - 0x30], 0
mov eax, dword [eax]
shr edx, 6
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0xa0], edx
cmp eax, esi
jb 0x46d410
mov ebx, dword [ebp + 8]
test esi, esi
mov ebx, dword [ebx + 8]
jne 0x46daf0
test ebx, ebx
je 0x46de40
mov dword [ebp - 0xa4], 0x10
mov dword [ebp - 0xa8], 0x200
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xbc], edx
sub edx, esi
mov dword [ebp - 0xc0], edx
lea edx, [ecx + edx + 0x10]
mov dword [ebp - 0xb0], edx
cmp dword [ebp - 0xb0], ebx
mov edx, dword [ecx]
mov dword [ebp - 0xac], edx
je 0x46ddb3
mov edx, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xa8]
mov eax, edx
add eax, ecx
cmp eax, dword [ebp - 0xac]
jbe 0x46dfdc
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 4], ecx
cmovae ecx, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
mov dword [ebp - 0xac], ecx
je 0x46e91e
mov eax, dword [ebp - 0xac]
add eax, 0x10
je 0x46dea5
mov dword [esp], eax
call sub.msvcrt.dll_memset
test eax, eax
mov dword [ebp - 0xb8], eax
je 0x46dea5
mov edx, eax
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xac]
mov dword [edx + 4], 0
mov dword [edx], eax
mov eax, dword [ecx]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0xa8]
mov dword [ecx], edx
mov ecx, 0x10
mov dword [edx + 4], eax
mov eax, edx
add eax, ecx
mov ecx, eax
je 0x46dea5
test esi, esi
jne 0x46e58b
mov eax, dword [ebp + 8]
mov ebx, ecx
mov eax, dword [eax]
jmp 0x46ddd0
lea ecx, [esi + 1]
shr ecx, 1
lea edx, [ecx + esi]
cmp esi, edx
mov dword [ebp - 0xa8], edx
jae 0x46cdc1
shl edx, 5
shl esi, 5
test ebx, ebx
mov ecx, edx
je 0x46ebd8
test edx, edx
je 0x46ebd1
cmp esi, edx
mov dword [ebp - 0xac], edx
jae 0x46cdb0
jmp 0x46cd08
lea ecx, [esi + 1]
shr ecx, 1
add ecx, esi
cmp esi, ecx
mov dword [ebp - 0xa8], ecx
jae 0x46cbdf
mov edx, ecx
shl esi, 5
shl edx, 5
test ebx, ebx
mov ecx, edx
je 0x46eb6b
test edx, edx
je 0x46eb64
cmp esi, edx
mov dword [ebp - 0xac], edx
jae 0x46cbd0
jmp 0x46cb2c
lea eax, [esi + 1]
shr eax, 1
add eax, esi
cmp esi, eax
mov dword [ebp - 0xa0], eax
jae 0x46ca29
shl eax, 5
shl esi, 5
test ebx, ebx
je 0x46eb7f
test eax, eax
je 0x46eb78
cmp esi, eax
mov dword [ebp - 0xa4], eax
jae 0x46ca1a
jmp 0x46c947
lea eax, [ecx + 1]
shr eax, 1
add eax, ecx
cmp ecx, eax
mov dword [ebp - 0xa0], eax
jae 0x46c81f
shl eax, 5
shl ecx, 5
test esi, esi
je 0x46ebc4
test eax, eax
jne 0x46ebb1
xor esi, esi
jmp 0x46c810
mov edx, eax
lea eax, [eax + 1]
shr eax, 1
add eax, edx
cmp edx, eax
mov dword [ebp - 0xa8], eax
jae 0x46cfb4
shl eax, 5
shl edx, 5
test esi, esi
je 0x46eb03
test eax, eax
je 0x46eafc
cmp edx, eax
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xac], eax
jae 0x46cfa5
jmp 0x46ceca
mov esi, dword [ebp + 8]
mov ebx, dword [esi + 8]
jmp 0x46d0ac
lea ebx, [ebp - 0x58]
mov dword [esp], 0x74b6a5
mov ecx, ebx
call fcn.0041f810
sub esp, 4
jmp 0x46c8e7
mov esi, dword [ebp + 8]
mov ebx, dword [esi + 8]
shl eax, 5
mov edx, 0x405
mov dword [ebp - 0x40], str.memory_clock
add eax, ebx
mov word [ebp - 0x3a], dx
mov dword [ebp - 0x48], 0xc
mov dword [eax], 0xc
mov esi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xa0]
mov dword [eax + 4], esi
mov esi, dword [ebp - 0x40]
mov dword [eax + 8], esi
mov esi, dword [ebp - 0x3c]
mov dword [eax + 0xc], esi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x34], ecx
mov ecx, 0x1f6
mov dword [ebp - 0x38], edx
mov word [ebp - 0x2a], cx
mov eax, dword [eax]
mov dword [ebp - 0xa4], eax
shl eax, 5
add ebx, eax
mov dword [ebx + 0x10], edx
mov eax, dword [ebp - 0x34]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp + 8]
add dword [eax], 1
mov eax, dword [edi + 0x14]
test eax, eax
je 0x46da86
lea edx, [ebp - 0x38]
mov dword [esp + 4], eax
mov dword [esp], edx
call reloc.KERNEL32.DLL_VirtualProtect
xor eax, eax
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x98], 0
mov word [ebp - 0x8c], ax
xor eax, eax
mov dword [ebp - 0x94], 0
mov word [ebp - 0x6c], ax
xor eax, eax
mov dword [ebp - 0x90], 0
mov word [ebp - 0x5c], ax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0xa0], ebx
sar ebx, 0x1f
mov dword [ebp - 0x74], 0
and ebx, 0xffffffe0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x60], 0
mov eax, dword [eax]
add bx, 0x1f6
mov dword [ebp - 0x9c], 0
test eax, eax
je 0x46e051
mov esi, dword [eax + 4]
lea edx, [esi + 0x200]
add esi, 0x10
cmp edx, dword [eax]
ja 0x46e051
add esi, eax
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x74]
mov ecx, 0x405
mov edx, dword [ebp - 0xa0]
mov word [ebp - 0x5a], bx
mov word [ebp - 0x6a], cx
mov ecx, dword [ebp - 0x9c]
xor ebx, ebx
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x6c]
xor edi, edi
mov dword [esi + 0x10], edx
mov dword [esi], 0xb
mov dword [ebp - 0x64], ecx
mov dword [esi + 8], str.temperature
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x78], 0xb
xor edx, edx
mov dword [ebp - 0x70], str.temperature
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0x60]
mov dword [esi + 0x18], eax
mov eax, dword [ebp - 0x5c]
mov dword [esi + 0x1c], eax
mov word [ebp - 0x4c], bx
mov ebx, 0x405
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x54], 0
mov word [ebp - 0x3c], di
mov word [ebp - 0x4a], bx
xor edi, edi
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x50], str.power
mov dword [esi + 0x20], 5
mov ebx, dword [ebp - 0x54]
mov eax, ecx
sar ecx, 0x1f
and ecx, 0xffffffe0
mov dword [esi + 0x24], ebx
mov ebx, dword [ebp - 0x50]
add cx, 0x1f6
mov dword [esi + 0x28], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [esi + 0x2c], ebx
mov dword [ebp - 0x44], edx
mov ebx, 0x405
mov word [ebp - 0x3a], cx
mov dword [esi + 0x30], eax
xor edx, edx
mov eax, dword [ebp - 0x44]
mov dword [esi + 0x34], eax
mov eax, dword [ebp - 0x40]
mov dword [esi + 0x38], eax
mov eax, dword [ebp - 0x3c]
mov dword [esi + 0x3c], eax
xor eax, eax
mov ecx, dword [ebp - 0x2c]
mov word [ebp - 0x4c], di
mov word [ebp - 0x4a], bx
xor edi, edi
mov dword [ebp - 0x54], 0
mov word [ebp - 0x3c], ax
mov dword [ebp - 0x50], str.clock
mov dword [ebp - 0x40], 0
mov eax, ecx
mov dword [esi + 0x40], 5
mov ebx, dword [ebp - 0x54]
sar ecx, 0x1f
and ecx, 0xffffffe0
add cx, 0x1f6
mov dword [esi + 0x44], ebx
mov ebx, dword [ebp - 0x50]
mov dword [esi + 0x48], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [esi + 0x4c], ebx
mov dword [ebp - 0x44], edx
mov ebx, 0x405
mov word [ebp - 0x3a], cx
mov dword [esi + 0x50], eax
xor edx, edx
mov eax, dword [ebp - 0x44]
mov dword [esi + 0x54], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0
mov dword [esi + 0x58], eax
mov eax, dword [ebp - 0x3c]
mov dword [esi + 0x5c], eax
xor eax, eax
mov ecx, dword [ebp - 0x28]
mov word [ebp - 0x4c], di
mov word [ebp - 0x3c], ax
xor edi, edi
mov word [ebp - 0x4a], bx
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x50], str.mem_clock
mov eax, ecx
mov dword [ebp - 0x58], 9
mov dword [esi + 0x60], 9
sar ecx, 0x1f
mov ebx, dword [ebp - 0x54]
and ecx, 0xffffffe0
add cx, 0x1f6
mov dword [esi + 0x64], ebx
mov ebx, dword [ebp - 0x50]
mov dword [esi + 0x68], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [esi + 0x6c], ebx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov word [ebp - 0x3a], cx
mov dword [esi + 0x70], eax
mov eax, dword [ebp - 0x44]
mov dword [esi + 0x74], eax
mov eax, dword [ebp - 0x40]
mov dword [esi + 0x78], eax
mov eax, dword [ebp - 0x3c]
mov dword [esi + 0x7c], eax
mov word [ebp - 0x7c], di
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp - 0x38]
cmp eax, edi
mov dword [ebp - 0xb0], eax
je 0x46dd60
xor ebx, ebx
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
lea esi, [esi]
mov eax, dword [edi]
xor edx, edx
mov dword [ebp - 0x50], 0
mov word [ebp - 0x4c], dx
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0xa0], eax
sar eax, 0x1f
and eax, 0xffffffe0
add ax, 0x1f6
mov word [ebp - 0xa4], ax
mov eax, dword [ebp - 0xa8]
cmp ebx, eax
jb 0x46d843
test eax, eax
jne 0x46da90
mov eax, dword [ebp - 0xac]
test eax, eax
je 0x46dcb2
mov dword [ebp - 0xb8], 0x10
mov dword [ebp - 0xbc], 0x100
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xc0], edx
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0xc4], ecx
add ecx, 0x10
mov dword [ebp - 0xc8], ecx
sub ecx, edx
add ecx, eax
cmp dword [ebp - 0xac], ecx
je 0x46dc12
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xc4]
add edx, ecx
cmp dword [ebp - 0xc0], edx
mov dword [ebp - 0xcc], ecx
jae 0x46dc7c
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 4], ecx
cmovae ecx, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
mov dword [ebp - 0xbc], ecx
je 0x46e5a7
mov eax, dword [ebp - 0xbc]
add eax, 0x10
jne 0x46dc40
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xac], 0
mov ecx, dword [ebp - 0x9c]
lea eax, [ebx + 1]
shl ebx, 4
add ebx, dword [ebp - 0xac]
mov edx, dword [ebp - 0xa0]
add edi, 4
cmp dword [ebp - 0xb0], edi
mov dword [ebp - 0x54], ecx
movzx ecx, word [ebp - 0xa4]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0xa0], edx
mov word [ebp - 0x4a], cx
mov dword [ebx], edx
mov edx, dword [ebp - 0x54]
mov dword [ebx + 4], edx
mov edx, dword [ebp - 0x50]
mov dword [ebx + 8], edx
mov edx, dword [ebp - 0x4c]
mov dword [ebx + 0xc], edx
mov ebx, eax
jne 0x46d740
xor edx, edx
mov ecx, 0x405
mov dword [ebp - 0x44], 0
mov word [ebp - 0x3c], dx
mov dword [ebp - 0x40], str.fan_speed
mov ebx, 4
mov word [ebp - 0x3a], cx
mov dword [ebp - 0x48], 9
mov dword [esi + 0x80], 9
mov edx, dword [ebp - 0x44]
mov word [ebp - 0x7a], bx
mov dword [ebp - 0x88], eax
mov edi, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xac]
mov dword [esi + 0x84], edx
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x84], edi
mov dword [ebp - 0x80], ecx
mov dword [esi + 0x88], edx
mov edx, dword [ebp - 0x3c]
mov dword [esi + 0x90], eax
mov eax, dword [ebp - 0x7c]
mov dword [esi + 0x94], edi
xor edi, edi
mov dword [esi + 0x98], ecx
mov dword [esi + 0x8c], edx
mov dword [esi + 0x9c], eax
mov eax, dword [ebp + 8]
mov word [ebp - 0x3c], di
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov edx, dword [eax]
mov edi, dword [eax + 4]
mov ebx, dword [eax + 8]
cmp edx, edi
jb 0x46da07
test edi, edi
jne 0x46dbd4
test ebx, ebx
je 0x46e639
mov dword [ebp - 0xa0], 0x10
mov dword [ebp - 0xa4], 0x200
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
mov dword [ebp - 0xb0], eax
sub eax, edi
mov dword [ebp - 0xb8], eax
lea eax, [ecx + eax + 0x10]
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], ebx
mov eax, dword [ecx]
mov dword [ebp - 0xa8], eax
je 0x46e014
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xa4]
add eax, edx
add edx, 0x10
cmp dword [ebp - 0xa8], eax
jae 0x46e0e9
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xa4]
cmp dword [eax + 4], edx
cmovae edx, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
mov dword [ebp - 0xa8], edx
je 0x46e99f
mov eax, dword [ebp - 0xa8]
add eax, 0x10
jne 0x46e0b0
mov eax, dword [ebp + 8]
xor ebx, ebx
mov edx, dword [eax]
mov eax, dword [ebp + 8]
mov edi, dword [ebp - 0xa0]
mov dword [eax + 8], ebx
mov dword [eax + 4], edi
shl edx, 5
mov ecx, 0x405
mov dword [ebp - 0x40], str.health
add edx, ebx
mov word [ebp - 0x3a], cx
mov dword [ebp - 0x48], 6
mov dword [edx], 6
mov eax, dword [ebp - 0x44]
mov edi, 3
mov word [ebp - 0x8a], di
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x3c]
mov dword [edx + 0xc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0xa0], eax
shl eax, 5
add ebx, eax
mov eax, dword [ebp - 0x8c]
mov dword [ebx + 0x10], 5
mov dword [ebx + 0x14], 0x10
mov dword [ebx + 0x18], esi
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp + 8]
add dword [eax], 1
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x46da86
mov dword [esp], eax
call fcn.006ff4f0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 8
mov ecx, eax
lea eax, [eax + 1]
shr eax, 1
add eax, ecx
cmp eax, ecx
mov dword [ebp - 0xb8], eax
jbe 0x46d843
mov edx, ecx
shl eax, 4
shl edx, 4
cmp dword [ebp - 0xac], 0
je 0x46eb24
test eax, eax
je 0x46d82d
cmp edx, eax
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xbc], eax
jb 0x46d7a8
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xa8], eax
jmp 0x46d843
lea ecx, [esi + 1]
shr ecx, 1
lea edx, [ecx + esi]
cmp esi, edx
mov dword [ebp - 0xa4], edx
jae 0x46d416
shl edx, 5
shl esi, 5
test ebx, ebx
mov ecx, edx
je 0x46eb44
test edx, edx
je 0x46eb3d
cmp esi, edx
mov dword [ebp - 0xa8], edx
jae 0x46ddd0
jmp 0x46d1b1
test ebx, ebx
je 0x46e34e
mov dword [ebp - 0xa4], 0x10
mov dword [ebp - 0xa8], 0x200
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx]
mov ecx, dword [edx + 4]
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xbc], ecx
sub ecx, esi
mov dword [ebp - 0xc0], ecx
lea ecx, [edx + ecx + 0x10]
mov dword [ebp - 0xb0], ecx
cmp dword [ebp - 0xb0], ebx
mov ecx, dword [edx]
mov dword [ebp - 0xac], ecx
je 0x46dde4
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xa8]
mov eax, ecx
add eax, edx
cmp eax, dword [ebp - 0xac]
ja 0x46deea
add ecx, 0x10
mov edx, ecx
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 4], eax
mov eax, ecx
add eax, edx
mov ecx, eax
je 0x46df19
test esi, esi
jne 0x46e53b
mov eax, dword [ebp + 8]
mov ebx, ecx
mov eax, dword [eax]
jmp 0x46de00
lea eax, [edi + 1]
shr eax, 1
add eax, edi
cmp edi, eax
mov dword [ebp - 0xa0], eax
jae 0x46da07
shl eax, 5
shl edi, 5
test ebx, ebx
je 0x46eb17
test eax, eax
je 0x46eb10
cmp edi, eax
mov dword [ebp - 0xa4], eax
jae 0x46d9f8
jmp 0x46d96a
mov ecx, dword [ebp - 0xc4]
sub ecx, edx
add ecx, dword [ebp - 0xbc]
cmp dword [ebp - 0xc0], ecx
jb 0x46d7e0
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xa8], eax
jmp 0x46d843
mov dword [esp], eax
call sub.msvcrt.dll_memset
test eax, eax
je 0x46d82d
mov ecx, dword [ebp - 0xbc]
mov dword [eax + 4], 0
mov dword [ebp - 0xc8], 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0xcc]
mov dword [ecx], eax
mov dword [eax + 4], edx
mov edx, dword [ebp - 0xc8]
add edx, eax
je 0x46d82d
mov eax, dword [ebp - 0xa8]
test eax, eax
jne 0x46dd80
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xac], edx
mov dword [ebp - 0xa8], eax
jmp 0x46d843
mov eax, 0x100
mov dword [ebp - 0xa8], 0x10
mov ecx, eax
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax]
test eax, eax
je 0x46dcf1
mov edx, dword [eax + 4]
add ecx, edx
add edx, 0x10
cmp ecx, dword [eax]
ja 0x46dcf1
add edx, eax
mov dword [eax + 4], ecx
mov dword [ebp - 0xac], edx
jmp 0x46d843
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xac]
cmp dword [eax + 4], ecx
cmovae ecx, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
mov dword [ebp - 0xb8], ecx
je 0x46e034
mov eax, dword [ebp - 0xb8]
add eax, 0x10
je 0x46d839
mov dword [esp], eax
call sub.msvcrt.dll_memset
test eax, eax
je 0x46d839
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xb8]
mov dword [eax + 4], 0
mov dword [eax], edx
mov edx, dword [ecx]
mov dword [eax + 8], edx
mov dword [ecx], eax
mov edx, 0x10
mov ecx, dword [ebp - 0xac]
jmp 0x46dce1
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
xor eax, eax
jmp 0x46d897
mov eax, dword [ebp - 0xa8]
mov dword [esp], edx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xac], edx
mov dword [esp + 4], eax
call sub.msvcrt.dll_putchar
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xa8], eax
jmp 0x46d843
mov edx, dword [ebp - 0xc0]
add edx, dword [ebp - 0xa8]
cmp edx, dword [ebp - 0xac]
ja 0x46d1ee
mov dword [ecx + 4], edx
nop
mov edx, dword [ebp + 8]
mov esi, dword [ebp - 0xa4]
mov dword [edx + 8], ebx
mov dword [edx + 4], esi
jmp 0x46d416
mov ecx, dword [ebp - 0xc0]
add ecx, dword [ebp - 0xa8]
cmp ecx, dword [ebp - 0xac]
ja 0x46db8a
mov dword [edx + 4], ecx
nop
mov esi, dword [ebp + 8]
mov dword [esi + 8], ebx
mov edx, esi
mov esi, dword [ebp - 0xa4]
mov dword [edx + 4], esi
jmp 0x46d0ac
mov eax, dword [ebp - 0xb8]
add eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0xa8]
ja 0x46c97e
mov dword [ecx + 4], eax
jmp 0x46ca1a
mov ecx, 0x200
mov dword [ebp - 0xa4], 0x10
mov esi, dword [ebp - 0xb4]
mov dword [ebp - 0xa8], ecx
mov esi, dword [esi]
test esi, esi
je 0x46de72
mov ebx, dword [esi + 4]
lea ecx, [ecx + ebx]
add ebx, 0x10
cmp ecx, dword [esi]
jbe 0x46e4dd
mov eax, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xa8]
cmp dword [eax + 4], esi
cmovae esi, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
mov dword [ebp - 0xac], esi
je 0x46ea07
mov eax, dword [ebp - 0xac]
add eax, 0x10
jne 0x46e49b
mov eax, dword [ebp + 8]
xor ebx, ebx
mov eax, dword [eax]
jmp 0x46ddd0
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 4], ecx
cmovae ecx, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
mov dword [ebp - 0xb0], ecx
je 0x46e875
mov eax, dword [ebp - 0xb0]
add eax, 0x10
jne 0x46e6d6
mov eax, dword [ebp + 8]
xor ebx, ebx
mov eax, dword [eax]
jmp 0x46cbd0
mov eax, dword [ebp - 0xb4]
mov ecx, edx
cmp dword [eax + 4], edx
cmovae ecx, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
mov dword [ebp - 0xac], ecx
je 0x46e8bb
mov eax, dword [ebp - 0xac]
add eax, 0x10
jne 0x46e775
mov eax, dword [ebp + 8]
xor ebx, ebx
mov eax, dword [eax]
jmp 0x46de00
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xa0]
cmp dword [eax + 4], edx
cmovae edx, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
mov dword [ebp - 0xac], edx
je 0x46e892
mov eax, dword [ebp - 0xac]
add eax, 0x10
jne 0x46e71a
mov eax, dword [ebp + 8]
xor esi, esi
mov eax, dword [eax]
mov dword [ebp - 0xa0], eax
jmp 0x46cfa5
mov eax, dword [ebp - 0xb4]
mov ebx, dword [ebp - 0xa4]
cmp dword [eax + 4], ebx
mov edx, ebx
cmovae edx, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
mov ebx, edx
je 0x46e8d8
mov eax, ebx
add eax, 0x10
jne 0x46e7b9
mov eax, dword [ebp + 8]
xor esi, esi
mov ebx, dword [eax]
jmp 0x46c810
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 4], edx
cmovae edx, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
mov dword [ebp - 0xb0], edx
je 0x46e901
mov eax, dword [ebp - 0xb0]
add eax, 0x10
jne 0x46e809
mov eax, dword [ebp + 8]
xor ebx, ebx
mov eax, dword [eax]
jmp 0x46cdb0
add edx, 0x10
mov ecx, edx
mov edx, dword [ebp - 0xb8]
jmp 0x46d276
mov dword [esp + 4], ebx
mov dword [esp], ecx
mov dword [esp + 8], esi
mov dword [ebp - 0xa4], ecx
call sub.msvcrt.dll_putchar
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xa4]
mov edx, dword [eax]
mov ebx, ecx
jmp 0x46ca1a
mov eax, dword [ebp - 0xb8]
add eax, dword [ebp - 0xa4]
cmp dword [ebp - 0xa8], eax
jb 0x46d9a1
mov dword [ecx + 4], eax
jmp 0x46d9f8
mov dword [esp], 1
call fcn.006ff530
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
jmp 0x46dd15
mov eax, dword [ebp - 0xb4]
mov esi, dword [eax + 4]
mov eax, dword [eax + 0xc]
cmp esi, 0x200
jbe 0x46e958
test eax, eax
je 0x46eaa9
mov eax, esi
add eax, 0x10
jne 0x46e96a
mov eax, 0x405
mov dword [ebp - 0x70], str.temperature
mov word [ebp - 0x6a], ax
mov dword [0], 0xb
mov eax, dword [ebp - 0x74]
mov dword [4], eax
mov eax, dword [ebp - 0x70]
mov dword [8], eax
mov eax, dword [ebp - 0x6c]
mov dword [0xc], eax
ud2
mov dword [esp], eax
call sub.msvcrt.dll_memset
test eax, eax
mov ecx, eax
je 0x46d9f1
mov edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xa8]
mov dword [ecx + 4], 0
mov dword [ecx], eax
mov eax, dword [edx]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xa4]
mov dword [edx], ecx
mov edx, 0x10
mov dword [ecx + 4], eax
add ecx, edx
je 0x46d9f1
test edi, edi
jne 0x46e84d
mov eax, dword [ebp + 8]
mov ebx, ecx
mov edx, dword [eax]
jmp 0x46d9f8
mov eax, 0x200
mov ecx, eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax]
test eax, eax
je 0x46e5c4
mov esi, dword [eax + 4]
lea edx, [ecx + esi]
cmp edx, dword [eax]
ja 0x46e5c4
lea ecx, [esi + 0x10]
lea esi, [eax + ecx]
mov dword [eax + 4], edx
jmp 0x46c810
mov ecx, 0x200
mov dword [ebp - 0xa8], 0x10
mov esi, dword [ebp - 0xb4]
mov edx, ecx
mov dword [ebp - 0xac], ecx
mov esi, dword [esi]
test esi, esi
je 0x46e16c
mov ebx, dword [esi + 4]
add edx, ebx
add ebx, 0x10
cmp edx, dword [esi]
mov ecx, edx
jbe 0x46e1e1
mov eax, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xac]
cmp dword [eax + 4], esi
cmovae esi, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
mov dword [ebp - 0xb0], esi
je 0x46ea87
mov eax, dword [ebp - 0xb0]
add eax, 0x10
je 0x46dede
mov dword [esp], eax
xor ebx, ebx
call sub.msvcrt.dll_memset
mov esi, eax
mov eax, dword [ebp + 8]
test esi, esi
mov eax, dword [eax]
je 0x46cbd0
mov edx, dword [ebp - 0xb0]
mov dword [esi + 4], 0
mov dword [esi], edx
mov edx, dword [ebp - 0xb4]
mov ebx, dword [edx]
mov dword [esi + 8], ebx
mov dword [edx], esi
mov ebx, 0x10
mov edx, dword [ebp - 0xac]
mov ecx, edx
add ebx, esi
mov dword [esi + 4], ecx
jmp 0x46cbd0
mov eax, 0x200
mov dword [ebp - 0xa8], 0x10
mov esi, dword [ebp - 0xb4]
mov dword [ebp - 0xa4], eax
mov edx, dword [esi]
test edx, edx
je 0x46e21c
mov esi, dword [edx + 4]
add eax, esi
add esi, 0x10
cmp eax, dword [edx]
jbe 0x46e2a1
mov eax, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xa4]
cmp dword [eax + 4], esi
cmovae esi, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
mov dword [ebp - 0xac], esi
je 0x46ea5e
mov eax, dword [ebp - 0xac]
add eax, 0x10
je 0x46df58
mov dword [esp], eax
mov dword [ebp - 0xb0], ecx
xor esi, esi
call sub.msvcrt.dll_memset
mov edx, eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xb0]
test edx, edx
mov eax, dword [eax]
mov dword [ebp - 0xa0], eax
je 0x46cfa5
mov eax, dword [ebp - 0xac]
mov dword [edx + 4], 0
mov dword [edx], eax
mov eax, dword [ebp - 0xb4]
mov esi, dword [eax]
mov dword [edx + 8], esi
mov dword [eax], edx
mov esi, 0x10
mov eax, dword [ebp - 0xa4]
add esi, edx
mov dword [edx + 4], eax
jmp 0x46cfa5
mov ecx, 0x200
mov esi, dword [ebp - 0xb4]
mov dword [ebp - 0xac], ecx
mov esi, dword [esi]
test esi, esi
je 0x46e2cf
mov ebx, dword [esi + 4]
lea ecx, [ecx + ebx]
add ebx, 0x10
cmp ecx, dword [esi]
jbe 0x46e344
mov eax, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xac]
cmp dword [eax + 4], esi
cmovae esi, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
mov dword [ebp - 0xb0], esi
je 0x46ea41
mov eax, dword [ebp - 0xb0]
add eax, 0x10
je 0x46dfd0
mov dword [esp], eax
xor ebx, ebx
call sub.msvcrt.dll_memset
mov esi, eax
mov eax, dword [ebp + 8]
test esi, esi
mov eax, dword [eax]
je 0x46cdb0
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xac]
mov dword [esi + 4], 0
mov dword [esi], ecx
mov ecx, dword [ebp - 0xb4]
mov ebx, dword [ecx]
mov dword [esi + 8], ebx
mov dword [ecx], esi
mov ebx, 0x10
mov ecx, edx
add ebx, esi
mov dword [esi + 4], ecx
jmp 0x46cdb0
mov ecx, 0x200
mov dword [ebp - 0xa4], 0x10
mov esi, dword [ebp - 0xb4]
mov edx, ecx
mov dword [ebp - 0xa8], ecx
mov esi, dword [esi]
test esi, esi
je 0x46e37f
mov ebx, dword [esi + 4]
add edx, ebx
add ebx, 0x10
cmp edx, dword [esi]
mov ecx, edx
jbe 0x46e3f4
mov eax, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xa8]
cmp dword [eax + 4], esi
cmovae esi, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
mov dword [ebp - 0xac], esi
je 0x46ea24
mov eax, dword [ebp - 0xac]
add eax, 0x10
je 0x46df19
mov dword [esp], eax
xor ebx, ebx
call sub.msvcrt.dll_memset
mov esi, eax
mov eax, dword [ebp + 8]
test esi, esi
mov eax, dword [eax]
je 0x46de00
mov edx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xac]
mov dword [esi + 4], 0
mov ebx, dword [edx]
mov dword [esi], ecx
mov dword [esi + 8], ebx
mov dword [edx], esi
mov ebx, 0x10
mov edx, dword [ebp - 0xa8]
mov ecx, edx
add ebx, esi
mov dword [esi + 4], ecx
jmp 0x46de00
mov eax, 0x200
mov dword [ebp - 0xa0], 0x10
mov esi, eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax]
test eax, eax
je 0x46e428
mov ebx, dword [eax + 4]
lea ecx, [esi + ebx]
add ebx, 0x10
cmp ecx, dword [eax]
jbe 0x46e491
mov eax, dword [ebp - 0xb4]
mov ecx, esi
cmp dword [eax + 4], esi
cmovae ecx, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
mov dword [ebp - 0xa4], ecx
je 0x46e9bc
mov eax, dword [ebp - 0xa4]
add eax, 0x10
je 0x46c9c6
mov dword [esp], eax
xor ebx, ebx
call sub.msvcrt.dll_memset
mov ecx, dword [ebp + 8]
test eax, eax
mov edx, dword [ecx]
je 0x46ca1a
mov ebx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xa4]
mov dword [eax + 4], 0
mov dword [eax], ecx
mov ecx, dword [ebx]
mov dword [eax + 8], ecx
mov dword [ebx], eax
mov ecx, esi
mov ebx, 0x10
add ebx, eax
mov dword [eax + 4], ecx
jmp 0x46ca1a
mov dword [esp], eax
xor ebx, ebx
call sub.msvcrt.dll_memset
mov esi, eax
mov eax, dword [ebp + 8]
test esi, esi
mov eax, dword [eax]
je 0x46ddd0
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0xa8]
mov dword [esi + 4], 0
mov dword [esi], ecx
mov ecx, dword [ebp - 0xb4]
mov ebx, dword [ecx]
mov dword [esi + 8], ebx
mov dword [ecx], esi
mov ebx, 0x10
mov ecx, edx
add ebx, esi
mov dword [esi + 4], ecx
jmp 0x46ddd0
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov esi, eax
mov dword [esp], eax
call sub.msvcrt.dll_putchar
mov eax, dword [ebp + 8]
mov ebx, dword [eax]
jmp 0x46c810
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov ebx, eax
mov dword [esp], eax
call sub.msvcrt.dll_putchar
mov eax, dword [ebp + 8]
mov eax, dword [eax]
jmp 0x46cdb0
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov ebx, eax
mov dword [esp], eax
call sub.msvcrt.dll_putchar
mov eax, dword [ebp + 8]
mov eax, dword [eax]
jmp 0x46cbd0
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov ebx, eax
mov dword [esp], eax
call sub.msvcrt.dll_putchar
mov eax, dword [ebp + 8]
mov eax, dword [eax]
jmp 0x46de00
mov eax, dword [ebp - 0xa4]
mov dword [esp + 4], esi
mov esi, edx
mov dword [esp], edx
mov dword [ebp - 0xac], ecx
mov dword [esp + 8], eax
call sub.msvcrt.dll_putchar
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xac]
mov eax, dword [eax]
mov dword [ebp - 0xa0], eax
jmp 0x46cfa5
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov ebx, eax
mov dword [esp], eax
call sub.msvcrt.dll_putchar
mov eax, dword [ebp + 8]
mov eax, dword [eax]
jmp 0x46ddd0
mov dword [esp], 1
call fcn.006ff530
mov edx, dword [ebp - 0xb4]
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
jmp 0x46d81e
mov eax, dword [ebp - 0xb4]
mov esi, ecx
cmp dword [eax + 4], ecx
cmovae esi, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
mov dword [ebp - 0xa4], esi
je 0x46e9d9
mov eax, dword [ebp - 0xa4]
xor esi, esi
add eax, 0x10
je 0x46c810
mov dword [esp], eax
mov dword [ebp - 0xa8], ecx
call sub.msvcrt.dll_memset
test eax, eax
je 0x46c810
mov ecx, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xa4]
mov dword [eax + 4], 0
mov dword [eax], esi
mov esi, dword [ecx]
mov dword [eax + 8], esi
mov dword [ecx], eax
mov ecx, dword [ebp - 0xa8]
mov edx, ecx
mov ecx, 0x10
jmp 0x46e130
mov eax, 0x200
mov dword [ebp - 0xa0], 0x10
mov edi, eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax]
test eax, eax
je 0x46e663
mov ebx, dword [eax + 4]
lea ecx, [edi + ebx]
add ebx, 0x10
cmp ecx, dword [eax]
jbe 0x46e6cc
mov eax, dword [ebp - 0xb4]
mov ecx, edi
cmp dword [eax + 4], edi
cmovae ecx, dword [eax + 4]
mov eax, dword [eax + 0xc]
test eax, eax
mov dword [ebp - 0xa4], ecx
je 0x46eac6
mov eax, dword [ebp - 0xa4]
add eax, 0x10
je 0x46d9f1
mov dword [esp], eax
xor ebx, ebx
call sub.msvcrt.dll_memset
mov ecx, dword [ebp + 8]
test eax, eax
mov edx, dword [ecx]
je 0x46d9f8
mov ebx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xa4]
mov dword [eax + 4], 0
mov dword [eax], ecx
mov ecx, dword [ebx]
mov dword [eax + 8], ecx
mov dword [ebx], eax
mov ecx, edi
mov ebx, 0x10
add ebx, eax
mov dword [eax + 4], ecx
jmp 0x46d9f8
mov dword [esp], eax
call sub.msvcrt.dll_memset
test eax, eax
mov dword [ebp - 0xbc], eax
je 0x46dede
mov ecx, eax
mov edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xb0]
mov dword [ecx + 4], 0
mov dword [ecx], eax
mov eax, dword [edx]
mov dword [ecx + 8], eax
mov dword [edx], ecx
mov ecx, 0x10
mov eax, dword [ebp - 0xac]
jmp 0x46cb86
mov dword [esp], eax
mov dword [ebp - 0xb0], ecx
call sub.msvcrt.dll_memset
test eax, eax
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xb0]
je 0x46df58
mov edx, eax
mov eax, dword [ebp - 0xac]
mov dword [edx + 4], 0
mov dword [edx], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0xb4]
mov dword [eax], edx
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa0], 0x10
jmp 0x46cf46
mov dword [esp], eax
call sub.msvcrt.dll_memset
test eax, eax
mov dword [ebp - 0xb8], eax
je 0x46df19
mov ecx, eax
mov edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xac]
mov dword [ecx + 4], 0
mov dword [ecx], eax
mov eax, dword [edx]
mov dword [ecx + 8], eax
mov dword [edx], ecx
mov edx, 0x10
mov eax, dword [ebp - 0xa8]
jmp 0x46dbb1
mov dword [esp], eax
mov dword [ebp - 0xac], ecx
call sub.msvcrt.dll_memset
test eax, eax
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0xac]
je 0x46df97
mov eax, ebx
mov ebx, dword [ebp - 0xa8]
mov dword [ebx], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebx + 4], 0
mov edx, dword [eax]
mov dword [ebx + 8], edx
mov dword [eax], ebx
mov ebx, 0x10
mov eax, dword [ebp - 0xa4]
jmp 0x46c7c3
mov dword [esp], eax
call sub.msvcrt.dll_memset
test eax, eax
mov dword [ebp - 0xbc], eax
je 0x46dfd0
mov edx, eax
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xb0]
mov dword [edx + 4], 0
mov dword [edx], eax
mov eax, dword [ecx]
mov dword [edx + 8], eax
mov dword [ecx], edx
mov edx, 0x10
mov eax, dword [ebp - 0xac]
jmp 0x46cd62
mov dword [esp + 4], ebx
mov dword [esp], ecx
mov dword [esp + 8], edi
mov dword [ebp - 0xa4], ecx
call sub.msvcrt.dll_putchar
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xa4]
mov edx, dword [eax]
mov ebx, ecx
jmp 0x46d9f8
mov dword [esp], 1
call fcn.006ff530
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
jmp 0x46decf
mov dword [esp], 1
mov dword [ebp - 0xb0], ecx
call fcn.006ff530
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov ecx, dword [ebp - 0xb0]
jmp 0x46df49
mov dword [esp], 1
call fcn.006ff530
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
jmp 0x46df0a
mov dword [esp], 1
mov dword [ebp - 0xa8], ecx
call fcn.006ff530
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov ecx, dword [ebp - 0xa8]
jmp 0x46df8c
mov dword [esp], 1
call fcn.006ff530
mov edx, dword [ebp - 0xb4]
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
jmp 0x46dfc1
mov dword [esp], 1
call fcn.006ff530
mov edx, dword [ebp - 0xb4]
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
jmp 0x46d228
mov dword [esp], 1
call fcn.006ff530
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
jmp 0x46c9bb
test eax, eax
je 0x46eaa4
mov eax, 0x210
mov esi, 0x200
mov dword [esp], eax
call sub.msvcrt.dll_memset
test eax, eax
je 0x46e07c
mov edi, dword [ebp - 0xb4]
mov dword [eax], esi
mov esi, 0x10
mov dword [eax + 4], 0
mov edx, dword [edi]
mov dword [eax + 8], edx
mov dword [edi], eax
mov edx, 0x200
jmp 0x46d534
mov dword [esp], 1
call fcn.006ff530
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
jmp 0x46d9e2
mov dword [esp], 1
call fcn.006ff530
mov edx, dword [ebp - 0xb4]
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
jmp 0x46e448
mov dword [esp], 1
mov dword [ebp - 0xa8], ecx
call fcn.006ff530
mov esi, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xa8]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 8]
mov ebx, dword [eax]
jmp 0x46e5e4
mov dword [esp], 1
call fcn.006ff530
mov esi, dword [ebp - 0xb4]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
jmp 0x46de96
mov dword [esp], 1
call fcn.006ff530
mov esi, dword [ebp - 0xb4]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
jmp 0x46e3a3
mov dword [esp], 1
call fcn.006ff530
mov esi, dword [ebp - 0xb4]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
jmp 0x46e2f3
mov dword [esp], 1
mov dword [ebp - 0xa0], ecx
call fcn.006ff530
mov esi, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xa0]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
jmp 0x46e240
mov dword [esp], 1
call fcn.006ff530
mov esi, dword [ebp - 0xb4]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
jmp 0x46e190
mov esi, 0x200
mov dword [esp], 1
call fcn.006ff530
mov edi, dword [ebp - 0xb4]
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], eax
jmp 0x46e071
mov dword [esp], 1
call fcn.006ff530
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
jmp 0x46e683
xor esi, esi
jmp 0x46cfa5
test eax, eax
je 0x46cfa5
jmp 0x46e1fa
xor ebx, ebx
jmp 0x46d9f8
test eax, eax
je 0x46d9f8
jmp 0x46e648
test eax, eax
je 0x46d82d
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0xa8], edx
jmp 0x46dcc1
xor ebx, ebx
jmp 0x46ddd0
test edx, edx
je 0x46ddd0
jmp 0x46de4f
xor ebx, ebx
jmp 0x46cbd0
test edx, edx
je 0x46cbd0
jmp 0x46e14a
xor ebx, ebx
jmp 0x46ca1a
test eax, eax
je 0x46ca1a
jmp 0x46e40d
mov edx, ecx
shl esi, 5
shl edx, 5
test ebx, ebx
mov ecx, edx
je 0x46ebec
test edx, edx
je 0x46ebe5
cmp esi, edx
mov dword [ebp - 0xa8], edx
jae 0x46de00
jmp 0x46db4d
cmp ecx, eax
mov dword [ebp - 0xa4], eax
jae 0x46c810
jmp 0x46c76d
test eax, eax
jne 0x46e10d
jmp 0x46c810
xor ebx, ebx
jmp 0x46cdb0
test edx, edx
je 0x46cdb0
jmp 0x46e2b0
xor ebx, ebx
jmp 0x46de00
test edx, edx
je 0x46de00
jmp 0x46e35d