Function at 0x4bda30
Capabilities:
Check os version
Contain obfuscated stackstrings
Get number of processors
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x52aa93
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2a4
push ebx
push ebp
push esi
push edi
or edi, 0xffffffff
mov ebp, ecx
xor esi, esi
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], 0x530160
mov word [esp + 0x34], di
mov word [esp + 0x36], si
mov dword [esp + 0x2bc], esi
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54c774
call fcn.004f58e0
mov ecx, dword [0x5540a8]
call fcn.004fa1d0
push 6
push 0x54c76c
lea ecx, [esp + 0x2c]
call fcn.004f58e0
mov bl, 1
mov byte [esp + 0x2bc], 1
mov byte [esp + 0xf4], bl
mov eax, dword [esp + 0xf4]
lea ecx, [esp + 0x24]
push eax
push 5
call fcn.004f5c80
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call fcn.004f5850
mov ecx, dword [0x5540a8]
call fcn.004fa410
inc bl
cmp bl, 0x1a
mov byte [esp + 0xf4], bl
jbe 0x4bdab2
mov ecx, dword [0x5540a8]
lea eax, [esp + 0x30]
push eax
call fcn.004fa550
cmp ax, di
je 0x4c00d6
push 8
push 0x54b19c
lea ecx, [esp + 0x20]
call fcn.004f58e0
push esi
lea ecx, [esp + 0x3c]
mov byte [esp + 0x2c0], 2
call fcn.004f5870
push 8
push 0x54c760
lea ecx, [esp + 0x24]
mov byte [esp + 0x2c4], 3
call fcn.004f58e0
movsx eax, word [esp + 0x34]
cmp eax, 0x19
mov byte [esp + 0x2bc], 4
mov byte [esp + 0x48], 0x10
mov byte [esp + 0x49], 0x12
mov byte [esp + 0x4a], 0x13
mov byte [esp + 0x4b], 0x14
mov byte [esp + 0x4c], 0x15
mov byte [esp + 0x4d], 0x2c
mov byte [esp + 0x4e], 0x31
mov byte [esp + 0x4f], 0x32
mov byte [esp + 0x50], 0x35
mov byte [esp + 0x51], 0x37
mov byte [esp + 0x52], 0x38
mov byte [esp + 0x53], 0x42
mov byte [esp + 0x54], 0x50
mov byte [esp + 0x55], 0x40
mov byte [esp + 0x56], 0x62
mov byte [esp + 0x57], 0x11
mov byte [esp + 0x58], 0x19
mov byte [esp + 0x59], 0x39
mov byte [esp + 0x5a], 0x52
mov byte [esp + 0x5b], 0x66
mov byte [esp + 0x5c], 0x68
mov byte [esp + 0x5d], 0x23
mov byte [esp + 0x5e], 0x83
mov byte [esp + 0x5f], 0x3a
mov byte [esp + 0x60], 0x65
mov byte [esp + 0x61], 0x67
ja case.default.0x4bdbe2
xor ecx, ecx
mov cl, byte [eax + 0x4c0138]
jmp dword [ecx*4 + 0x4c0114]
mov eax, 0x530160
mov word [esp + 0x104], di
mov dword [esp + 0x100], eax
mov word [esp + 0x106], si
mov dword [esp + 0xf8], eax
mov word [esp + 0xfc], di
mov word [esp + 0xfe], si
mov dl, byte [esp + 0x34]
lea ecx, [esp + 0x24]
inc dl
mov byte [esp + 0x2bc], 6
push edx
push 5
call fcn.004f5c80
push ecx
lea eax, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call fcn.004f5850
mov ecx, dword [0x5540a8]
call fcn.004fa1d0
push 6
push 0x54c758
lea ecx, [esp + 0x8c]
call fcn.004f58e0
mov byte [esp + 0x2bc], 7
xor ebx, ebx
mov cl, bl
add cl, 0x1b
push ecx
push 5
lea ecx, [esp + 0x8c]
call fcn.004f5c80
push ecx
lea edx, [esp + 0x88]
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call fcn.004f5850
mov ecx, dword [0x5540a8]
call fcn.004fa410
inc ebx
cmp ebx, 4
jl 0x4bdc6f
mov ecx, dword [0x5540a8]
lea eax, [esp + 0x100]
push eax
call fcn.004fa550
movsx ebx, ax
cmp ebx, edi
je 0x4bdefd
push 9
push 0x549c7c
lea ecx, [esp + 0x4c]
call fcn.004f58e0
push 8
push 0x54c74c
lea ecx, [esp + 0x88]
mov byte [esp + 0x2c4], 8
call fcn.004f58e0
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0x2c4], 9
call fcn.004f5850
mov ecx, dword [0x5540a8]
call fcn.004fa1d0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54c744
call fcn.004f58e0
mov ecx, dword [0x5540a8]
call fcn.004fa410
mov ecx, dword [0x5540a8]
push 0x10
call fcn.004fa310
mov ecx, dword [0x5540a8]
lea eax, [esp + 0xf8]
push eax
call fcn.004fa550
movsx eax, ax
cmp eax, edi
je 0x4bdebf
cmp eax, esi
setne cl
dec ecx
and ecx, 0xff
push ecx
push 6
lea ecx, [esp + 0x4c]
call fcn.004f5c80
mov dl, bl
lea ecx, [esp + 0x44]
inc dl
push edx
push 7
call fcn.004f5c80
lea eax, [esp + 0x44]
mov ecx, ebp
push eax
call fcn.004d3100
lea ecx, [esp + 0x80]
push ecx
mov ecx, ebp
call fcn.004d3100
push esi
push esi
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0xa
mov ecx, esp
mov dword [esp + 0x38], esp
push 6
push 0x548aac
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x2cc], 9
call fcn.004f91a0
push 1
push ecx
lea edx, [esp + 0x88]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
call fcn.004f5850
lea eax, [esp + 0x40]
lea edx, [esp + 0x4c]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
mov byte [esp + 0x2d0], 0xb
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0x2cc], 9
call fcn.004c6770
push esi
push 1
push ecx
test al, al
mov ecx, esp
je 0x4bde58
mov dword [esp + 0x34], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0xc
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x54c73c
jmp 0x4bde7e
mov dword [esp + 0x34], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0xd
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x54c734
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x2cc], 9
call fcn.004f91a0
lea ecx, [esp + 0x80]
mov byte [esp + 0x2bc], 8
call fcn.004f5980
lea ecx, [esp + 0x44]
mov byte [esp + 0x2bc], 7
call fcn.004f5980
jmp 0x4bdcc6
lea ecx, [esp + 0x80]
mov byte [esp + 0x2bc], 8
call fcn.004f5980
lea ecx, [esp + 0x44]
mov byte [esp + 0x2bc], 7
call fcn.004f5980
lea ecx, [esp + 0x84]
mov byte [esp + 0x2bc], 6
call fcn.004f5980
jmp case.0x4bdbe2.1
lea ecx, [esp + 0x84]
mov byte [esp + 0x2bc], 6
call fcn.004f5980
mov eax, 0x530160
mov dword [esp + 0xf8], eax
mov dword [esp + 0x100], eax
jmp case.default.0x4bdbe2
mov ebx, 0x530160
mov dword [esp + 0xec], ebx
mov word [esp + 0xf0], di
mov word [esp + 0xf2], si
mov al, byte [esp + 0x34]
lea ecx, [esp + 0x24]
inc al
mov byte [esp + 0x2bc], 0xe
push eax
push 5
call fcn.004f5c80
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.004f5850
mov ecx, dword [0x5540a8]
call fcn.004fa1d0
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x54c744
call fcn.004f58e0
mov ecx, dword [0x5540a8]
call fcn.004fa410
cmp word [esp + 0x34], 0xb
je 0x4bdfbf
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x54c72c
call fcn.004f58e0
mov ecx, dword [0x5540a8]
call fcn.004fa410
mov ecx, dword [0x5540a8]
push 0x10
call fcn.004fa310
mov ecx, dword [0x5540a8]
lea eax, [esp + 0xec]
push eax
call fcn.004fa550
cmp ax, di
je 0x4be13d
movsx ecx, word [esp + 0x34]
mov dl, byte [esp + ecx + 0x48]
lea ecx, [esp + 0x18]
push edx
push 4
call fcn.004f5c80
cmp word [esp + 0xf0], si
lea ecx, [esp + 0x18]
setne al
dec eax
and eax, 0xff
push eax
push 6
call fcn.004f5c80
movsx ecx, word [esp + 0x34]
mov dl, byte [esp + ecx + 0x48]
lea ecx, [esp + 0x1c]
push edx
push 4
call fcn.004f5c80
lea eax, [esp + 0x18]
mov ecx, ebp
push eax
call fcn.004d3100
lea ecx, [esp + 0x1c]
push ecx
mov ecx, ebp
call fcn.004d3100
push esi
push esi
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0xf
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x548aac
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x2cc], 0xe
call fcn.004f91a0
push 1
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
call fcn.004f5850
lea eax, [esp + 0x40]
lea edx, [esp + 0x20]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
mov byte [esp + 0x2d0], 0x10
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0x2cc], 0xe
call fcn.004c6770
push esi
push 1
push ecx
test al, al
mov ecx, esp
jne 0x4be115
mov dword [esp + 0x34], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x11
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x54c734
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x2cc], 0xe
call fcn.004f91a0
jmp 0x4bdf2e
mov dword [esp + 0x34], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x12
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x54c73c
jmp 0x4be0f9
mov dword [esp + 0xec], ebx
jmp case.default.0x4bdbe2
push esi
push esi
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x13
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x548aac
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x2cc], 4
call fcn.004f91a0
movsx eax, word [esp + 0x34]
mov cl, byte [esp + eax + 0x48]
push ecx
push 4
lea ecx, [esp + 0x20]
call fcn.004f5c80
push 0xff
push 6
lea ecx, [esp + 0x20]
call fcn.004f5c80
movsx edx, word [esp + 0x34]
lea ecx, [esp + 0x1c]
mov al, byte [esp + edx + 0x48]
push eax
push 4
call fcn.004f5c80
lea ecx, [esp + 0x18]
push ecx
mov ecx, ebp
call fcn.004d3100
lea edx, [esp + 0x1c]
mov ecx, ebp
push edx
call fcn.004d3100
push 1
push ecx
lea eax, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
call fcn.004f5850
lea ecx, [esp + 0x40]
lea edx, [esp + 0x20]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
mov byte [esp + 0x2d0], 0x14
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0x2cc], 4
call fcn.004c6770
push esi
push 1
push ecx
test al, al
mov ecx, esp
jne 0x4be269
mov dword [esp + 0x34], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x15
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x54c734
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x2cc], 4
call fcn.004f91a0
jmp case.default.0x4bdbe2
mov dword [esp + 0x34], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x16
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x54c73c
jmp 0x4be24d
mov al, byte [esp + 0x34]
lea ecx, [esp + 0x24]
inc al
push eax
push 5
call fcn.004f5c80
lea ecx, [esp + 0xc4]
call fcn.004f8480
mov cl, byte [esp + 0x42]
sub esp, 0x10
mov edx, esp
mov edi, 0x5491f0
xor eax, eax
mov dword [esp + 0x38], esp
mov byte [edx], cl
or ecx, 0xffffffff
mov dword [edx + 4], esi
mov dword [edx + 8], esi
mov dword [edx + 0xc], esi
mov byte [esp + 0x2cc], 0x17
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x5491f0
mov ecx, edx
call fcn.00401510
sub esp, 0x10
lea edx, [esp + 0x62]
mov ecx, esp
mov dword [esp + 0x40], esp
push edx
push 0x548328
mov byte [esp + 0x2e4], 0x18
call fcn.00401030
sub esp, 0x10
lea eax, [esp + 0xd3]
mov ecx, esp
mov dword [esp + 0x98], esp
push eax
push 0x548324
mov byte [esp + 0x2f4], 0x19
call fcn.00401030
sub esp, 0x10
lea edx, [esp + 0x7f]
mov ecx, esp
mov dword [esp + 0xa4], esp
push edx
push 0x554048
mov byte [esp + 0x304], 0x1a
call fcn.00401030
push ecx
lea eax, [esp + 0x68]
mov ecx, esp
mov dword [esp + 0x58], esp
push eax
mov byte [esp + 0x304], 0x1b
call fcn.004f5850
push ecx
mov byte [esp + 0x304], 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
push 6
push 0x54c724
call fcn.004f58e0
lea ecx, [esp + 0x244]
mov byte [esp + 0x304], 0x17
push ecx
mov ecx, 0x5540a8
call fcn.004f9710
mov dx, word [eax]
mov ecx, dword [0x530168]
mov byte [esp + 0x2bc], 0x1d
mov word [esp + 0xc4], dx
push ecx
add eax, 4
push esi
push eax
lea ecx, [esp + 0xd4]
call fcn.004011e0
mov eax, dword [esp + 0x204]
mov byte [esp + 0x2bc], 0x17
cmp eax, esi
je 0x4be3fd
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4be3f4
cmp al, 0xff
je 0x4be3f4
dec al
mov byte [ecx], al
jmp 0x4be3fd
push ecx
call fcn.00514140
add esp, 4
lea ecx, [esp + 0xc4]
mov dword [esp + 0x204], esi
mov dword [esp + 0x208], esi
mov dword [esp + 0x20c], esi
call fcn.004f86d0
cmp ax, 2
jne 0x4be452
mov eax, dword [esp + 0xcc]
cmp eax, esi
je 0x4be742
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4be739
cmp al, 0xff
je 0x4be739
dec al
mov byte [ecx], al
jmp 0x4be742
lea edx, [esp + 0x12c]
lea ecx, [esp + 0xc4]
push edx
call fcn.004f86e0
mov ecx, dword [eax + 8]
mov byte [esp + 0x2bc], 0x1e
cmp ecx, 3
ja 0x4be4d3
lea eax, [esp + 0x1ec]
lea ecx, [esp + 0xc4]
push eax
call fcn.004f86e0
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x1f0]
cmp edx, esi
sete bl
cmp eax, esi
je 0x4be4ba
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4be4b1
cmp al, 0xff
je 0x4be4b1
dec al
mov byte [ecx], al
jmp 0x4be4ba
push ecx
call fcn.00514140
add esp, 4
test bl, bl
mov dword [esp + 0x1f0], esi
mov dword [esp + 0x1f4], esi
mov dword [esp + 0x1f8], esi
je 0x4be4d5
mov bl, 1
mov eax, dword [esp + 0x130]
mov byte [esp + 0x2bc], 0x17
cmp eax, esi
je 0x4be505
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4be4fc
cmp al, 0xff
je 0x4be4fc
dec al
mov byte [ecx], al
jmp 0x4be505
push ecx
call fcn.00514140
add esp, 4
test bl, bl
mov dword [esp + 0x130], esi
mov dword [esp + 0x134], esi
mov dword [esp + 0x138], esi
push esi
je 0x4be566
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x1f
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54c71c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x2cc], 0x17
call fcn.004f91a0
jmp 0x4be424
push esi
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x20
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x548aac
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x2cc], 0x17
call fcn.004f91a0
movsx ecx, word [esp + 0x34]
mov dl, byte [esp + ecx + 0x48]
lea ecx, [esp + 0x18]
push edx
push 4
call fcn.004f5c80
lea eax, [esp + 0x14c]
lea ecx, [esp + 0xc4]
push eax
call fcn.004f86e0
mov eax, dword [eax + 4]
mov byte [esp + 0x2bc], 0x21
cmp eax, esi
jne 0x4be5e4
mov eax, 0x530164
push eax
call fcn.00514a57
add esp, 4
lea ecx, [esp + 0x18]
push eax
push 6
call fcn.004f5c80
mov eax, dword [esp + 0x150]
mov byte [esp + 0x2bc], 0x17
cmp eax, esi
je 0x4be629
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4be620
cmp al, 0xff
je 0x4be620
dec al
mov byte [ecx], al
jmp 0x4be629
push ecx
call fcn.00514140
add esp, 4
movsx ecx, word [esp + 0x34]
mov dword [esp + 0x150], esi
mov dword [esp + 0x154], esi
mov dl, byte [esp + ecx + 0x48]
lea ecx, [esp + 0x1c]
push edx
push 4
mov dword [esp + 0x160], esi
call fcn.004f5c80
lea eax, [esp + 0x18]
mov ecx, ebp
push eax
call fcn.004d3100
lea ecx, [esp + 0x1c]
push ecx
mov ecx, ebp
call fcn.004d3100
push 1
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004f5850
lea eax, [esp + 0x40]
lea edx, [esp + 0x20]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0x2d0], 0x22
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0x2cc], 0x17
call fcn.004c6770
push esi
push 1
push ecx
test al, al
mov ecx, esp
jne 0x4be6dd
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x23
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54c734
jmp 0x4be703
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x24
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54c73c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x2cc], 0x17
call fcn.004f91a0
mov eax, dword [esp + 0xcc]
cmp eax, esi
je 0x4be742
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4be739
cmp al, 0xff
je 0x4be739
dec al
mov byte [ecx], al
jmp 0x4be742
push ecx
call fcn.00514140
add esp, 4
mov dword [esp + 0xcc], esi
mov dword [esp + 0xd0], esi
mov dword [esp + 0xd4], esi
jmp case.default.0x4bdbe2
mov al, byte [esp + 0x34]
lea ecx, [esp + 0x24]
inc al
push eax
push 5
call fcn.004f5c80
lea ecx, [esp + 0xd8]
call fcn.004f8480
mov cl, byte [esp + 0x3f]
sub esp, 0x10
mov ebp, esp
mov edi, 0x54832c
xor eax, eax
mov dword [esp + 0x20], esp
mov byte [ebp], cl
or ecx, 0xffffffff
mov dword [ebp + 4], esi
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], esi
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esp + 0x2d0], 0x25
mov ebx, ecx
mov ecx, ebp
push ebx
call fcn.004016f0
test al, al
je 0x4be7dc
mov edi, dword [ebp + 4]
mov ecx, ebx
mov edx, ecx
mov esi, 0x54832c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebp
call fcn.004016d0
xor esi, esi
sub esp, 0x10
lea eax, [esp + 0xcb]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
push 0x548328
mov byte [esp + 0x2e4], 0x26
call fcn.00401030
sub esp, 0x10
lea edx, [esp + 0xd2]
mov ecx, esp
mov dword [esp + 0x94], esp
push edx
push 0x548324
mov byte [esp + 0x2f4], 0x27
call fcn.00401030
sub esp, 0x10
lea eax, [esp + 0x80]
mov ecx, esp
mov dword [esp + 0xa8], esp
push eax
push 0x554048
mov byte [esp + 0x304], 0x28
call fcn.00401030
push ecx
lea edx, [esp + 0x68]
mov ecx, esp
mov dword [esp + 0x6c], esp
push edx
mov byte [esp + 0x304], 0x29
call fcn.004f5850
push ecx
mov byte [esp + 0x304], 0x2a
mov ecx, esp
mov dword [esp + 0x68], esp
push 6
push 0x54c714
call fcn.004f58e0
lea eax, [esp + 0x280]
mov ecx, 0x5540a8
push eax
mov byte [esp + 0x308], 0x25
call fcn.004f9710
mov edx, dword [0x530168]
mov cx, word [eax]
push edx
add eax, 4
mov word [esp + 0xdc], cx
push esi
push eax
lea ecx, [esp + 0xe8]
mov byte [esp + 0x2c8], 0x2b
call fcn.004011e0
mov eax, dword [esp + 0x240]
mov byte [esp + 0x2bc], 0x25
cmp eax, esi
je 0x4be8f4
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4be8eb
cmp al, 0xff
je 0x4be8eb
dec al
mov byte [ecx], al
jmp 0x4be8f4
push ecx
call fcn.00514140
add esp, 4
lea ecx, [esp + 0xd8]
mov dword [esp + 0x240], esi
mov dword [esp + 0x244], esi
mov dword [esp + 0x248], esi
call fcn.004f86d0
cmp ax, 2
jne 0x4be961
mov eax, dword [esp + 0xe0]
cmp eax, esi
je 0x4be943
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4be93a
cmp al, 0xff
je 0x4be93a
dec al
mov byte [ecx], al
jmp 0x4be943
push ecx
call fcn.00514140
add esp, 4
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0xe0], esi
mov dword [esp + 0xe4], esi
mov dword [esp + 0xe8], esi
jmp case.default.0x4bdbe2
lea eax, [esp + 0x18c]
lea ecx, [esp + 0xd8]
push eax
call fcn.004f86e0
mov ecx, dword [eax + 8]
mov byte [esp + 0x2bc], 0x2c
cmp ecx, 3
ja 0x4be9e2
lea ecx, [esp + 0x16c]
push ecx
lea ecx, [esp + 0xdc]
call fcn.004f86e0
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x170]
cmp edx, esi
sete bl
cmp eax, esi
je 0x4be9c9
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4be9c0
cmp al, 0xff
je 0x4be9c0
dec al
mov byte [ecx], al
jmp 0x4be9c9
push ecx
call fcn.00514140
add esp, 4
test bl, bl
mov dword [esp + 0x170], esi
mov dword [esp + 0x174], esi
mov dword [esp + 0x178], esi
je 0x4be9e4
mov bl, 1
mov eax, dword [esp + 0x190]
mov byte [esp + 0x2bc], 0x25
cmp eax, esi
je 0x4bea14
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4bea0b
cmp al, 0xff
je 0x4bea0b
dec al
mov byte [ecx], al
jmp 0x4bea14
push ecx
call fcn.00514140
add esp, 4
test bl, bl
mov dword [esp + 0x190], esi
mov dword [esp + 0x194], esi
mov dword [esp + 0x198], esi
push esi
je 0x4bea75
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x2d
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54c71c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x2cc], 0x25
call fcn.004f91a0
jmp 0x4bed10
push esi
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x2e
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x548aac
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x2cc], 0x25
call fcn.004f91a0
movsx edx, word [esp + 0x34]
lea ecx, [esp + 0x18]
mov al, byte [esp + edx + 0x48]
push eax
push 4
call fcn.004f5c80
lea ecx, [esp + 0x19c]
push ecx
lea ecx, [esp + 0xdc]
call fcn.004f86e0
mov eax, dword [eax + 4]
mov byte [esp + 0x2bc], 0x2f
cmp eax, esi
jne 0x4beaf3
mov eax, 0x530164
push eax
call fcn.00514a57
add esp, 4
lea ecx, [esp + 0x18]
push eax
push 6
call fcn.004f5c80
mov eax, dword [esp + 0x1a0]
mov byte [esp + 0x2bc], 0x25
cmp eax, esi
je 0x4beb38
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4beb2f
cmp al, 0xff
je 0x4beb2f
dec al
mov byte [ecx], al
jmp 0x4beb38
push ecx
call fcn.00514140
add esp, 4
movsx edx, word [esp + 0x34]
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1a0], esi
mov al, byte [esp + edx + 0x48]
mov dword [esp + 0x1a4], esi
push eax
push 4
mov dword [esp + 0x1b0], esi
call fcn.004f5c80
mov edi, dword [esp + 0x2c]
lea ecx, [esp + 0x18]
push ecx
mov ecx, edi
call fcn.004d3100
lea edx, [esp + 0x1c]
mov ecx, edi
push edx
call fcn.004d3100
push 8
push 0x54c708
lea ecx, [esp + 0xa4]
call fcn.004f58e0
lea eax, [esp + 0x9c]
mov ecx, edi
push eax
mov byte [esp + 0x2c0], 0x30
call fcn.004d3100
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push esi
call fcn.004f5870
lea ecx, [esp + 0x40]
lea edx, [esp + 0x20]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0x2d0], 0x31
call fcn.004f5850
mov ecx, edi
mov byte [esp + 0x2cc], 0x30
call fcn.004c6770
test al, al
je 0x4becb9
lea ecx, [esp + 0x38]
call fcn.004f5d00
cmp ax, 6
jl 0x4becb9
push 3
lea ecx, [esp + 0x3c]
call fcn.004f5b60
cmp al, 0x70
jne 0x4becb9
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x38]
push eax
call fcn.004f5c20
test al, al
je 0x4bec55
push esi
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x33
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54c73c
jmp 0x4bece5
lea ecx, [esp + 0x9c]
push ecx
lea ecx, [esp + 0x3c]
call fcn.004f5c20
push esi
push 1
push ecx
test al, al
mov ecx, esp
je 0x4bec98
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x34
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54c700
jmp 0x4bece5
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x35
mov ecx, esp
mov dword [esp + 0x24], esp
jmp 0x4becde
push esi
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x32
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54c734
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x2cc], 0x30
call fcn.004f91a0
lea ecx, [esp + 0x9c]
mov byte [esp + 0x2bc], 0x25
call fcn.004f5980
mov eax, dword [esp + 0xe0]
cmp eax, esi
je 0x4be943
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4be93a
cmp al, 0xff
je 0x4be93a
dec al
mov byte [ecx], al
jmp 0x4be943
mov dl, byte [esp + 0x34]
lea ecx, [esp + 0x24]
inc dl
push edx
push 5
call fcn.004f5c80
lea ecx, [esp + 0xb0]
call fcn.004f8480
mov al, byte [esp + 0x40]
sub esp, 0x10
mov ebp, esp
mov edi, 0x54832c
or ecx, 0xffffffff
mov dword [esp + 0x20], esp
mov byte [ebp], al
xor eax, eax
mov dword [ebp + 4], esi
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], esi
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esp + 0x2d0], 0x36
mov ebx, ecx
mov ecx, ebp
push ebx
call fcn.004016f0
test al, al
je 0x4bedbe
mov edi, dword [ebp + 4]
mov ecx, ebx
mov edx, ecx
mov esi, 0x54832c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebp
call fcn.004016d0
xor esi, esi
sub esp, 0x10
lea eax, [esp + 0xc7]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
push 0x548328
mov byte [esp + 0x2e4], 0x37
call fcn.00401030
sub esp, 0x10
lea edx, [esp + 0xdd]
mov ecx, esp
mov dword [esp + 0x94], esp
push edx
push 0x548324
mov byte [esp + 0x2f4], 0x38
call fcn.00401030
sub esp, 0x10
lea eax, [esp + 0x83]
mov ecx, esp
mov dword [esp + 0xa8], esp
push eax
push 0x554048
mov byte [esp + 0x304], 0x39
call fcn.00401030
push ecx
lea edx, [esp + 0x68]
mov ecx, esp
mov dword [esp + 0x6c], esp
push edx
mov byte [esp + 0x304], 0x3a
call fcn.004f5850
push ecx
mov byte [esp + 0x304], 0x3b
mov ecx, esp
mov dword [esp + 0x68], esp
push 6
push 0x54c6f8
call fcn.004f58e0
lea eax, [esp + 0x258]
mov ecx, 0x5540a8
push eax
mov byte [esp + 0x308], 0x36
call fcn.004f9710
mov edx, dword [0x530168]
mov cx, word [eax]
push edx
add eax, 4
mov word [esp + 0xb4], cx
push esi
push eax
lea ecx, [esp + 0xc0]
mov byte [esp + 0x2c8], 0x3c
call fcn.004011e0
mov eax, dword [esp + 0x218]
mov byte [esp + 0x2bc], 0x36
cmp eax, esi
je 0x4beed6
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4beecd
cmp al, 0xff
je 0x4beecd
dec al
mov byte [ecx], al
jmp 0x4beed6
push ecx
call fcn.00514140
add esp, 4
lea ecx, [esp + 0xb0]
mov dword [esp + 0x218], esi
mov dword [esp + 0x21c], esi
mov dword [esp + 0x220], esi
call fcn.004f86d0
cmp ax, 2
jne 0x4bef43
mov eax, dword [esp + 0xb8]
cmp eax, esi
je 0x4bef25
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4bef1c
cmp al, 0xff
je 0x4bef1c
dec al
mov byte [ecx], al
jmp 0x4bef25
push ecx
call fcn.00514140
add esp, 4
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0xb8], esi
mov dword [esp + 0xbc], esi
mov dword [esp + 0xc0], esi
jmp case.default.0x4bdbe2
lea eax, [esp + 0x13c]
lea ecx, [esp + 0xb0]
push eax
call fcn.004f86e0
mov ecx, dword [eax + 8]
mov byte [esp + 0x2bc], 0x3d
cmp ecx, 3
ja 0x4befc4
lea ecx, [esp + 0x1ac]
push ecx
lea ecx, [esp + 0xb4]
call fcn.004f86e0
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x1b0]
cmp edx, esi
sete bl
cmp eax, esi
je 0x4befab
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4befa2
cmp al, 0xff
je 0x4befa2
dec al
mov byte [ecx], al
jmp 0x4befab
push ecx
call fcn.00514140
add esp, 4
test bl, bl
mov dword [esp + 0x1b0], esi
mov dword [esp + 0x1b4], esi
mov dword [esp + 0x1b8], esi
je 0x4befc6
mov bl, 1
mov eax, dword [esp + 0x140]
mov byte [esp + 0x2bc], 0x36
cmp eax, esi
je 0x4beff6
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4befed
cmp al, 0xff
je 0x4befed
dec al
mov byte [ecx], al
jmp 0x4beff6
push ecx
call fcn.00514140
add esp, 4
test bl, bl
mov dword [esp + 0x140], esi
mov dword [esp + 0x144], esi
mov dword [esp + 0x148], esi
push esi
je 0x4bf040
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x3e
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54c71c
jmp 0x4bf1e1
push esi
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x3f
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x548aac
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x2cc], 0x36
call fcn.004f91a0
movsx edx, word [esp + 0x34]
lea ecx, [esp + 0x18]
mov al, byte [esp + edx + 0x48]
push eax
push 4
call fcn.004f5c80
lea ecx, [esp + 0x1dc]
push ecx
lea ecx, [esp + 0xb4]
call fcn.004f86e0
mov eax, dword [eax + 4]
mov byte [esp + 0x2bc], 0x40
cmp eax, esi
jne 0x4bf0be
mov eax, 0x530164
push eax
call fcn.00514a57
add esp, 4
lea ecx, [esp + 0x18]
push eax
push 6
call fcn.004f5c80
mov eax, dword [esp + 0x1e0]
mov byte [esp + 0x2bc], 0x36
cmp eax, esi
je 0x4bf103
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4bf0fa
cmp al, 0xff
je 0x4bf0fa
dec al
mov byte [ecx], al
jmp 0x4bf103
push ecx
call fcn.00514140
add esp, 4
movsx edx, word [esp + 0x34]
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1e0], esi
mov al, byte [esp + edx + 0x48]
mov dword [esp + 0x1e4], esi
push eax
push 4
mov dword [esp + 0x1f0], esi
call fcn.004f5c80
mov edi, dword [esp + 0x2c]
lea ecx, [esp + 0x18]
push ecx
mov ecx, edi
call fcn.004d3100
lea edx, [esp + 0x1c]
mov ecx, edi
push edx
call fcn.004d3100
push 1
push ecx
lea eax, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.004f5850
lea ecx, [esp + 0x40]
lea edx, [esp + 0x20]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0x2d0], 0x41
call fcn.004f5850
mov ecx, edi
mov byte [esp + 0x2cc], 0x36
call fcn.004c6770
push esi
push 1
push ecx
test al, al
mov ecx, esp
jne 0x4bf1bb
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x42
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54c734
jmp 0x4bf1e1
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x43
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54c73c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x2cc], 0x36
call fcn.004f91a0
mov eax, dword [esp + 0xb8]
cmp eax, esi
je 0x4bef25
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4bef1c
cmp al, 0xff
je 0x4bef1c
dec al
mov byte [ecx], al
jmp 0x4bef25
mov al, byte [esp + 0x34]
lea ecx, [esp + 0x24]
inc al
push eax
push 5
call fcn.004f5c80
lea ecx, [esp + 0x6c]
call fcn.004f8480
mov cl, byte [esp + 0x43]
sub esp, 0x10
mov ebp, esp
mov edi, 0x54c6f4
xor eax, eax
mov dword [esp + 0x20], esp
mov byte [ebp], cl
or ecx, 0xffffffff
mov dword [ebp + 4], esi
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], esi
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esp + 0x2d0], 0x44
mov ebx, ecx
mov ecx, ebp
push ebx
call fcn.004016f0
test al, al
je 0x4bf2a7
mov edi, dword [ebp + 4]
mov ecx, ebx
mov edx, ecx
mov esi, 0x54c6f4
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp + 8], ebx
mov ebp, dword [ebp + 4]
add ebp, ebx
xor esi, esi
mov byte [ebp], 0
sub esp, 0x10
lea eax, [esp + 0xca]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
push 0x54c6f0
mov byte [esp + 0x2e4], 0x45
call fcn.00401030
sub esp, 0x10
lea edx, [esp + 0xdf]
mov ecx, esp
mov dword [esp + 0x94], esp
push edx
push 0x548324
mov byte [esp + 0x2f4], 0x46
call fcn.00401030
sub esp, 0x10
lea eax, [esp + 0x81]
mov ecx, esp
mov dword [esp + 0xa8], esp
push eax
push 0x554048
mov byte [esp + 0x304], 0x47
call fcn.00401030
push ecx
lea edx, [esp + 0x68]
mov ecx, esp
mov dword [esp + 0x6c], esp
push edx
mov byte [esp + 0x304], 0x48
call fcn.004f5850
push ecx
mov byte [esp + 0x304], 0x49
mov ecx, esp
mov dword [esp + 0x68], esp
push 6
push 0x54c6e8
call fcn.004f58e0
lea eax, [esp + 0x26c]
mov ecx, 0x5540a8
push eax
mov byte [esp + 0x308], 0x44
call fcn.004f9710
mov cx, word [eax]
lea edi, [eax + 4]
mov word [esp + 0x6c], cx
mov ecx, dword [0x530168]
mov eax, dword [edi + 8]
mov byte [esp + 0x2bc], 0x4a
mov ebx, eax
cmp ecx, ebx
jae 0x4bf388
mov ebx, ecx
lea edx, [esp + 0x70]
cmp edx, edi
jne 0x4bf3ab
push ecx
push ebx
lea ecx, [esp + 0x78]
call fcn.004015b0
push esi
push esi
lea ecx, [esp + 0x78]
call fcn.004015b0
jmp 0x4bf436
cmp ebx, esi
jbe 0x4bf3f8
cmp ebx, eax
jne 0x4bf3f8
mov eax, dword [edi + 4]
cmp eax, esi
jne 0x4bf3bf
mov eax, 0x530164
cmp byte [eax - 1], 0xfe
jae 0x4bf3f8
push 1
lea ecx, [esp + 0x74]
call fcn.004013e0
mov eax, dword [edi + 4]
cmp eax, esi
jne 0x4bf3dc
mov eax, 0x530164
mov dword [esp + 0x74], eax
mov ecx, dword [edi + 8]
mov dword [esp + 0x78], ecx
mov edi, dword [edi + 0xc]
mov dword [esp + 0x7c], edi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x4bf436
push 1
push ebx
lea ecx, [esp + 0x78]
call fcn.004016f0
test al, al
je 0x4bf436
mov edi, dword [edi + 4]
cmp edi, esi
mov esi, 0x530164
je 0x4bf416
mov esi, edi
mov edi, dword [esp + 0x74]
mov ecx, ebx
mov eax, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x74]
call fcn.004016d0
xor esi, esi
mov eax, dword [esp + 0x22c]
mov byte [esp + 0x2bc], 0x44
cmp eax, esi
je 0x4bf466
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4bf45d
cmp al, 0xff
je 0x4bf45d
dec al
mov byte [ecx], al
jmp 0x4bf466
push ecx
call fcn.00514140
add esp, 4
lea ecx, [esp + 0x6c]
mov dword [esp + 0x22c], esi
mov dword [esp + 0x230], esi
mov dword [esp + 0x234], esi
call fcn.004f86d0
cmp ax, 2
jne 0x4bf4c4
mov eax, dword [esp + 0x74]
cmp eax, esi
je 0x4bf4af
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4bf4a6
cmp al, 0xff
je 0x4bf4a6
dec al
mov byte [ecx], al
jmp 0x4bf4af
push ecx
call fcn.00514140
add esp, 4
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], esi
jmp case.default.0x4bdbe2
lea ecx, [esp + 0x1bc]
push ecx
lea ecx, [esp + 0x70]
call fcn.004f86e0
mov ecx, dword [eax + 8]
mov byte [esp + 0x2bc], 0x4b
cmp ecx, 3
ja 0x4bf53f
lea edx, [esp + 0x15c]
lea ecx, [esp + 0x6c]
push edx
call fcn.004f86e0
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x160]
cmp edx, esi
sete bl
cmp eax, esi
je 0x4bf526
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4bf51d
cmp al, 0xff
je 0x4bf51d
dec al
mov byte [ecx], al
jmp 0x4bf526
push ecx
call fcn.00514140
add esp, 4
test bl, bl
mov dword [esp + 0x160], esi
mov dword [esp + 0x164], esi
mov dword [esp + 0x168], esi
je 0x4bf541
mov bl, 1
mov eax, dword [esp + 0x1c0]
mov byte [esp + 0x2bc], 0x44
cmp eax, esi
je 0x4bf571
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4bf568
cmp al, 0xff
je 0x4bf568
dec al
mov byte [ecx], al
jmp 0x4bf571
push ecx
call fcn.00514140
add esp, 4
test bl, bl
mov dword [esp + 0x1c0], esi
mov dword [esp + 0x1c4], esi
mov dword [esp + 0x1c8], esi
push esi
je 0x4bf5bb
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x4c
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54c71c
jmp 0x4bf759
push esi
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x4d
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x548aac
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x2cc], 0x44
call fcn.004f91a0
movsx eax, word [esp + 0x34]
mov cl, byte [esp + eax + 0x48]
push ecx
push 4
lea ecx, [esp + 0x20]
call fcn.004f5c80
lea edx, [esp + 0x17c]
lea ecx, [esp + 0x6c]
push edx
call fcn.004f86e0
mov eax, dword [eax + 4]
mov byte [esp + 0x2bc], 0x4e
cmp eax, esi
jne 0x4bf636
mov eax, 0x530164
push eax
call fcn.00514a57
add esp, 4
lea ecx, [esp + 0x18]
push eax
push 6
call fcn.004f5c80
mov eax, dword [esp + 0x180]
mov byte [esp + 0x2bc], 0x44
cmp eax, esi
je 0x4bf67b
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4bf672
cmp al, 0xff
je 0x4bf672
dec al
mov byte [ecx], al
jmp 0x4bf67b
push ecx
call fcn.00514140
add esp, 4
movsx eax, word [esp + 0x34]
mov dword [esp + 0x180], esi
mov dword [esp + 0x184], esi
mov cl, byte [esp + eax + 0x48]
mov dword [esp + 0x188], esi
push ecx
push 4
lea ecx, [esp + 0x24]
call fcn.004f5c80
mov edi, dword [esp + 0x2c]
lea edx, [esp + 0x18]
push edx
mov ecx, edi
call fcn.004d3100
lea eax, [esp + 0x1c]
mov ecx, edi
push eax
call fcn.004d3100
push 1
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004f5850
lea eax, [esp + 0x40]
lea edx, [esp + 0x20]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0x2d0], 0x4f
call fcn.004f5850
mov ecx, edi
mov byte [esp + 0x2cc], 0x44
call fcn.004c6770
push esi
push 1
push ecx
test al, al
mov ecx, esp
jne 0x4bf733
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x50
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54c734
jmp 0x4bf759
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x51
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54c73c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x2cc], 0x44
call fcn.004f91a0
mov eax, dword [esp + 0x74]
cmp eax, esi
je 0x4bf4af
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4bf4a6
cmp al, 0xff
je 0x4bf4a6
dec al
mov byte [ecx], al
jmp 0x4bf4af
mov al, byte [esp + 0x34]
lea ecx, [esp + 0x24]
inc al
push eax
push 5
call fcn.004f5c80
lea ecx, [esp + 0x88]
call fcn.004f8480
mov cl, byte [esp + 0x41]
sub esp, 0x10
mov ebp, esp
mov edi, 0x54c6e4
xor eax, eax
mov dword [esp + 0x20], esp
mov byte [ebp], cl
or ecx, 0xffffffff
mov dword [ebp + 4], esi
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], esi
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esp + 0x2d0], 0x52
mov ebx, ecx
mov ecx, ebp
push ebx
call fcn.004016f0
test al, al
je 0x4bf81f
mov edi, dword [ebp + 4]
mov ecx, ebx
mov edx, ecx
mov esi, 0x54c6e4
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp + 8], ebx
mov ebp, dword [ebp + 4]
add ebp, ebx
xor esi, esi
mov byte [ebp], 0
sub esp, 0x10
lea eax, [esp + 0xcc]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
push 0x548ec4
mov byte [esp + 0x2e4], 0x53
call fcn.00401030
sub esp, 0x10
lea edx, [esp + 0xde]
mov ecx, esp
mov dword [esp + 0x94], esp
push edx
push 0x548324
mov byte [esp + 0x2f4], 0x54
call fcn.00401030
sub esp, 0x10
lea eax, [esp + 0xe5]
mov ecx, esp
mov dword [esp + 0xa8], esp
push eax
push 0x554048
mov byte [esp + 0x304], 0x55
call fcn.00401030
push ecx
lea edx, [esp + 0x68]
mov ecx, esp
mov dword [esp + 0x6c], esp
push edx
mov byte [esp + 0x304], 0x56
call fcn.004f5850
push ecx
mov byte [esp + 0x304], 0x57
mov ecx, esp
mov dword [esp + 0x68], esp
push 6
push 0x54c6dc
call fcn.004f58e0
lea eax, [esp + 0x294]
mov ecx, 0x5540a8
push eax
mov byte [esp + 0x308], 0x52
call fcn.004f9710
mov cx, word [eax]
lea edi, [eax + 4]
mov word [esp + 0x88], cx
mov ecx, dword [0x530168]
mov eax, dword [edi + 8]
mov byte [esp + 0x2bc], 0x58
mov ebx, eax
cmp ecx, ebx
jae 0x4bf903
mov ebx, ecx
lea edx, [esp + 0x8c]
cmp edx, edi
jne 0x4bf92f
push ecx
push ebx
lea ecx, [esp + 0x94]
call fcn.004015b0
push esi
push esi
lea ecx, [esp + 0x94]
call fcn.004015b0
jmp 0x4bf9d4
cmp ebx, esi
jbe 0x4bf988
cmp ebx, eax
jne 0x4bf988
mov eax, dword [edi + 4]
cmp eax, esi
jne 0x4bf943
mov eax, 0x530164
cmp byte [eax - 1], 0xfe
jae 0x4bf988
push 1
lea ecx, [esp + 0x90]
call fcn.004013e0
mov eax, dword [edi + 4]
cmp eax, esi
jne 0x4bf963
mov eax, 0x530164
mov dword [esp + 0x90], eax
mov ecx, dword [edi + 8]
mov dword [esp + 0x94], ecx
mov edi, dword [edi + 0xc]
mov dword [esp + 0x98], edi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x4bf9d4
push 1
push ebx
lea ecx, [esp + 0x94]
call fcn.004016f0
test al, al
je 0x4bf9d4
mov edi, dword [edi + 4]
cmp edi, esi
mov esi, 0x530164
je 0x4bf9a9
mov esi, edi
mov edi, dword [esp + 0x90]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x94], ebx
xor esi, esi
mov byte [ebx + ecx], 0
mov eax, dword [esp + 0x254]
mov byte [esp + 0x2bc], 0x52
cmp eax, esi
je 0x4bfa04
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4bf9fb
cmp al, 0xff
je 0x4bf9fb
dec al
mov byte [ecx], al
jmp 0x4bfa04
push ecx
call fcn.00514140
add esp, 4
lea ecx, [esp + 0x88]
mov dword [esp + 0x254], esi
mov dword [esp + 0x258], esi
mov dword [esp + 0x25c], esi
call fcn.004f86d0
cmp ax, 2
jne 0x4bfa71
mov eax, dword [esp + 0x90]
cmp eax, esi
je 0x4bfa53
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4bfa4a
cmp al, 0xff
je 0x4bfa4a
dec al
mov byte [ecx], al
jmp 0x4bfa53
push ecx
call fcn.00514140
add esp, 4
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], esi
jmp case.default.0x4bdbe2
lea edx, [esp + 0x11c]
lea ecx, [esp + 0x88]
push edx
call fcn.004f86e0
mov ecx, dword [eax + 8]
mov byte [esp + 0x2bc], 0x59
cmp ecx, 2
ja 0x4bfaf2
lea eax, [esp + 0x1cc]
lea ecx, [esp + 0x88]
push eax
call fcn.004f86e0
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x1d0]
cmp edx, esi
sete bl
cmp eax, esi
je 0x4bfad9
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4bfad0
cmp al, 0xff
je 0x4bfad0
dec al
mov byte [ecx], al
jmp 0x4bfad9
push ecx
call fcn.00514140
add esp, 4
test bl, bl
mov dword [esp + 0x1d0], esi
mov dword [esp + 0x1d4], esi
mov dword [esp + 0x1d8], esi
je 0x4bfaf4
mov bl, 1
mov edx, dword [esp + 0x120]
mov byte [esp + 0x2bc], 0x52
cmp edx, esi
je 0x4bfb2f
mov al, byte [edx - 1]
lea ecx, [edx - 1]
test al, al
je 0x4bfb26
cmp al, 0xff
je 0x4bfb26
push edx
lea ecx, [esp + 0x120]
call fcn.0040b070
dec byte [eax]
jmp 0x4bfb2f
push ecx
call fcn.00514140
add esp, 4
test bl, bl
mov dword [esp + 0x120], esi
mov dword [esp + 0x124], esi
mov dword [esp + 0x128], esi
push esi
je 0x4bfb79
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x5a
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54c71c
jmp 0x4bfce4
push esi
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x5b
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x548aac
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x2cc], 0x52
call fcn.004f91a0
movsx ecx, word [esp + 0x34]
mov dl, byte [esp + ecx + 0x48]
lea ecx, [esp + 0x18]
push edx
push 4
call fcn.004f5c80
lea eax, [esp + 0x260]
lea ecx, [esp + 0x88]
push eax
call fcn.004f86e0
mov ecx, eax
mov byte [esp + 0x2bc], 0x5c
call fcn.0040b060
push eax
call fcn.00514a57
add esp, 4
lea ecx, [esp + 0x18]
push eax
push 6
call fcn.004f5c80
lea ecx, [esp + 0x260]
mov byte [esp + 0x2bc], 0x52
call fcn.004010f0
movsx ecx, word [esp + 0x34]
mov dl, byte [esp + ecx + 0x48]
lea ecx, [esp + 0x1c]
push edx
push 4
call fcn.004f5c80
mov edi, dword [esp + 0x2c]
lea eax, [esp + 0x18]
push eax
mov ecx, edi
call fcn.004d3100
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
call fcn.004d3100
push 1
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004f5850
lea eax, [esp + 0x40]
lea edx, [esp + 0x20]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0x2d0], 0x5d
call fcn.004f5850
mov ecx, edi
mov byte [esp + 0x2cc], 0x52
call fcn.004c6770
push esi
push 1
test al, al
push ecx
mov ecx, esp
jne 0x4bfcbe
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x5e
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54c734
jmp 0x4bfce4
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x5f
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54c73c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x2cc], 0x52
call fcn.004f91a0
lea ecx, [esp + 0x88]
call fcn.004335b0
mov ebp, dword [esp + 0x2c]
jmp case.default.0x4bdbe2
mov al, byte [esp + 0x34]
lea ecx, [esp + 0x24]
inc al
push eax
push 5
call fcn.004f5c80
lea ecx, [esp + 0x108]
call fcn.004f8480
sub esp, 0x10
lea edx, [esp + 0xb4]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
push 0x54c6e4
mov byte [esp + 0x2d4], 0x60
call fcn.00401030
sub esp, 0x10
lea eax, [esp + 0xc6]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
push 0x548ec4
mov byte [esp + 0x2e4], 0x61
call fcn.00401030
sub esp, 0x10
lea edx, [esp + 0xd8]
mov ecx, esp
mov dword [esp + 0x94], esp
push edx
push 0x548324
mov byte [esp + 0x2f4], 0x62
call fcn.00401030
sub esp, 0x10
lea eax, [esp + 0xe9]
mov ecx, esp
mov dword [esp + 0xa8], esp
push eax
push 0x554048
mov byte [esp + 0x304], 0x63
call fcn.00401030
push ecx
lea edx, [esp + 0x68]
mov ecx, esp
mov dword [esp + 0x6c], esp
push edx
mov byte [esp + 0x304], 0x64
call fcn.004f5850
push ecx
mov byte [esp + 0x304], 0x65
mov ecx, esp
mov dword [esp + 0x68], esp
push 6
push 0x54c6dc
call fcn.004f58e0
lea eax, [esp + 0x2e8]
mov ecx, 0x5540a8
push eax
mov byte [esp + 0x308], 0x60
call fcn.004f9710
push eax
lea ecx, [esp + 0x10c]
mov byte [esp + 0x2c0], 0x66
call fcn.0041d4d0
lea ecx, [esp + 0x2a0]
mov byte [esp + 0x2bc], 0x60
call fcn.004335b0
lea ecx, [esp + 0x108]
call fcn.004f86d0
cmp ax, 2
je 0x4c007e
lea ecx, [esp + 0x280]
push ecx
lea ecx, [esp + 0x10c]
call fcn.004f86e0
mov ecx, eax
mov byte [esp + 0x2bc], 0x67
call fcn.0041fe60
cmp eax, 2
ja 0x4bfeb5
lea edx, [esp + 0x270]
lea ecx, [esp + 0x108]
push edx
call fcn.004f86e0
mov ecx, eax
mov byte [esp + 0x2bc], 0x68
call fcn.0041fe60
test eax, eax
lea ecx, [esp + 0x270]
mov byte [esp + 0x2bc], 0x67
sete bl
call fcn.004010f0
test bl, bl
je 0x4bfeb7
mov bl, 1
lea ecx, [esp + 0x280]
mov byte [esp + 0x2bc], 0x60
call fcn.004010f0
test bl, bl
push esi
je 0x4bff00
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x69
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54c71c
jmp 0x4c0067
push esi
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x6a
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x548aac
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x2cc], 0x60
call fcn.004f91a0
movsx eax, word [esp + 0x34]
mov cl, byte [esp + eax + 0x48]
push ecx
push 4
lea ecx, [esp + 0x20]
call fcn.004f5c80
lea edx, [esp + 0x290]
lea ecx, [esp + 0x108]
push edx
call fcn.004f86e0
mov ecx, eax
mov byte [esp + 0x2bc], 0x6b
call fcn.0040b060
push eax
call fcn.00514a57
add esp, 4
lea ecx, [esp + 0x18]
push eax
push 6
call fcn.004f5c80
lea ecx, [esp + 0x290]
mov byte [esp + 0x2bc], 0x60
call fcn.004010f0
movsx eax, word [esp + 0x34]
mov cl, byte [esp + eax + 0x48]
push ecx
push 4
lea ecx, [esp + 0x24]
call fcn.004f5c80
lea edx, [esp + 0x18]
mov ecx, ebp
push edx
call fcn.004d3100
lea eax, [esp + 0x1c]
mov ecx, ebp
push eax
call fcn.004d3100
push 1
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004f5850
lea eax, [esp + 0x40]
lea edx, [esp + 0x20]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0x2d0], 0x6c
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0x2cc], 0x60
call fcn.004c6770
push esi
push 1
push ecx
test al, al
mov ecx, esp
jne 0x4c0041
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x6d
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54c734
jmp 0x4c0067
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x2cc], 0x6e
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54c73c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x2cc], 0x60
call fcn.004f91a0
lea ecx, [esp + 0x108]
call fcn.004335b0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2bc], 3
call fcn.004f5980
lea ecx, [esp + 0x38]
mov byte [esp + 0x2bc], 2
call fcn.004f5980
lea ecx, [esp + 0x18]
mov byte [esp + 0x2bc], 1
call fcn.004f5980
lea ecx, [esp + 0x24]
mov byte [esp + 0x2bc], 0
call fcn.004f5980
or edi, 0xffffffff
jmp 0x4bda73
lea ecx, [esp + 0x24]
mov byte [esp + 0x2bc], 0
call fcn.004f5980
lea ecx, [esp + 0x30]
mov dword [esp + 0x2bc], edi
call fcn.00401000
mov ecx, dword [esp + 0x2b4]
pop edi
pop esi
pop ebp
xor ax, ax
mov dword fs:[0], ecx
pop ebx
add esp, 0x2b0
ret