Function at 0x428310
Capabilities:
Check for peb ntglobalflag flag
Contain obfuscated stackstrings
Encode data using base64
Get number of processors
Get process heap flags
Get process heap force flags
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x5238ac
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1dc
push ebx
push esi
push edi
lea ecx, [esp + 0x20]
mov dword [esp + 0x1f0], 1
call fcn.0048a5e0
lea ecx, [esp + 0x18]
mov byte [esp + 0x1f0], 2
call fcn.0048a5e0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1f0], 3
call fcn.0048a5e0
push 0x50
push 0x54a960
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1f8], 4
call fcn.0048a680
mov al, 0x2c
mov ecx, 0x40
mov byte [esp + 0x40], al
mov byte [esp + 0x41], al
mov byte [esp + 0x42], al
mov byte [esp + 0x43], al
mov byte [esp + 0x44], al
mov byte [esp + 0x45], al
mov byte [esp + 0x46], al
mov al, 0x2d
mov byte [esp + 0x47], al
mov byte [esp + 0x48], al
mov byte [esp + 0x49], al
mov byte [esp + 0x4a], al
mov byte [esp + 0x4b], al
mov byte [esp + 0x4c], al
mov byte [esp + 0x4d], al
mov al, 0x2e
mov byte [esp + 0x4e], al
mov byte [esp + 0x4f], al
mov byte [esp + 0x50], al
mov byte [esp + 0x51], al
mov byte [esp + 0x52], al
mov al, 0x20
mov byte [esp + 0x1f0], 5
mov byte [esp + 0x28], 0x14
mov byte [esp + 0x29], 0x13
mov byte [esp + 0x2a], 0x15
mov byte [esp + 0x2b], 0x1c
mov byte [esp + 0x2c], 0x11
mov byte [esp + 0x2d], 0x1e
mov byte [esp + 0x2e], 0xa
mov byte [esp + 0x2f], 0x23
mov byte [esp + 0x30], 0xf
mov byte [esp + 0x31], 0x24
mov byte [esp + 0x32], 0xe
mov byte [esp + 0x33], 0x1d
mov byte [esp + 0x34], 0x21
mov byte [esp + 0x35], 0x26
mov byte [esp + 0x36], 0xc
mov byte [esp + 0x37], 0x22
mov byte [esp + 0x38], 0x28
mov byte [esp + 0x39], 0x16
mov byte [esp + 0x3a], 0x10
mov byte [esp + 0x3b], 0x25
mov byte [esp + 0x3c], 0x1f
mov byte [esp + 0x68], 1
mov byte [esp + 0x69], 2
mov byte [esp + 0x6a], 4
mov byte [esp + 0x6b], 8
mov byte [esp + 0x6c], 0x10
mov byte [esp + 0x6d], al
mov byte [esp + 0x6e], cl
mov byte [esp + 0x6f], 1
mov byte [esp + 0x70], 2
mov byte [esp + 0x71], 4
mov byte [esp + 0x72], 8
mov byte [esp + 0x73], 0x10
mov edx, 0x80
xor ebx, ebx
mov byte [esp + 0x74], al
mov byte [esp + 0x75], cl
mov byte [esp + 0x76], 1
mov byte [esp + 0x77], 8
mov byte [esp + 0x78], 0x10
mov byte [esp + 0x79], al
mov byte [esp + 0x7a], dl
mov byte [esp + 0x54], bl
mov byte [esp + 0x55], 1
mov byte [esp + 0x56], 2
mov byte [esp + 0x57], bl
mov byte [esp + 0x58], bl
mov byte [esp + 0x59], bl
mov byte [esp + 0x5a], bl
mov byte [esp + 0x5b], bl
mov byte [esp + 0x5c], bl
mov byte [esp + 0x5d], bl
mov byte [esp + 0x5e], 3
mov byte [esp + 0x5f], 3
mov byte [esp + 0x60], 3
mov byte [esp + 0x61], bl
mov byte [esp + 0x62], 3
mov byte [esp + 0x63], bl
mov byte [esp + 0x64], bl
mov byte [esp + 0x65], 2
mov byte [esp + 0x66], 2
mov byte [esp + 0x10], 1
mov byte [esp + 0x11], 2
mov byte [esp + 0x12], 4
mov byte [esp + 0x13], 8
mov byte [esp + 0x14], 0x10
mov byte [esp + 0x15], al
mov byte [esp + 0x16], cl
mov byte [esp + 0x7c], bl
mov byte [esp + 0x7d], bl
mov byte [esp + 0x7e], 1
mov byte [esp + 0x7f], 1
mov byte [esp + 0x80], 2
mov byte [esp + 0x81], 2
mov byte [esp + 0x82], 3
mov byte [esp + 0x83], 4
mov byte [esp + 0x84], 4
mov byte [esp + 0x85], 5
mov byte [esp + 0x86], 6
mov byte [esp + 0x87], 7
mov byte [esp + 0x88], 7
mov byte [esp + 0x89], 8
mov byte [esp + 0x8a], 9
mov byte [esp + 0x8b], 9
mov byte [esp + 0x8c], 0xa
mov byte [esp + 0x8d], 0xb
mov byte [esp + 0x8e], 0xb
mov byte [esp + 0x8f], 0xc
mov byte [esp + 0x90], 0xd
mov byte [esp + 0x91], 0xe
mov byte [esp + 0x92], 0xe
mov byte [esp + 0x93], 0xf
mov byte [esp + 0x94], 0x10
mov byte [esp + 0x95], 0x11
mov byte [esp + 0x96], 0x12
mov byte [esp + 0x97], 0x12
mov byte [esp + 0x98], 0x13
mov byte [esp + 0x99], 0x14
mov byte [esp + 0x9a], 0x15
mov byte [esp + 0x9b], 0x15
mov byte [esp + 0x9c], 0x16
mov byte [esp + 0x9d], 0x17
mov byte [esp + 0x9e], 0x17
mov byte [esp + 0x9f], 0x18
mov byte [esp + 0xa0], 0x19
mov byte [esp + 0xa1], 0x1a
mov byte [esp + 0xa2], 0x1a
mov byte [esp + 0xa3], 0x1b
mov byte [esp + 0xa4], 0x1c
mov byte [esp + 0xa5], 0x1c
mov byte [esp + 0xa6], 0x1d
mov byte [esp + 0xa7], 0x1e
mov byte [esp + 0xa8], 0x1e
mov byte [esp + 0xa9], 0x1f
mov byte [esp + 0xaa], al
mov eax, 0x38
mov word [esp + 0xb8], ax
mov word [esp + 0xba], ax
mov eax, 0x3b
mov byte [esp + 0xab], 0x21
mov word [esp + 0xc0], ax
mov word [esp + 0xc2], ax
mov eax, 0x3e
mov byte [esp + 0xac], 0x21
mov word [esp + 0xc8], ax
mov word [esp + 0xca], ax
mov eax, 0x41
mov byte [esp + 0xad], 0x22
mov word [esp + 0xd0], ax
mov word [esp + 0xd2], ax
mov eax, 0x44
mov byte [esp + 0xae], 0x23
mov word [esp + 0xd8], ax
mov word [esp + 0xda], ax
mov eax, 0x47
mov byte [esp + 0xaf], 0x23
mov word [esp + 0xe0], ax
mov word [esp + 0xe2], ax
mov eax, 0x4a
mov byte [esp + 0xb0], 0x24
mov word [esp + 0xe8], ax
mov word [esp + 0xea], ax
mov eax, 0x53
mov byte [esp + 0xb1], 0x25
mov word [esp + 0xfc], ax
mov word [esp + 0xfe], ax
mov eax, 0x55
mov byte [esp + 0xb2], 0x25
mov word [esp + 0x102], ax
mov word [esp + 0x104], ax
mov eax, 0x57
mov byte [esp + 0xb3], 0x26
mov word [esp + 0x108], ax
mov word [esp + 0x10a], ax
mov eax, 0x5c
mov byte [esp + 0xb4], 0x27
mov word [esp + 0x114], ax
mov word [esp + 0x116], ax
mov eax, 0x5f
mov byte [esp + 0xb5], 0x28
mov word [esp + 0x11c], ax
mov word [esp + 0x11e], ax
mov byte [esp + 0xb6], 0x28
mov byte [esp + 0xb7], 0x29
mov word [esp + 0xbc], 0x39
mov word [esp + 0xbe], 0x3a
mov word [esp + 0xc4], 0x3c
mov word [esp + 0xc6], 0x3d
mov word [esp + 0xcc], 0x3f
mov word [esp + 0xce], cx
mov word [esp + 0xd4], 0x42
mov word [esp + 0xd6], 0x43
mov word [esp + 0xdc], 0x45
mov word [esp + 0xde], 0x46
mov word [esp + 0xe4], 0x48
mov word [esp + 0xe6], 0x49
mov word [esp + 0xec], 0x4b
mov word [esp + 0xee], 0x4c
mov word [esp + 0xf0], 0x4d
mov word [esp + 0xf2], 0x4e
mov word [esp + 0xf4], 0x4f
mov word [esp + 0xf6], 0x50
mov word [esp + 0xf8], 0x51
mov word [esp + 0xfa], 0x52
mov word [esp + 0x100], 0x54
mov word [esp + 0x106], 0x56
mov word [esp + 0x10c], 0x58
mov word [esp + 0x10e], 0x59
mov word [esp + 0x110], 0x5a
mov word [esp + 0x112], 0x5b
mov word [esp + 0x118], 0x5d
mov word [esp + 0x11a], 0x5e
mov word [esp + 0x120], 0x60
mov word [esp + 0x122], 0x61
mov eax, 0x62
mov word [esp + 0x124], ax
mov word [esp + 0x126], ax
mov eax, 0x65
mov word [esp + 0x128], 0x63
mov word [esp + 0x12c], ax
mov word [esp + 0x12e], ax
mov eax, 0x68
mov word [esp + 0x12a], 0x64
mov word [esp + 0x134], ax
mov word [esp + 0x136], ax
mov eax, 0x6b
mov word [esp + 0x130], 0x66
mov word [esp + 0x13c], ax
mov word [esp + 0x13e], ax
mov eax, 0x6e
mov word [esp + 0x132], 0x67
mov word [esp + 0x144], ax
mov word [esp + 0x146], ax
mov eax, 0x71
mov word [esp + 0x138], 0x69
mov word [esp + 0x14c], ax
mov word [esp + 0x14e], ax
mov eax, 0x74
mov word [esp + 0x13a], 0x6a
mov word [esp + 0x154], ax
mov word [esp + 0x156], ax
mov eax, 0x77
mov word [esp + 0x140], 0x6c
mov word [esp + 0x15c], ax
mov word [esp + 0x15e], ax
mov eax, 0x7a
mov word [esp + 0x142], 0x6d
mov word [esp + 0x164], ax
mov word [esp + 0x166], ax
mov eax, 0x7d
mov word [esp + 0x148], 0x6f
mov word [esp + 0x16c], ax
mov word [esp + 0x16e], ax
mov eax, 0x85
mov word [esp + 0x14a], 0x70
mov word [esp + 0x180], ax
mov word [esp + 0x182], ax
mov eax, 0x86
mov word [esp + 0x150], 0x72
mov word [esp + 0x184], ax
mov word [esp + 0x186], ax
mov eax, 0x89
mov word [esp + 0x152], 0x73
mov word [esp + 0x18c], ax
mov word [esp + 0x18e], ax
mov eax, 0x8c
mov word [esp + 0x158], 0x75
mov word [esp + 0x194], ax
mov word [esp + 0x196], ax
mov eax, 0x8f
mov word [esp + 0x15a], 0x76
mov word [esp + 0x160], 0x78
mov word [esp + 0x162], 0x79
mov word [esp + 0x168], 0x7b
mov word [esp + 0x16a], 0x7c
mov word [esp + 0x170], 0x7e
mov word [esp + 0x172], 0x7f
mov word [esp + 0x174], dx
mov word [esp + 0x176], dx
mov word [esp + 0x178], 0x81
mov word [esp + 0x17a], 0x82
mov word [esp + 0x17c], 0x83
mov word [esp + 0x17e], 0x84
mov word [esp + 0x188], 0x87
mov word [esp + 0x18a], 0x88
mov word [esp + 0x190], 0x8a
mov word [esp + 0x192], 0x8b
mov word [esp + 0x198], 0x8d
mov word [esp + 0x19a], 0x8e
mov word [esp + 0x19c], ax
mov word [esp + 0x19e], ax
mov word [esp + 0x1a0], 0x90
mov word [esp + 0x1a2], 0x91
mov word [esp + 0x1a4], 0x92
mov word [esp + 0x1a6], 0x93
mov word [esp + 0x1a8], 0x94
mov eax, 0x95
push ecx
mov word [esp + 0x1ae], ax
mov word [esp + 0x1b0], ax
mov eax, 0x97
mov ecx, esp
mov word [esp + 0x1b4], ax
mov word [esp + 0x1b6], ax
mov word [esp + 0x1b8], ax
lea eax, [esp + 0x21c]
mov dword [esp + 0x10], esp
push eax
mov word [esp + 0x1b6], 0x96
call fcn.0048a5f0
lea ecx, [esp + 0x1c]
call fcn.0048a8d0
lea ecx, [esp + 0x18]
call fcn.0048ab50
test ax, ax
jg 0x428cc6
lea ecx, [esp + 0x24]
mov byte [esp + 0x1f0], 4
call fcn.0048a720
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1f0], 3
call fcn.0048a720
lea ecx, [esp + 0x18]
mov byte [esp + 0x1f0], 2
call fcn.0048a720
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f0], 1
call fcn.0048a720
mov eax, dword [esp + 0x20c]
mov esi, dword [esp + 0x208]
cmp esi, eax
mov byte [esp + 0x1f0], 7
mov edi, eax
je 0x428c9b
mov ecx, esi
call fcn.0048a720
add esi, 4
cmp esi, edi
jne 0x428c86
mov esi, dword [esp + 0x208]
push esi
call fcn.00514120
add esp, 4
mov dword [esp + 0x208], ebx
mov dword [esp + 0x20c], ebx
mov dword [esp + 0x210], ebx
mov byte [esp + 0x1f0], 6
jmp 0x429777
movsx eax, word [esp + 0x21c]
sub eax, ebx
je 0x42916e
sub eax, 0x101
je 0x428f15
sub eax, 2
jne case.default.0x429267
mov esi, dword [esp + 0x1fc]
lea ecx, [esp + 0x18]
call fcn.0048ab50
cmp ax, 0x15
jg 0x428da4
lea ecx, [esp + 0x24]
mov byte [esp + 0x1f0], 4
call fcn.0048a720
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1f0], 3
call fcn.0048a720
lea ecx, [esp + 0x18]
mov byte [esp + 0x1f0], 2
call fcn.0048a720
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f0], 1
call fcn.0048a720
mov eax, dword [esp + 0x20c]
mov esi, dword [esp + 0x208]
cmp esi, eax
mov byte [esp + 0x1f0], 0xf
mov edi, eax
je 0x428d79
mov ecx, esi
call fcn.0048a720
add esi, 4
cmp esi, edi
jne 0x428d64
mov esi, dword [esp + 0x208]
push esi
call fcn.00514120
add esp, 4
mov dword [esp + 0x208], ebx
mov dword [esp + 0x20c], ebx
mov dword [esp + 0x210], ebx
mov byte [esp + 0x1f0], 0xe
jmp 0x429777
push 0x15
lea ecx, [esp + 0x1c]
call fcn.0048a9e0
movsx ecx, si
push ecx
mov dl, byte [esp + ecx + 0x14]
mov ecx, esp
test dl, al
je 0x428e6b
mov dword [esp + 0x10], esp
push 6
push 0x54a958
call fcn.0048a680
lea edx, [esp + 0x1cc]
push edx
call fcn.0049de10
mov eax, dword [eax + 4]
add esp, 8
cmp eax, ebx
jne 0x428ded
mov eax, 0x53115c
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x214]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x1cc]
and ecx, 3
cmp eax, ebx
rep movsb byte es:[edi], byte [esi]
je 0x428e51
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x428e48
cmp al, 0xff
je 0x428e48
dec al
mov byte [ecx], al
mov dword [esp + 0x1cc], ebx
mov dword [esp + 0x1d0], ebx
mov dword [esp + 0x1d4], ebx
jmp case.default.0x429267
push ecx
call fcn.00514120
add esp, 4
mov dword [esp + 0x1cc], ebx
mov dword [esp + 0x1d0], ebx
mov dword [esp + 0x1d4], ebx
jmp case.default.0x429267
mov dword [esp + 0x10], esp
push 6
push 0x54a950
call fcn.0048a680
lea ecx, [esp + 0x1bc]
push ecx
call fcn.0049de10
mov eax, dword [eax + 4]
add esp, 8
cmp eax, ebx
jne 0x428e97
mov eax, 0x53115c
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, dword [esp + 0x1bc]
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x214]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
cmp eax, ebx
rep movsb byte es:[edi], byte [esi]
je 0x428efb
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x428ef2
cmp al, 0xff
je 0x428ef2
dec al
mov byte [ecx], al
mov dword [esp + 0x1bc], ebx
mov dword [esp + 0x1c0], ebx
mov dword [esp + 0x1c4], ebx
jmp case.default.0x429267
push ecx
call fcn.00514120
add esp, 4
mov dword [esp + 0x1bc], ebx
mov dword [esp + 0x1c0], ebx
mov dword [esp + 0x1c4], ebx
jmp case.default.0x429267
movsx esi, word [esp + 0x1fc]
lea ecx, [esp + 0x18]
call fcn.0048ab50
movsx ecx, ax
mov al, byte [esp + esi + 0x40]
and eax, 0xff
add eax, 3
cmp ecx, eax
jg 0x428fdd
lea ecx, [esp + 0x24]
mov byte [esp + 0x1f0], 4
call fcn.0048a720
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1f0], 3
call fcn.0048a720
lea ecx, [esp + 0x18]
mov byte [esp + 0x1f0], 2
call fcn.0048a720
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f0], 1
call fcn.0048a720
mov eax, dword [esp + 0x20c]
mov esi, dword [esp + 0x208]
cmp esi, eax
mov byte [esp + 0x1f0], 0xd
mov edi, eax
je 0x428fb2
mov ecx, esi
call fcn.0048a720
add esi, 4
cmp esi, edi
jne 0x428f9d
mov esi, dword [esp + 0x208]
push esi
call fcn.00514120
add esp, 4
mov dword [esp + 0x208], ebx
mov dword [esp + 0x20c], ebx
mov dword [esp + 0x210], ebx
mov byte [esp + 0x1f0], 0xc
jmp 0x429777
push 6
push 0x54a948
lea ecx, [esp + 0x24]
call fcn.0048ac30
mov al, byte [esp + esi + 0x54]
lea ecx, [esp + 0x1c]
shl al, 1
push eax
push 5
mov byte [esp + 0x14], al
call fcn.0048a9f0
movzx dx, byte [esp + esi + 0x40]
add edx, 3
lea ecx, [esp + 0x18]
push edx
call fcn.0048a9e0
test byte [esp + esi + 0x68], al
je 0x4290c9
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x10], esp
push eax
call fcn.0048a5f0
lea ecx, [esp + 0x1dc]
push ecx
call fcn.0049de10
mov edi, dword [eax + 4]
add esp, 8
cmp edi, ebx
jne 0x42904d
mov edi, 0x53115c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, dword [esp + 0x1dc]
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x214]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
cmp eax, ebx
rep movsb byte es:[edi], byte [esi]
je 0x4290af
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4290a6
cmp al, 0xff
je 0x4290a6
dec al
mov byte [ecx], al
mov dword [esp + 0x1dc], ebx
mov dword [esp + 0x1e0], ebx
mov dword [esp + 0x1e4], ebx
jmp case.default.0x429267
push ecx
call fcn.00514120
add esp, 4
mov dword [esp + 0x1dc], ebx
mov dword [esp + 0x1e0], ebx
mov dword [esp + 0x1e4], ebx
jmp case.default.0x429267
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x1c]
inc al
push eax
push 5
call fcn.0048a9f0
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x10], esp
push eax
call fcn.0048a5f0
lea ecx, [esp + 0x2c]
push ecx
call fcn.0049de10
mov eax, dword [eax + 4]
add esp, 8
cmp eax, ebx
jne 0x429105
mov eax, 0x53115c
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, dword [esp + 0x2c]
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x214]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
cmp eax, ebx
rep movsb byte es:[edi], byte [esi]
je 0x42915d
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x429154
cmp al, 0xff
je 0x429154
dec al
mov byte [ecx], al
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
jmp case.default.0x429267
push ecx
call fcn.00514120
add esp, 4
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
jmp case.default.0x429267
movsx eax, word [esp + 0x1fc]
mov cl, byte [esp + eax + 0x28]
mov byte [esp + 0xc], cl
lea ecx, [esp + 0x18]
mov edi, dword [esp + 0xc]
and edi, 0xff
call fcn.0048ab50
movsx edx, ax
lea eax, [edi + 3]
cmp eax, edx
jl 0x42923f
lea ecx, [esp + 0x24]
mov byte [esp + 0x1f0], 4
call fcn.0048a720
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1f0], 3
call fcn.0048a720
lea ecx, [esp + 0x18]
mov byte [esp + 0x1f0], 2
call fcn.0048a720
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f0], 1
call fcn.0048a720
mov eax, dword [esp + 0x20c]
mov esi, dword [esp + 0x208]
cmp esi, eax
mov byte [esp + 0x1f0], 9
mov edi, eax
je 0x429214
mov ecx, esi
call fcn.0048a720
add esi, 4
cmp esi, edi
jne 0x4291ff
mov esi, dword [esp + 0x208]
push esi
call fcn.00514120
add esp, 4
mov dword [esp + 0x208], ebx
mov dword [esp + 0x20c], ebx
mov dword [esp + 0x210], ebx
mov byte [esp + 0x1f0], 8
jmp 0x429777
movzx si, byte [esp + 0xc]
lea ecx, [esi + 3]
push ecx
lea ecx, [esp + 0x1c]
call fcn.0048a9e0
mov byte [esp + 0xc], al
movsx eax, word [esp + 0x1fc]
cmp eax, 0x14
ja case.default.0x429267
jmp dword [eax*4 + 0x4297c8]
mov eax, dword [esp + 0xc]
and eax, 0xff
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
jmp 0x4296c6
mov al, byte [esp + 0xc]
cmp al, 0x7f
jbe 0x4292af
cmp al, 0xbc
jae 0x4292af
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x214]
and eax, 0xff
movsx eax, byte [esp + eax - 4]
push eax
push 0x549394
push ecx
jmp 0x4296d4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x214]
and eax, 0xff
sub eax, 0x5a
push eax
push 0x549394
push ecx
jmp 0x4296d4
mov edx, dword [esp + 0xc]
and edx, 0xff
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x214]
fild dword [esp + 0xc]
fmul qword [0x531668]
fstp qword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push eax
push ecx
push str._.2f
push edx
call fcn.00514b75
add esp, 0x10
jmp case.default.0x429267
mov eax, dword [esp + 0xc]
and eax, 0xff
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fmul qword [0x531660]
fstp qword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x214]
push ecx
push edx
push str._.1f
push eax
call fcn.00514b75
add esp, 0x10
jmp case.default.0x429267
mov ecx, dword [esp + 0xc]
and ecx, 0xff
mov dword [esp + 0xc], ecx
fild dword [esp + 0xc]
fmul qword [0x531658]
fstp qword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x214]
push edx
push eax
push str._.1f
push ecx
call fcn.00514b75
add esp, 0x10
jmp case.default.0x429267
mov edx, dword [esp + 0xc]
and edx, 0xff
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
fmul qword [0x531650]
fadd qword [0x5312b8]
jmp 0x4295d0
mov eax, dword [esp + 0xc]
and eax, 0xff
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fmul qword [0x531650]
fadd qword [0x5312b8]
jmp 0x429325
cmp byte [esp + 0xc], 0x7f
jbe 0x4293f5
mov ecx, dword [esp + 0xc]
and ecx, 0xff
movsx edx, word [esp + ecx*2 - 0x48]
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
jmp 0x429325
mov eax, dword [esp + 0xc]
and eax, 0xff
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fmul qword [0x5313f8]
fsub qword [0x5313f0]
jmp 0x429325
mov ecx, dword [esp + 0xc]
and ecx, 0xff
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x214]
fild dword [esp + 0xc]
fmul qword [0x531658]
fstp qword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push str._.1f
push ecx
call fcn.00514b75
add esp, 0x10
jmp case.default.0x429267
cmp byte [esp + 0xc], 0x7f
jbe 0x42947a
mov edx, dword [esp + 0xc]
and edx, 0xff
movsx eax, word [esp + edx*2 - 0x48]
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
jmp 0x429365
mov ecx, dword [esp + 0xc]
and ecx, 0xff
mov dword [esp + 0xc], ecx
fild dword [esp + 0xc]
fmul qword [0x5313f8]
fsub qword [0x5313f0]
jmp 0x429365
mov edx, dword [esp + 0xc]
and edx, 0xff
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
fmul qword [0x531658]
jmp 0x4295d0
mov eax, dword [esp + 0xc]
and eax, 0xff
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fmul dword [0x53164c]
jmp 0x429325
mov ecx, dword [esp + 0xc]
and ecx, 0xff
mov dword [esp + 0xc], ecx
fild dword [esp + 0xc]
fmul dword [0x531648]
jmp 0x429365
mov edx, dword [esp + 0xc]
and edx, 0xff
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
fmul qword [0x531328]
jmp 0x4295d0
mov eax, dword [esp + 0xc]
and eax, 0xff
add eax, 0x64
lea eax, [eax + eax*2]
push eax
mov eax, dword [esp + 0x218]
push 0x549394
push eax
jmp 0x4296d4
mov ecx, dword [esp + 0xc]
and ecx, 0xff
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x214]
fild dword [esp + 0xc]
fmul qword [0x531328]
fstp qword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push str._.1f
push ecx
call fcn.00514b75
add esp, 0x10
jmp case.default.0x429267
mov eax, dword [esp + 0xc]
and eax, 0xff
jmp 0x4296c6
mov eax, dword [esp + 0xc]
and eax, 0xff
push eax
mov eax, dword [esp + 0x218]
push 0x549394
push eax
jmp 0x4296d4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x214]
and eax, 0xff
push eax
push 0x549394
push ecx
jmp 0x4296d4
mov edx, dword [esp + 0xc]
and edx, 0xff
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
fmul qword [0x531640]
fstp qword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x214]
push eax
push ecx
push str._.1f
push edx
call fcn.00514b75
add esp, 0x10
jmp case.default.0x429267
lea ecx, [esp + 0x18]
call fcn.0048ab50
movsx eax, ax
add edi, 4
cmp eax, edi
jg 0x4296af
lea ecx, [esp + 0x24]
mov byte [esp + 0x1f0], 4
call fcn.0048a720
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1f0], 3
call fcn.0048a720
lea ecx, [esp + 0x18]
mov byte [esp + 0x1f0], 2
call fcn.0048a720
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f0], 1
call fcn.0048a720
mov eax, dword [esp + 0x20c]
mov esi, dword [esp + 0x208]
cmp esi, eax
mov byte [esp + 0x1f0], 0xb
mov edi, eax
je 0x429684
mov ecx, esi
call fcn.0048a720
add esi, 4
cmp esi, edi
jne 0x42966f
mov esi, dword [esp + 0x208]
push esi
call fcn.00514120
add esp, 4
mov dword [esp + 0x208], ebx
mov dword [esp + 0x20c], ebx
mov dword [esp + 0x210], ebx
mov byte [esp + 0x1f0], 0xa
jmp 0x429777
add esi, 4
lea ecx, [esp + 0x18]
push esi
call fcn.0048a9e0
xor ecx, ecx
mov ch, byte [esp + 0xc]
mov cl, al
mov eax, ecx
mov edx, dword [esp + 0x214]
push eax
push 0x549394
push edx
call fcn.00514b75
add esp, 0xc
lea ecx, [esp + 0x24]
mov byte [esp + 0x1f0], 4
call fcn.0048a720
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1f0], 3
call fcn.0048a720
lea ecx, [esp + 0x18]
mov byte [esp + 0x1f0], 2
call fcn.0048a720
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f0], 1
call fcn.0048a720
mov eax, dword [esp + 0x20c]
mov esi, dword [esp + 0x208]
cmp esi, eax
mov byte [esp + 0x1f0], 0x11
mov edi, eax
je 0x429751
mov ecx, esi
call fcn.0048a720
add esi, 4
cmp esi, edi
jne 0x42973c
mov esi, dword [esp + 0x208]
push esi
call fcn.00514120
add esp, 4
mov dword [esp + 0x208], ebx
mov dword [esp + 0x20c], ebx
mov dword [esp + 0x210], ebx
mov byte [esp + 0x1f0], 0x10
lea ecx, [esp + 0x200]
call fcn.0048a720
lea ecx, [esp + 0x1f8]
mov byte [esp + 0x1f0], bl
call fcn.0048a720
lea ecx, [esp + 0x218]
mov dword [esp + 0x1f0], 0xffffffff
call fcn.0048a720
mov ecx, dword [esp + 0x1e8]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
add esp, 0x1e8
ret 0x28