Function at 0x46c510
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x80
mov eax, dword [0x6606f4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
mov bl, byte [esi]
push edi
movzx edi, bl
lea eax, [edi - 1]
mov byte [ebp - 0x71], bl
cmp eax, 0x26
ja case.0x46c53d.17
jmp dword [eax*4 + 0x46dbd4]
mov bl, byte [esi + 4]
cmp bl, byte [0x5eb373]
je 0x46c574
cmp bl, 0x7f
jae 0x46c579
mov al, byte [0x6621bc]
inc al
movzx ecx, al
push ecx
call fcn.004253f0
movzx edx, word [0x6621c4]
push edx
call fcn.004254c0
add esp, 8
cmp bl, 0x7f
jb 0x46c584
mov al, byte [0x5eb372]
cmp al, 0x7f
jae 0x46c584
mov bl, al
mov byte [0x5eb373], bl
mov byte [0x5fdbda], bl
mov al, byte [esi + 5]
mov byte [0x5eb374], al
mov cl, byte [esi + 6]
mov byte [0x5eb375], cl
cmp byte [esi + 3], 9
jb 0x46c5d3
cmp byte [esi + 0xa], 0x72
je 0x46c5b9
cmp byte [esi + 0xb], 0x63
je 0x46c5b9
cmp byte [esi + 0xc], 0x76
jne 0x46c5d3
mov edx, dword [edi*4 + 0x63f430]
push edx
mov byte [0x5eb376], 1
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp case.0x46c53d.17
mov byte [0x5eb376], 0
mov edx, dword [edi*4 + 0x63f430]
push edx
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp case.0x46c53d.17
mov al, byte [esi + 5]
mov edx, dword [edi*4 + 0x63f430]
mov byte [0x5eb374], al
mov cl, byte [esi + 6]
push edx
mov byte [0x5eb375], cl
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp case.0x46c53d.17
cmp byte [esi + 4], 1
jne 0x46c663
mov al, byte [0x662210]
mov byte [0x5fdbda], al
cmp al, byte [0x5eb373]
je 0x46c66a
cmp al, 0x7f
jae 0x46c66a
mov byte [0x5eb373], al
mov al, byte [0x6621bc]
inc al
movzx ecx, al
push ecx
call fcn.004253f0
movzx edx, word [0x6621c4]
push edx
call fcn.004254c0
mov eax, dword [0x63f434]
add esp, 8
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp case.0x46c53d.17
mov byte [0x5eb373], 0x7f
mov eax, dword [0x63f434]
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp case.0x46c53d.17
cmp byte [esi + 3], 0x3c
ja case.0x46c53d.17
cmp byte [esi + 4], 1
jne 0x46c69d
mov ecx, dword [0x6621a0]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
call eax
mov byte [0x5eb372], al
mov ecx, dword [0x63f458]
push ecx
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp case.0x46c53d.17
mov eax, dword [edi*4 + 0x63f430]
mov dl, byte [esi + 4]
push eax
mov byte [0x5eb373], dl
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp case.0x46c53d.17
movzx ecx, byte [esi + 0xf]
movzx edx, byte [esi + 0xe]
shl cx, 8
or cx, dx
movzx eax, cx
mov ecx, 0xcaca
cmp cx, ax
je 0x46c7ed
mov edx, 0xcbcb
cmp dx, ax
je 0x46c7ed
mov ecx, 0x5151
cmp cx, ax
je 0x46c7ed
movzx edx, byte [esi + 0x1b]
movzx eax, byte [esi + 0x1a]
shl dx, 8
or dx, ax
movzx eax, dx
mov ecx, 0xcaca
cmp cx, ax
je 0x46c73b
mov edx, 0xcbcb
cmp dx, ax
je 0x46c73b
mov ecx, 0x5151
cmp cx, ax
jne case.0x46c53d.17
movzx edx, byte [esi + 0x11]
movzx eax, byte [esi + 0x10]
shl edx, 8
or edx, eax
mov dword [0x5eb30c], edx
movzx ecx, byte [esi + 0x12]
mov dword [0x5eb310], ecx
movzx edx, byte [esi + 0x13]
mov dword [0x5eb314], edx
movzx eax, byte [esi + 0x15]
movzx ecx, byte [esi + 0x14]
shl eax, 8
or eax, ecx
mov dword [0x5eb318], eax
movzx edx, byte [esi + 0x17]
movzx eax, byte [esi + 0x16]
shl edx, 8
or edx, eax
mov dword [0x5eb31c], edx
movzx ecx, byte [esi + 0x21]
movzx edx, byte [esi + 0x20]
shl cx, 8
or cx, dx
mov word [0x5eb37e], cx
movzx eax, byte [esi + 0x23]
movzx ecx, byte [esi + 0x22]
shl ax, 8
or ax, cx
mov word [0x5eb37c], ax
movzx edx, byte [esi + 0x25]
movzx eax, byte [esi + 0x24]
shl dx, 8
or dx, ax
mov eax, dword [edi*4 + 0x63f430]
mov word [0x5eb37a], dx
mov cl, byte [esi + 0x26]
mov byte [0x5eb378], cl
mov dl, byte [esi + 0x27]
push eax
mov byte [0x5eb377], dl
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp case.0x46c53d.17
movzx ecx, byte [esi + 5]
movzx edx, byte [esi + 4]
shl ecx, 8
or ecx, edx
mov dword [0x5eb30c], ecx
movzx eax, byte [esi + 6]
mov dword [0x5eb310], eax
movzx ecx, byte [esi + 7]
mov dword [0x5eb314], ecx
movzx edx, byte [esi + 9]
movzx eax, byte [esi + 8]
shl edx, 8
or edx, eax
mov dword [0x5eb318], edx
movzx ecx, byte [esi + 0xb]
movzx edx, byte [esi + 0xa]
shl ecx, 8
or ecx, edx
mov dword [0x5eb31c], ecx
movzx eax, byte [esi + 0x15]
movzx ecx, byte [esi + 0x14]
shl ax, 8
or ax, cx
mov word [0x5eb37e], ax
movzx edx, byte [esi + 0x17]
movzx eax, byte [esi + 0x16]
shl dx, 8
or dx, ax
mov word [0x5eb37c], dx
movzx ecx, byte [esi + 0x19]
movzx edx, byte [esi + 0x18]
shl cx, 8
or cx, dx
mov edx, dword [edi*4 + 0x63f430]
mov word [0x5eb37a], cx
mov al, byte [esi + 0x1a]
mov byte [0x5eb378], al
mov cl, byte [esi + 0x1b]
push edx
mov byte [0x5eb377], cl
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp case.0x46c53d.17
movzx eax, byte [esi + 5]
movzx ecx, byte [esi + 4]
shl ax, 8
or ax, cx
mov word [0x5eb384], ax
jmp case.0x46c53d.17
mov al, byte [esi + 3]
cmp al, 0x3c
ja case.0x46c53d.17
movzx edx, al
push edx
add esi, 4
push esi
push 0x40
push 0x5fdb9a
call fcn.0056bcef
mov eax, dword [0x63f45c]
add esp, 0x10
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp case.0x46c53d.17
cmp byte [esi + 3], 0x3c
ja 0x46c940
movzx ecx, word [0x5eb386]
push ecx
push 0x5eb388
push esi
push 0x605c1a
call fcn.004213c0
mov dx, word [0x5eb388]
add esp, 0x10
mov word [0x5eb386], ax
cmp dx, word [0x5eb38a]
jne case.0x46c53d.17
mov edx, dword [edi*4 + 0x63f430]
xor eax, eax
push edx
mov dword [0x5eb386], eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp case.0x46c53d.17
xor eax, eax
mov dword [0x5eb386], eax
mov byte [0x5eb382], al
jmp case.0x46c53d.17
movzx ecx, byte [esi + 7]
movzx edx, byte [esi + 6]
movzx eax, byte [esi + 5]
shl ecx, 8
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 8
or ecx, eax
shl ecx, 8
or ecx, edx
mov dword [0x5eb344], ecx
movzx eax, byte [esi + 0xf]
movzx ecx, byte [esi + 0xe]
movzx edx, byte [esi + 0xd]
shl eax, 8
or eax, ecx
movzx ecx, byte [esi + 0xc]
shl eax, 8
or eax, edx
mov edx, dword [edi*4 + 0x63f430]
shl eax, 8
or eax, ecx
push edx
mov dword [0x661e9c], eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp case.0x46c53d.17
cmp byte [esi + 3], 0x3c
ja 0x46ca03
movzx eax, word [0x5eb386]
push eax
push 0x5eb388
push esi
push 0x5fd512
call fcn.004213c0
mov si, word [0x5eb388]
mov ecx, 1
add esp, 0x10
mov word [0x5eb386], ax
cmp cx, si
jne 0x46caa6
mov al, byte [0x5fd517]
mov bl, al
and bl, 0x7f
mov byte [0x6622f6], al
mov byte [0x6622f5], bl
cmp bl, 0xa
jbe 0x46ca10
xor edx, edx
mov dword [0x5eb386], edx
jmp case.0x46c53d.17
test al, al
jns 0x46ca5e
test bl, bl
jne 0x46ca2b
mov byte [0x6622f4], 0xb
mov word [0x5eb38a], cx
jmp 0x46cab9
lea eax, [ebx - 1]
mov dl, al
add dl, dl
add dl, dl
add al, dl
add al, 0xe
movzx ecx, al
mov byte [0x6622f4], al
add ecx, 0x3b
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov word [0x5eb38a], ax
jmp 0x46caac
cmp bl, 1
jne 0x46ca73
mov byte [0x6622f4], 0xb
mov word [0x5eb38a], cx
jmp 0x46cab9
lea eax, [ebx - 1]
mov dl, al
add dl, dl
add dl, dl
add al, dl
add al, 0xc
movzx ecx, al
mov byte [0x6622f4], al
add ecx, 0x3b
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov word [0x5eb38a], ax
jmp 0x46caac
mov bl, byte [0x6622f5]
cmp si, word [0x5eb38a]
jne case.0x46c53d.17
xor edx, edx
push 0x64
xor ecx, ecx
push edx
push 0x661d50
mov dword [0x5eb386], ecx
mov dword [ebp - 0x80], ecx
mov esi, 0x5fd512
call fcn.0056c7b0
add esp, 0xc
test byte [0x6622f6], 0x80
mov dword [0x661d4c], 0
je 0x46cc37
test bl, bl
jne 0x46cb46
movzx edx, byte [0x5fd519]
movzx eax, byte [0x5fd512]
movzx ecx, byte [0x5fd513]
mov byte [0x661d48], dl
movzx edx, byte [0x5fd51c]
mov word [0x661d4c], ax
mov al, byte [0x5fd51a]
mov word [0x661d4e], cx
mov cl, byte [0x5fd51b]
mov byte [0x661d49], al
mov byte [0x661d4a], cl
mov byte [0x661d4b], dl
jmp 0x46cd3b
movzx ecx, bl
xor eax, eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x7c], ecx
test ecx, ecx
jle 0x46cbf9
lea esp, [esp]
mov cl, byte [esi]
movzx edi, byte [esi + 1]
mov dl, cl
shr dl, 4
movzx edx, dl
lea eax, [eax + eax*4]
add eax, eax
mov word [eax + 0x661d50], dx
mov dl, cl
and cl, 1
mov byte [eax + 0x661d53], cl
mov cl, byte [esi + 3]
mov bl, cl
shr bl, 4
shl di, 4
movzx ebx, bl
add di, bx
mov word [eax + 0x661d54], di
movzx edi, byte [esi + 2]
and cl, 0xf
movzx ecx, cl
shl di, 4
add di, cx
movzx ecx, byte [esi + 4]
shr dl, 1
and dl, 7
mov byte [eax + 0x661d52], dl
mov word [eax + 0x661d56], di
mov word [eax + 0x661d58], cx
test dl, dl
jne 0x46cbd7
mov dword [ebp - 0x80], 1
mov eax, dword [ebp - 0x78]
test eax, eax
jne 0x46cbe3
add esi, 7
jmp 0x46cbe6
add esi, 5
inc eax
mov dword [ebp - 0x78], eax
cmp eax, dword [ebp - 0x7c]
jl 0x46cb60
mov bl, byte [0x6622f5]
movzx ecx, byte [esi + 3]
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
mov byte [0x661d48], cl
movzx ecx, byte [esi + 6]
mov word [0x661d4c], dx
mov dl, byte [esi + 4]
mov word [0x661d4e], ax
mov al, byte [esi + 5]
mov byte [0x661d49], dl
mov byte [0x661d4a], al
mov byte [0x661d4b], cl
jmp 0x46cd35
movzx ecx, bl
xor eax, eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x7c], ecx
test ecx, ecx
jle 0x46cce9
lea ebx, [ebx]
mov cl, byte [esi]
movzx edi, byte [esi + 1]
mov dl, cl
shr dl, 4
movzx edx, dl
lea eax, [eax + eax*4]
add eax, eax
mov word [eax + 0x661d50], dx
mov dl, cl
and cl, 1
mov byte [eax + 0x661d53], cl
mov cl, byte [esi + 3]
mov bl, cl
shr bl, 4
shl di, 4
movzx ebx, bl
add di, bx
mov word [eax + 0x661d54], di
movzx edi, byte [esi + 2]
and cl, 0xf
movzx ecx, cl
shl di, 4
add di, cx
movzx ecx, byte [esi + 4]
shr dl, 1
and dl, 7
mov byte [eax + 0x661d52], dl
mov word [eax + 0x661d56], di
mov word [eax + 0x661d58], cx
test dl, dl
jne 0x46ccc7
mov dword [ebp - 0x80], 1
mov eax, dword [ebp - 0x78]
test eax, eax
jne 0x46ccd3
add esi, 7
jmp 0x46ccd6
add esi, 5
inc eax
mov dword [ebp - 0x78], eax
cmp eax, dword [ebp - 0x7c]
jl 0x46cc50
mov bl, byte [0x6622f5]
mov cl, byte [esi + 2]
cmp bl, 1
jne 0x46cd14
movzx edx, byte [esi]
mov al, byte [esi + 1]
mov byte [0x661d48], dl
movzx edx, byte [esi + 3]
mov byte [0x661d49], al
mov byte [0x661d4a], cl
mov byte [0x661d4b], dl
jmp 0x46cd35
movzx eax, byte [esi + 1]
mov dl, byte [esi + 3]
mov byte [0x661d48], al
movzx eax, byte [esi + 4]
mov byte [0x661d49], cl
mov byte [0x661d4a], dl
mov byte [0x661d4b], al
cmp dword [ebp - 0x80], 0
jne 0x46cd47
cmp dword [0x661e88], 0x12c
jae 0x46cd95
push 0x64
push 0x661d50
lea ecx, [ebp - 0x6a]
push 0x64
push ecx
mov byte [ebp - 0x70], bl
call fcn.0056bcef
push 4
push 0x661d4c
lea edx, [ebp - 0x6e]
push 4
push edx
call fcn.0056bcef
add esp, 0x20
push 0x661fa0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [ebp - 0x70]
push eax
mov ecx, 0x661e84
call fcn.0046c4b0
push 0x661fa0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [0x63f44c]
push ecx
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp case.0x46c53d.17
cmp byte [esi + 3], 0x3c
ja 0x46d906
cmp dword [0x661eb4], 0
je 0x46d906
mov ecx, dword [0x6621a0]
mov edx, dword [ecx]
mov eax, dword [edx + 0x60]
xor ebx, ebx
call eax
test eax, eax
jle 0x46cdec
mov ecx, dword [0x6621a0]
mov edx, dword [ecx]
mov eax, dword [edx + 0x60]
call eax
mov ecx, eax
movzx eax, word [0x5eb386]
cdq
idiv ecx
mov ebx, eax
movzx edx, word [0x5eb386]
mov eax, dword [0x661eb4]
push edx
push 0x5eb388
push esi
push eax
call fcn.004213c0
mov ecx, dword [0x661e90]
add esp, 0x10
push ebx
push 0xb
push 0x46c
push ecx
mov word [0x5eb386], ax
call dword [sym.imp.USER32.dll_PostMessageA]
mov dx, word [0x5eb388]
cmp dx, word [0x5eb38a]
jne case.0x46c53d.17
mov dl, byte [ebp - 0x71]
xor eax, eax
mov dword [0x5eb386], eax
mov eax, dword [edi*4 + 0x63f430]
push eax
mov byte [0x5eb380], dl
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp case.0x46c53d.17
cmp byte [esi + 3], 0x3c
ja 0x46d906
mov eax, dword [0x661eb4]
test eax, eax
je 0x46d906
movzx ecx, word [0x5eb386]
push ecx
push 0x5eb388
push esi
push eax
call fcn.004213c0
mov dx, word [0x5eb388]
add esp, 0x10
mov word [0x5eb386], ax
cmp dx, word [0x5eb38a]
jne case.0x46c53d.17
jmp 0x46dbb8
cmp byte [esi + 3], 0x3c
ja 0x46d895
mov eax, dword [0x661eb4]
test eax, eax
je 0x46d895
movzx ecx, word [0x5eb386]
push ecx
push 0x5eb388
push esi
push eax
call fcn.004213c0
mov dx, word [0x5eb388]
add esp, 0x10
mov word [0x5eb386], ax
cmp dx, word [0x5eb38a]
jne case.0x46c53d.17
mov edx, dword [edi*4 + 0x63f430]
xor eax, eax
push edx
mov dword [0x5eb386], eax
mov byte [0x5eb380], bl
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp case.0x46c53d.17
cmp byte [esi + 3], 0x3c
ja 0x46cf87
movzx edx, word [0x5eb386]
push edx
push 0x5eb388
push esi
push 0x5fdc1a
call fcn.004213c0
mov word [0x5eb386], ax
mov ax, word [0x5eb388]
add esp, 0x10
cmp ax, word [0x5eb38a]
jne case.0x46c53d.17
push 0x100
push 0x5fdc1a
xor ecx, ecx
push 0x8000
push 0x605c1a
mov dword [0x5eb386], ecx
call fcn.0056bcef
mov eax, dword [edi*4 + 0x63f430]
add esp, 0x10
push eax
mov byte [0x5eb380], 0x26
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp case.0x46c53d.17
xor ecx, ecx
mov byte [0x5eb382], cl
jmp 0x46d908
cmp byte [esi + 3], 0x3c
ja 0x46c940
movzx eax, word [0x5eb386]
push eax
push 0x5eb388
push esi
push 0x5fdc1a
call fcn.004213c0
mov ecx, 1
add esp, 0x10
mov word [0x5eb386], ax
cmp cx, word [0x5eb388]
jne 0x46cfd7
push 0xb
call fcn.00421640
add esp, 4
mov dx, word [0x5eb388]
cmp dx, word [0x5eb38a]
jne case.0x46c53d.17
xor eax, eax
push 0xb
mov dword [0x5eb386], eax
mov byte [0x5eb380], 0x25
call fcn.00421590
mov ecx, eax
sar ecx, 1
add esp, 4
xor edx, edx
cmp ecx, eax
jge 0x46d03c
lea esi, [ecx + 0x5fdc1a]
mov edi, edx
and edi, 0x80000001
jns 0x46d022
dec edi
or edi, 0xfffffffe
inc edi
jne 0x46d029
cmp byte [esi], 0xca
jne 0x46d069
cmp edi, 1
jne 0x46d033
cmp byte [esi], 0xa5
jne 0x46d069
inc edx
lea edi, [edx + ecx]
inc esi
cmp edi, eax
jl 0x46d013
xor eax, eax
test ecx, ecx
jle case.0x46c53d.17
jmp 0x46d050
movzx edx, byte [eax + 0x5fdc1a]
mov word [eax*2 + 0x605c1a], dx
inc eax
cmp eax, ecx
jl 0x46d050
jmp case.0x46c53d.17
push eax
push 0x5fdc1a
push 0x8000
push 0x605c1a
call fcn.0056bcef
add esp, 0x10
jmp case.0x46c53d.17
cmp byte [esi + 3], 0x3c
ja 0x46c940
movzx edx, word [0x5eb386]
push edx
push 0x5eb388
push esi
push 0x5fdc1a
call fcn.004213c0
mov word [0x5eb386], ax
mov eax, 1
add esp, 0x10
cmp ax, word [0x5eb388]
jne 0x46d0c9
push 0
call fcn.00421640
add esp, 4
mov cx, word [0x5eb388]
cmp cx, word [0x5eb38a]
jne case.0x46c53d.17
xor edx, edx
push edx
mov dword [0x5eb386], edx
mov byte [0x5eb380], 0xe
call fcn.00421590
mov ecx, eax
sar ecx, 1
add esp, 4
xor edx, edx
cmp ecx, eax
jge 0x46d136
lea esi, [ecx + 0x5fdc1a]
mov edi, edx
and edi, 0x80000001
jns 0x46d114
dec edi
or edi, 0xfffffffe
inc edi
jne 0x46d11f
cmp byte [esi], 0xca
jne 0x46d069
cmp edi, 1
jne 0x46d12d
cmp byte [esi], 0xa5
jne 0x46d069
inc edx
lea edi, [edx + ecx]
inc esi
cmp edi, eax
jl 0x46d105
xor eax, eax
test ecx, ecx
jle case.0x46c53d.17
movzx edx, byte [eax + 0x5fdc1a]
mov word [eax*2 + 0x605c1a], dx
inc eax
cmp eax, ecx
jl 0x46d140
jmp case.0x46c53d.17
cmp byte [esi + 3], 0x3c
ja 0x46cf87
movzx edx, word [0x5eb386]
push edx
push 0x5eb388
push esi
push 0x5fdc1a
call fcn.004213c0
mov word [0x5eb386], ax
mov eax, 1
add esp, 0x10
cmp ax, word [0x5eb388]
jne 0x46d19c
push 7
call fcn.00421640
add esp, 4
mov cx, word [0x5eb388]
cmp cx, word [0x5eb38a]
jne case.0x46c53d.17
xor edx, edx
push 7
mov dword [0x5eb386], edx
mov byte [0x5eb380], 0xf
call fcn.00421590
push eax
push 0x5fdc1a
push 0x8000
push 0x605c1a
call fcn.0056bcef
add esp, 0x14
jmp case.0x46c53d.17
cmp byte [esi + 3], 0x3c
ja 0x46cf87
movzx eax, word [0x5eb386]
push eax
push 0x5eb388
push esi
push 0x5fdc1a
call fcn.004213c0
add esp, 0x10
cmp word [0x5eb388], 1
mov word [0x5eb386], ax
jne case.0x46c53d.17
movzx eax, byte [0x5fdc1a]
mov dl, byte [0x5fdc1c]
xor ecx, ecx
mov byte [0x5fd792], al
movzx eax, byte [0x5fdc1d]
mov dword [0x5eb386], ecx
mov cl, byte [0x5fdc1b]
mov byte [0x5fd793], cl
mov byte [0x5fd794], dl
mov byte [0x5fd795], al
jmp case.0x46c53d.17
cmp byte [esi + 3], 0x3c
ja 0x46c940
movzx eax, word [0x5eb386]
push eax
push 0x5eb388
push esi
push 0x5fdc1a
call fcn.004213c0
add esp, 0x10
cmp word [0x5eb388], 1
mov word [0x5eb386], ax
jne case.0x46c53d.17
xor ecx, ecx
push 2
mov dword [0x5eb386], ecx
call fcn.00421590
push eax
push 0x5fdc1a
push 0x400
push 0x60dc1a
call fcn.0056bcef
add esp, 0x14
jmp case.0x46c53d.17
cmp byte [esi + 3], 0x3c
ja 0x46d31e
movzx edx, word [0x5eb386]
push edx
push 0x5eb388
push esi
push 0x5fdc1a
call fcn.004213c0
add esp, 0x10
cmp word [0x5eb388], 1
mov word [0x5eb386], ax
jne case.0x46c53d.17
xor eax, eax
push 3
mov dword [0x5eb386], eax
call fcn.00421590
push eax
push 0x5fdc1a
push 0x400
push 0x60e01a
call fcn.0056bcef
add esp, 0x14
jmp case.0x46c53d.17
xor edx, edx
mov dword [0x5eb386], edx
mov byte [0x5eb382], dl
jmp case.0x46c53d.17
cmp byte [esi + 3], 0x3c
ja 0x46cf87
movzx ecx, word [0x5eb386]
push ecx
push 0x5eb388
push esi
push 0x5fdc1a
call fcn.004213c0
add esp, 0x10
cmp word [0x5eb388], 1
mov word [0x5eb386], ax
jne case.0x46c53d.17
xor edx, edx
push 4
mov dword [0x5eb386], edx
call fcn.00421590
push eax
push 0x5fdc1a
push 0x100
push 0x5fd592
call fcn.0056bcef
add esp, 0x14
jmp case.0x46c53d.17
cmp byte [esi + 3], 0x3c
ja 0x46cf87
movzx eax, word [0x5eb386]
push eax
push 0x5eb388
push esi
push 0x5fdc1a
call fcn.004213c0
mov ecx, 1
add esp, 0x10
mov word [0x5eb386], ax
cmp cx, word [0x5eb388]
jne 0x46d3e0
push 5
call fcn.00421640
add esp, 4
mov byte [0x5eb382], 0
mov dx, word [0x5eb388]
cmp dx, word [0x5eb38a]
jne case.0x46c53d.17
xor eax, eax
mov dword [0x5eb386], eax
cmp byte [0x5eb382], al
jne case.0x46c53d.17
push 5
mov byte [0x5eb382], 1
call fcn.00421590
push eax
push 0x5fdc1a
push 0x100
push 0x5fd692
call fcn.0056bcef
movzx edx, byte [0x5eb380]
mov eax, dword [edx*4 + 0x63f430]
add esp, 0x14
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp case.0x46c53d.17
cmp byte [esi + 3], 0x3c
ja 0x46d31e
movzx eax, word [0x5eb386]
push eax
push 0x5eb388
push esi
push 0x60e41a
call fcn.004213c0
mov ecx, 1
add esp, 0x10
mov word [0x5eb386], ax
cmp cx, word [0x5eb388]
jne 0x46d48a
push 6
call fcn.00421640
add esp, 4
mov dx, word [0x5eb388]
cmp dx, word [0x5eb38a]
jne case.0x46c53d.17
mov esi, dword [0x5eb2f8]
imul esi, dword [0x5eb2fc]
xor eax, eax
lea ecx, [esi + 0xb]
mov dword [0x5eb386], eax
test ecx, ecx
jle 0x46d4ef
lea esp, [esp]
mov edx, eax
sar edx, 1
test al, 1
jne 0x46d4da
mov dx, word [edx*2 + 0x60e41a]
mov edi, 0xff
and dx, di
jmp 0x46d4e2
movzx edx, byte [edx*2 + 0x60e41b]
mov word [eax*2 + 0x61641a], dx
inc eax
cmp eax, ecx
jl 0x46d4c0
mov eax, dword [0x5eb2fc]
push eax
lea ecx, [esi + 0x60e425]
push ecx
push 0x5fd79a
call fcn.0056e920
mov edx, dword [0x5eb2f8]
mov eax, dword [0x5eb2fc]
push edx
lea ecx, [eax + esi + 0x60e425]
push ecx
lea edx, [eax + 0x5fd79a]
push edx
call fcn.0056e920
mov eax, dword [0x5eb2fc]
mov ecx, dword [0x5eb2f8]
add ecx, eax
push eax
lea edx, [ecx + esi + 0x60e425]
push edx
push 0x5fd592
call fcn.0056e920
mov eax, dword [0x5eb2fc]
mov ecx, dword [0x5eb2f8]
push eax
lea edx, [ecx + eax*2]
lea eax, [edx + esi + 0x60e425]
push eax
push 0x5fd692
call fcn.0056e920
mov ecx, dword [0x63f470]
add esp, 0x30
push ecx
mov byte [0x5eb380], 0x10
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp case.0x46c53d.17
cmp byte [esi + 3], 0x3c
ja 0x46cf87
movzx ecx, word [0x5eb386]
push ecx
push 0x5eb388
push esi
push 0x5fdc1a
call fcn.004213c0
mov edx, 1
add esp, 0x10
mov word [0x5eb386], ax
cmp dx, word [0x5eb388]
jne 0x46d5cc
push edi
call fcn.00421450
add esp, 4
mov byte [0x5eb382], 0
mov ax, word [0x5eb388]
cmp ax, word [0x5eb38a]
jne case.0x46c53d.17
mov esi, dword [0x5eb2f8]
imul esi, dword [0x5eb2fc]
xor ecx, ecx
mov dword [0x5eb386], ecx
cmp byte [0x5eb382], cl
jne case.0x46c53d.17
xor eax, eax
mov byte [0x5eb382], 1
test esi, esi
jle 0x46d633
lea ecx, [ecx]
movzx ecx, byte [esi + eax + 0x5fdc1a]
movzx edx, byte [eax + 0x5fdc1a]
shl cx, 8
or cx, dx
mov word [eax*2 + 0x605c1a], cx
inc eax
cmp eax, esi
jl 0x46d610
movzx eax, byte [esi*2 + 0x5fdc1a]
mov byte [0x5fd792], al
mov cl, byte [esi*2 + 0x5fdc1b]
mov byte [0x5fd793], cl
mov dl, byte [esi*2 + 0x5fdc1c]
mov ecx, dword [0x5eb2fc]
mov byte [0x5fd794], dl
movzx eax, byte [esi*2 + 0x5fdc1d]
lea edx, [ecx + ecx]
mov byte [0x5fd795], al
push edx
lea eax, [esi*2 + 0x5fdc1e]
push eax
push 0x60dc1a
call fcn.0056e920
mov ecx, dword [0x5eb2f8]
mov eax, dword [0x5eb2fc]
lea edx, [ecx + ecx]
add eax, esi
push edx
lea ecx, [eax*2 + 0x5fdc1e]
push ecx
push 0x60e01a
call fcn.0056e920
mov eax, dword [0x5eb2fc]
mov edx, dword [0x5eb2f8]
add edx, eax
push eax
add edx, esi
lea eax, [edx*2 + 0x5fdc1e]
push eax
push 0x5fd592
call fcn.0056e920
mov eax, dword [0x5eb2fc]
mov ecx, dword [0x5eb2f8]
add ecx, eax
add ecx, esi
push eax
lea edx, [eax + ecx*2 + 0x5fdc1e]
push edx
push 0x5fd692
call fcn.0056e920
mov eax, dword [edi*4 + 0x63f430]
add esp, 0x30
push eax
mov byte [0x5eb380], bl
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp case.0x46c53d.17
cmp byte [esi + 3], 0x3c
ja 0x46d906
movzx eax, word [0x5eb386]
push eax
push 0x5eb388
push esi
push 0x60e41a
call fcn.004213c0
mov ecx, 1
add esp, 0x10
mov word [0x5eb386], ax
cmp cx, word [0x5eb388]
jne 0x46d748
push edi
call fcn.00421450
add esp, 4
mov dx, word [0x5eb388]
cmp dx, word [0x5eb38a]
jne case.0x46c53d.17
mov esi, dword [0x5eb2f8]
imul esi, dword [0x5eb2fc]
lea ecx, [esi + 0xb]
xor eax, eax
test ecx, ecx
jle 0x46d7a4
mov edx, eax
sar edx, 1
test al, 1
jne 0x46d78f
mov dx, word [edx*2 + 0x60e41a]
mov ebx, 0xff
and dx, bx
mov bl, byte [ebp - 0x71]
jmp 0x46d797
movzx edx, byte [edx*2 + 0x60e41b]
mov word [eax*2 + 0x61641a], dx
inc eax
cmp eax, ecx
jl 0x46d772
mov eax, dword [0x5eb2fc]
push eax
lea ecx, [esi + 0x60e425]
push ecx
push 0x5fd79a
call fcn.0056e920
mov edx, dword [0x5eb2f8]
mov eax, dword [0x5eb2fc]
push edx
lea ecx, [eax + esi + 0x60e425]
push ecx
lea edx, [eax + 0x5fd79a]
push edx
call fcn.0056e920
mov eax, dword [0x5eb2fc]
mov ecx, dword [0x5eb2f8]
add ecx, eax
push eax
lea edx, [ecx + esi + 0x60e425]
push edx
push 0x5fd592
call fcn.0056e920
mov eax, dword [0x5eb2fc]
mov ecx, dword [0x5eb2f8]
push eax
lea edx, [ecx + eax*2]
lea eax, [edx + esi + 0x60e425]
push eax
push 0x5fd692
call fcn.0056e920
add esp, 0x30
jmp 0x46dbb0
cmp byte [esi + 3], 0x3c
ja 0x46ca03
movzx eax, word [0x5eb386]
push eax
push 0x5eb388
push esi
push 0x61e41a
call fcn.004213c0
mov ecx, 1
add esp, 0x10
mov word [0x5eb386], ax
cmp cx, word [0x5eb388]
jne 0x46d867
push 9
call fcn.00421640
add esp, 4
mov dx, word [0x5eb388]
cmp dx, word [0x5eb38a]
jne case.0x46c53d.17
push 9
call fcn.00421590
push eax
push 0x61e41a
push 0x636c1a
call fcn.0056e920
add esp, 0x10
xor eax, eax
mov dword [0x5eb386], eax
jmp case.0x46c53d.17
cmp byte [esi + 3], 0x3c
ja 0x46d895
movzx ecx, word [0x5eb386]
push ecx
push 0x5eb388
push esi
push 0x61e41a
call fcn.004213c0
mov edx, 1
add esp, 0x10
mov word [0x5eb386], ax
cmp dx, word [0x5eb388]
jne 0x46d8dd
push 8
call fcn.00421640
add esp, 4
mov ax, word [0x5eb388]
cmp ax, word [0x5eb38a]
jne case.0x46c53d.17
push 8
call fcn.00421590
push eax
push 0x61e41a
push 0x62ec1a
call fcn.0056e920
add esp, 0x10
xor ecx, ecx
mov dword [0x5eb386], ecx
mov ecx, dword [0x6622f0]
push 1
call fcn.0043d250
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov eax, 1
pop ebx
call fcn.0056c19b
mov esp, ebp
pop ebp
ret
cmp byte [esi + 3], 0x3c
ja 0x46ca03
movzx edx, word [0x5eb386]
push edx
push 0x5eb388
push esi
push 0x61e41a
call fcn.004213c0
mov word [0x5eb386], ax
mov eax, 1
add esp, 0x10
cmp ax, word [0x5eb388]
jne 0x46d974
push 0xa
call fcn.00421640
add esp, 4
mov cx, word [0x5eb388]
cmp cx, word [0x5eb38a]
jne case.0x46c53d.17
push 0xa
call fcn.00421590
push eax
push 0x61e41a
push 0x63ec1a
call fcn.0056e920
mov ecx, dword [0x63f478]
add esp, 0x10
xor edx, edx
push ecx
mov dword [0x5eb386], edx
mov byte [0x5eb380], 0x12
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp case.0x46c53d.17
cmp byte [esi + 3], 0x3c
ja 0x46d906
movzx ecx, word [0x5eb386]
push ecx
push 0x5eb388
push esi
push 0x61e41a
call fcn.004213c0
mov edx, 1
add esp, 0x10
mov word [0x5eb386], ax
cmp dx, word [0x5eb388]
jne 0x46da02
push 0xa
call fcn.00421640
add esp, 4
mov ax, word [0x5eb388]
cmp ax, word [0x5eb38a]
jne case.0x46c53d.17
push 0xa
call fcn.00421590
push eax
push 0x61e41a
push 0x63ec1a
call fcn.0056e920
mov eax, dword [0x63f47c]
add esp, 0x10
xor ecx, ecx
push eax
mov dword [0x5eb386], ecx
mov byte [0x5eb380], 0x13
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp case.0x46c53d.17
cmp byte [esi + 3], 0x3c
ja 0x46d906
movzx eax, word [0x5eb386]
push eax
push 0x5eb388
push esi
push 0x61e41a
call fcn.004213c0
mov ecx, 1
add esp, 0x10
mov word [0x5eb386], ax
cmp cx, word [0x5eb388]
jne 0x46da91
push edi
call fcn.004216a0
add esp, 4
mov dx, word [0x5eb388]
cmp dx, word [0x5eb38a]
jne case.0x46c53d.17
mov ecx, dword [0x5eb2f8]
xor eax, eax
cmp dword [0x5eb300], 4
setg al
imul ecx, dword [0x5eb2fc]
add ecx, ecx
push ecx
push 0x61e41a
push 0x636c1a
lea esi, [eax*4 + 4]
call fcn.0056e920
mov eax, dword [0x5eb2f8]
imul eax, dword [0x5eb2fc]
add eax, eax
push eax
lea edx, [eax + 0x61e41a]
push edx
push 0x62ec1a
call fcn.0056e920
mov eax, dword [0x5eb2f8]
mov ecx, dword [0x5eb2fc]
add esi, eax
imul eax, ecx
add esi, ecx
add esi, esi
push esi
lea eax, [eax*4 + 0x61e41a]
push eax
push 0x63ec1a
call fcn.0056e920
add esp, 0x24
jmp 0x46dbb0
cmp byte [esi + 3], 0x3c
ja 0x46d906
movzx eax, word [0x5eb386]
push eax
push 0x5eb388
push esi
push 0x61e41a
call fcn.004213c0
mov ecx, 1
add esp, 0x10
mov word [0x5eb386], ax
cmp cx, word [0x5eb388]
jne 0x46db68
push edi
call fcn.004216a0
add esp, 4
mov dx, word [0x5eb388]
cmp dx, word [0x5eb38a]
jne case.0x46c53d.17
xor eax, eax
cmp dword [0x5eb300], 4
setg al
lea eax, [eax*4 + 4]
add eax, dword [0x5eb2f8]
add eax, dword [0x5eb2fc]
add eax, eax
push eax
push 0x61e41a
push 0x63ec1a
call fcn.0056e920
add esp, 0xc
xor ecx, ecx
mov dword [0x5eb386], ecx
mov byte [0x5eb380], bl
mov eax, dword [edi*4 + 0x63f430]
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp case.0x46c53d.17