Function at 0x45d420
Capabilities:
Contain obfuscated stackstrings
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4979ea
mov eax, dword fs:[0]
push eax
sub esp, 0x2f8
mov eax, dword [0x4c56f0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov edi, ecx
xor ebx, ebx
mov dword [ebp - 0x2c4], edi
mov dword [ebp - 0x240], eax
mov dword [edi + 4], ebx
lea eax, [edi + 8]
mov dword [ebp - 4], ebx
mov dword [ebp - 0x2b4], eax
mov dword [eax + 4], ebx
lea eax, [edi + 0x10]
mov dword [ebp - 0x284], eax
mov dword [eax + 4], ebx
lea eax, [edi + 0x18]
mov dword [ebp - 0x2bc], eax
mov dword [eax + 4], ebx
lea eax, [edi + 0x20]
mov dword [ebp - 0x270], eax
mov dword [eax + 4], ebx
lea eax, [edi + 0x28]
mov dword [ebp - 0x2c8], eax
mov dword [eax + 4], ebx
lea eax, [edi + 0x30]
mov dword [ebp - 0x2b0], eax
mov dword [eax + 4], ebx
lea eax, [edi + 0x38]
mov dword [ebp - 0x2b8], eax
mov dword [eax + 4], ebx
lea eax, [edi + 0x40]
mov dword [ebp - 0x280], eax
mov dword [eax + 4], ebx
lea eax, [edi + 0x48]
mov dword [ebp - 0x2d0], eax
mov dword [eax + 4], ebx
mov byte [ebp - 4], 9
push 0x18
mov esi, 0xf
push str.expected_object_or_array
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0x258], esi
mov dword [ebp - 0x25c], ebx
mov byte [ebp - 0x26c], bl
call fcn.0040c230
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x26c]
mov byte [ebp - 4], 0xa
push ecx
lea ecx, [ebp - 0x1d4]
mov dword [ebp - 0x1c0], esi
mov dword [ebp - 0x1c4], ebx
mov byte [ebp - 0x1d4], bl
call fcn.0040b170
cmp dword [ebp - 0x258], 0x10
jb 0x45d543
mov edx, dword [ebp - 0x26c]
push edx
call fcn.0046ead2
add esp, 4
mov dword [ebp - 0x258], esi
mov dword [ebp - 0x25c], ebx
mov byte [ebp - 0x26c], bl
mov byte [ebp - 4], 0xb
push 0x15
push str.expected_end_of_input
lea ecx, [ebp - 0x2ac]
mov dword [ebp - 0x298], esi
mov dword [ebp - 0x29c], ebx
mov byte [ebp - 0x2ac], bl
call fcn.0040c230
push 0xffffffffffffffff
mov byte [ebp - 4], 0xc
push ebx
lea eax, [ebp - 0x2ac]
push eax
lea ecx, [ebp - 0x1b8]
mov dword [ebp - 0x1a4], esi
mov dword [ebp - 0x1a8], ebx
mov byte [ebp - 0x1b8], bl
call fcn.0040b170
cmp dword [ebp - 0x298], 0x10
jb 0x45d5c0
mov ecx, dword [ebp - 0x2ac]
push ecx
call fcn.0046ead2
add esp, 4
mov dword [ebp - 0x298], esi
mov dword [ebp - 0x29c], ebx
mov byte [ebp - 0x2ac], bl
mov byte [ebp - 4], 0xd
push 0x13
push str.expected___or_
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0x258], esi
mov dword [ebp - 0x25c], ebx
mov byte [ebp - 0x26c], bl
call fcn.0040c230
push 0xffffffffffffffff
mov byte [ebp - 4], 0xe
push ebx
lea edx, [ebp - 0x26c]
push edx
lea ecx, [ebp - 0x164]
mov dword [ebp - 0x150], esi
mov dword [ebp - 0x154], ebx
mov byte [ebp - 0x164], bl
call fcn.0040b170
cmp dword [ebp - 0x258], 0x10
jb 0x45d63d
mov eax, dword [ebp - 0x26c]
push eax
call fcn.0046ead2
add esp, 4
mov dword [ebp - 0x258], esi
mov dword [ebp - 0x25c], ebx
mov byte [ebp - 0x26c], bl
mov byte [ebp - 4], 0xf
push 0x13
push str.expected___or__
lea ecx, [ebp - 0x2ac]
mov dword [ebp - 0x298], esi
mov dword [ebp - 0x29c], ebx
mov byte [ebp - 0x2ac], bl
call fcn.0040c230
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 0x10
push ecx
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x134], esi
mov dword [ebp - 0x138], ebx
mov byte [ebp - 0x148], bl
call fcn.0040b170
cmp dword [ebp - 0x298], 0x10
jb 0x45d6ba
mov edx, dword [ebp - 0x2ac]
push edx
call fcn.0046ead2
add esp, 4
mov dword [ebp - 0x298], esi
mov dword [ebp - 0x29c], ebx
mov byte [ebp - 0x2ac], bl
mov byte [ebp - 4], 0x11
push 0x14
push str.expected_object_name
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0x258], esi
mov dword [ebp - 0x25c], ebx
mov byte [ebp - 0x26c], bl
call fcn.0040c230
push 0xffffffffffffffff
mov byte [ebp - 4], 0x12
push ebx
lea eax, [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x180]
mov dword [ebp - 0x16c], esi
mov dword [ebp - 0x170], ebx
mov byte [ebp - 0x180], bl
call fcn.0040b170
cmp dword [ebp - 0x258], 0x10
jb 0x45d737
mov ecx, dword [ebp - 0x26c]
push ecx
call fcn.0046ead2
add esp, 4
mov dword [ebp - 0x258], esi
mov dword [ebp - 0x25c], ebx
mov byte [ebp - 0x26c], bl
mov byte [ebp - 4], 0x13
push 0xc
push str.expected_:
lea ecx, [ebp - 0x2ac]
mov dword [ebp - 0x298], esi
mov dword [ebp - 0x29c], ebx
mov byte [ebp - 0x2ac], bl
call fcn.0040c230
push 0xffffffffffffffff
mov byte [ebp - 4], 0x14
push ebx
lea edx, [ebp - 0x2ac]
push edx
lea ecx, [ebp - 0x19c]
mov dword [ebp - 0x188], esi
mov dword [ebp - 0x18c], ebx
mov byte [ebp - 0x19c], bl
call fcn.0040b170
cmp dword [ebp - 0x298], 0x10
jb 0x45d7b4
mov eax, dword [ebp - 0x2ac]
push eax
call fcn.0046ead2
add esp, 4
mov dword [ebp - 0x298], esi
mov dword [ebp - 0x29c], ebx
mov byte [ebp - 0x2ac], bl
mov byte [ebp - 4], 0x15
push 0xe
push str.expected_value
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0x258], esi
mov dword [ebp - 0x25c], ebx
mov byte [ebp - 0x26c], bl
call fcn.0040c230
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x26c]
mov byte [ebp - 4], 0x16
push ecx
lea ecx, [ebp - 0x110]
mov dword [ebp - 0xfc], esi
mov dword [ebp - 0x100], ebx
mov byte [ebp - 0x110], bl
call fcn.0040b170
cmp dword [ebp - 0x258], 0x10
jb 0x45d831
mov edx, dword [ebp - 0x26c]
push edx
call fcn.0046ead2
add esp, 4
mov dword [ebp - 0x258], esi
mov dword [ebp - 0x25c], ebx
mov byte [ebp - 0x26c], bl
mov byte [ebp - 4], 0x17
push 0x17
push str.invalid_escape_sequence
lea ecx, [ebp - 0x304]
mov dword [ebp - 0x2f0], esi
mov dword [ebp - 0x2f4], ebx
mov byte [ebp - 0x304], bl
call fcn.0040c230
push 0xffffffffffffffff
mov byte [ebp - 4], 0x18
push ebx
lea eax, [ebp - 0x304]
push eax
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x11c], ebx
mov byte [ebp - 0x12c], bl
call fcn.0040b170
cmp dword [ebp - 0x2f0], 0x10
jb 0x45d8ae
mov ecx, dword [ebp - 0x304]
push ecx
call fcn.0046ead2
add esp, 4
mov dword [ebp - 0x2f0], 0xf
mov dword [ebp - 0x2f4], ebx
mov byte [ebp - 0x304], bl
lea edx, [ebp - 0x1b8]
push edx
lea esi, [ebp - 0x34]
mov byte [ebp - 4], 0x19
call fcn.0044c1b0
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp - 0x2b4]
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x2bc]
lea edx, [ebp - 0x1d4]
mov dword [ebp - 0x244], ecx
push edx
lea ecx, [ebp - 0x248]
lea esi, [ebp - 0x64]
mov dword [ebp - 0x248], eax
call fcn.0045e730
mov ecx, dword [ebp - 0x27c]
lea esi, [ebp - 0xbc]
mov byte [ebp - 4], 0x1b
call fcn.0044c570
push eax
mov byte [ebp - 4], 0x1c
call fcn.0045e820
cmp dword [ebp - 0x80], 0x10
jb 0x45d942
mov eax, dword [ebp - 0x94]
push eax
call fcn.0046ead2
add esp, 4
mov esi, 0x10
mov edi, 0xf
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x84], ebx
mov byte [ebp - 0x94], bl
cmp dword [ebp - 0xa0], esi
jb 0x45d972
mov ecx, dword [ebp - 0xb4]
push ecx
call fcn.0046ead2
add esp, 4
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0xa4], ebx
mov byte [ebp - 0xb4], bl
cmp dword [ebp - 0x48], esi
jb 0x45d995
mov edx, dword [ebp - 0x5c]
push edx
call fcn.0046ead2
add esp, 4
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x4c], ebx
mov byte [ebp - 0x5c], bl
cmp dword [ebp - 0x1c], esi
jb 0x45d9b3
mov eax, dword [ebp - 0x30]
push eax
call fcn.0046ead2
add esp, 4
mov edi, dword [ebp - 0x240]
lea ecx, [ebp - 0x164]
add edi, 0x20
push ecx
lea ecx, [ebp - 0x248]
lea esi, [ebp - 0x64]
mov dword [ebp - 0x27c], edi
mov byte [ebp - 0x248], 0x7d
mov dword [ebp - 0x244], edi
call fcn.0045e730
mov byte [ebp - 4], 0x1d
mov edx, dword [ebp - 0x284]
lea ecx, [ebp - 0x248]
lea esi, [ebp - 0x40]
mov dword [ebp - 0x248], edx
mov byte [ebp - 0x244], 0x2c
call fcn.0044c340
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x248]
lea esi, [ebp - 0xf0]
mov byte [ebp - 0x248], 0x7d
mov dword [ebp - 0x244], edi
call fcn.0044c390
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x248]
lea esi, [ebp - 0xb4]
mov byte [ebp - 0x248], 0x7b
mov dword [ebp - 0x244], edi
call fcn.0045e8d0
mov edi, dword [ebp - 0x2b4]
push eax
mov byte [ebp - 4], 0x20
call fcn.0045e930
cmp dword [ebp - 0x80], 0x10
jb 0x45da72
mov eax, dword [ebp - 0x94]
push eax
call fcn.0046ead2
add esp, 4
mov esi, 0x10
mov edi, 0xf
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x84], ebx
mov byte [ebp - 0x94], bl
cmp dword [ebp - 0xc4], esi
jb 0x45daa2
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.0046ead2
add esp, 4
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xc8], ebx
mov byte [ebp - 0xd8], bl
cmp dword [ebp - 0x1c], esi
jb 0x45dac5
mov edx, dword [ebp - 0x30]
push edx
call fcn.0046ead2
add esp, 4
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], bl
cmp dword [ebp - 0x48], esi
jb 0x45dae3
mov eax, dword [ebp - 0x5c]
push eax
call fcn.0046ead2
add esp, 4
lea ecx, [ebp - 0x110]
push ecx
mov ecx, dword [ebp - 0x2c8]
lea esi, [ebp - 0xdc]
call fcn.0044c590
mov edi, eax
lea edx, [ebp - 0x19c]
mov byte [ebp - 4], 0x21
push edx
lea ecx, [ebp - 0x23d]
lea esi, [ebp - 0x34]
mov byte [ebp - 0x23d], 0x3a
call fcn.0044c480
mov dword [ebp - 0x240], eax
mov ecx, dword [ebp - 0x27c]
mov eax, dword [ebp - 0x2b0]
mov byte [ebp - 4], 0x22
lea edx, [ebp - 0x180]
mov dword [ebp - 0x244], ecx
push edx
lea ecx, [ebp - 0x248]
lea esi, [ebp - 0x64]
mov dword [ebp - 0x248], eax
call fcn.0045e730
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x240]
lea esi, [ebp - 0xbc]
call fcn.0044c570
lea ecx, [ebp - 0x23c]
push ecx
mov edx, edi
mov ecx, eax
mov byte [ebp - 4], 0x24
call fcn.0044c670
add esp, 4
mov byte [ebp - 4], 0x25
mov edx, dword [ebp - 0x284]
push edx
mov ecx, eax
call fcn.0045e9d0
lea esi, [ebp - 0x23c]
call fcn.0044c040
cmp dword [ebp - 0x80], 0x10
jb 0x45dbb2
mov eax, dword [ebp - 0x94]
push eax
call fcn.0046ead2
add esp, 4
mov edi, 0x10
mov esi, 0xf
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x84], ebx
mov byte [ebp - 0x94], bl
cmp dword [ebp - 0xa0], edi
jb 0x45dbe2
mov ecx, dword [ebp - 0xb4]
push ecx
call fcn.0046ead2
add esp, 4
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0xa4], ebx
mov byte [ebp - 0xb4], bl
cmp dword [ebp - 0x48], edi
jb 0x45dc05
mov edx, dword [ebp - 0x5c]
push edx
call fcn.0046ead2
add esp, 4
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x4c], ebx
mov byte [ebp - 0x5c], bl
cmp dword [ebp - 0x1c], edi
jb 0x45dc1f
mov eax, dword [ebp - 0x30]
push eax
call fcn.0046ead2
add esp, 4
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], bl
cmp dword [ebp - 0xc4], edi
jb 0x45dc43
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.0046ead2
add esp, 4
mov edi, dword [ebp - 0x27c]
lea edx, [ebp - 0x148]
push edx
lea ecx, [ebp - 0x248]
lea esi, [ebp - 0x64]
mov byte [ebp - 0x248], 0x5d
mov dword [ebp - 0x244], edi
call fcn.0045e730
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x270]
mov dword [ebp - 0x248], ecx
lea ecx, [ebp - 0x248]
lea esi, [ebp - 0x40]
mov byte [ebp - 0x244], 0x2c
call fcn.0044c340
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x248]
lea esi, [ebp - 0xf0]
mov byte [ebp - 0x248], 0x5d
mov dword [ebp - 0x244], edi
call fcn.0044c390
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x248]
lea esi, [ebp - 0xb4]
mov byte [ebp - 0x248], 0x5b
mov dword [ebp - 0x244], edi
call fcn.0045e8d0
mov byte [ebp - 4], 0x29
mov edi, dword [ebp - 0x2bc]
push eax
call fcn.0045e930
cmp dword [ebp - 0x80], 0x10
jb 0x45dcf9
mov edx, dword [ebp - 0x94]
push edx
call fcn.0046ead2
add esp, 4
mov esi, 0x10
mov edi, 0xf
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x84], ebx
mov byte [ebp - 0x94], bl
cmp dword [ebp - 0xc4], esi
jb 0x45dd29
mov eax, dword [ebp - 0xd8]
push eax
call fcn.0046ead2
add esp, 4
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xc8], ebx
mov byte [ebp - 0xd8], bl
cmp dword [ebp - 0x1c], esi
jb 0x45dd4c
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0046ead2
add esp, 4
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], bl
cmp dword [ebp - 0x48], esi
jb 0x45dd6a
mov edx, dword [ebp - 0x5c]
push edx
call fcn.0046ead2
add esp, 4
mov ecx, dword [ebp - 0x2c8]
lea eax, [ebp - 0x110]
push eax
lea esi, [ebp - 0x34]
call fcn.0044c590
mov byte [ebp - 4], 0x2a
mov ebx, dword [ebp - 0x270]
mov ecx, eax
call fcn.0045eab0
mov byte [ebp - 4], 0x19
cmp dword [ebp - 0x1c], 0x10
jb 0x45dda6
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0046ead2
add esp, 4
mov edx, str.true
mov eax, edx
lea ecx, [ecx]
inc eax
cmp byte [eax], 0
jne 0x45ddb0
mov edi, str.false
mov esi, eax
mov eax, edi
nop
inc eax
cmp byte [eax], 0
jne 0x45ddc0
mov ecx, dword [ebp - 0x2b8]
mov ebx, eax
mov eax, str.null
inc eax
cmp byte [eax], 0
jne 0x45ddd3
mov dword [ebp - 0x26c], ecx
mov dword [ebp - 0x264], esi
mov dword [ebp - 0x260], edi
mov ecx, str.null
mov dword [ebp - 0x258], ecx
mov dword [ebp - 0x268], edx
mov edx, dword [ebp - 0x2b0]
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x27c]
mov dword [ebp - 0x25c], ebx
mov ebx, dword [ebp - 0x2c8]
mov ecx, 7
lea esi, [ebp - 0x26c]
lea edi, [ebp - 0x34]
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x2b4]
mov ecx, 8
lea esi, [ebp - 0x34]
lea edi, [ebp - 0x60]
rep movsd dword es:[edi], dword [esi]
mov ecx, 0xa
lea esi, [ebp - 0x68]
lea edi, [ebp - 0x40]
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x18], eax
mov ecx, 0xb
lea esi, [ebp - 0x40]
lea edi, [ebp - 0x70]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x2bc]
lea edx, [ebp - 0x70]
push edx
mov dword [ebp - 0x44], ecx
call fcn.0045eb70
lea eax, [ebp - 0x30]
push eax
mov ecx, 0x4a98b8
call fcn.00456120
add esp, 4
mov byte [ebp - 4], 0x2b
cmp dword [eax + 0x14], 8
jb 0x45de92
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x2c0]
push ecx
call fcn.00458240
mov ecx, eax
lea eax, [ebp - 0x2cc]
mov byte [ebp - 4], 0x2c
call fcn.0045ebe0
mov esi, eax
lea edx, [ebp - 0xd8]
push edx
mov ecx, 0x4a98bc
mov byte [ebp - 4], 0x2d
call fcn.00456120
add esp, 0xc
mov byte [ebp - 4], 0x2e
cmp dword [eax + 0x14], 8
jb 0x45ded6
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x248]
push eax
call fcn.00458240
lea ecx, [ebp - 0x2e0]
push esi
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x2f
call fcn.0045ec00
lea edx, [ebp - 0x23d]
push edx
lea ecx, [ebp - 0x264]
mov bl, 0x30
push ecx
mov edi, eax
mov byte [ebp - 4], bl
call fcn.0045ec60
lea edx, [ebp - 0x2a4]
push edx
mov edi, eax
mov byte [ebp - 4], 0x31
call fcn.0045ecd0
add esp, 0x1c
mov byte [ebp - 4], 0x32
mov cl, byte [ebp - 0x23d]
mov byte [ebp - 0x23d], cl
mov dl, byte [ebp - 0x23d]
mov dword [ebp - 0x270], 0x390031
mov ecx, dword [ebp - 0x270]
mov dword [ebp - 0x286], ecx
mov byte [ebp - 0x26e], dl
movzx ecx, word [ebp - 0x26e]
mov byte [ebp - 0x288], bl
mov edx, dword [ebp - 0x288]
mov word [ebp - 0x282], cx
mov ecx, dword [ebp - 0x284]
mov dword [ebp - 0x274], edx
mov dword [ebp - 0x270], ecx
mov ecx, dword [ebp - 0x272]
mov byte [ebp - 0x276], 0x2d
mov edx, dword [ebp - 0x276]
mov dword [ebp - 0x28c], edx
mov dx, word [ebp - 0x26e]
mov dword [ebp - 0x288], ecx
mov byte [ebp - 0x23e], 0x2e
movzx ecx, word [ebp - 0x23e]
mov word [ebp - 0x284], dx
push eax
lea edx, [ebp - 0x28c]
push edx
lea esi, [ebp - 0x60]
mov word [ebp - 0x282], cx
call fcn.0045ed40
add esp, 8
mov ecx, dword [ebp - 0x2b8]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x33
call fcn.0045edc0
lea edx, [ebp - 0x54]
push edx
mov byte [ebp - 4], 0x32
call fcn.0045e4a0
lea eax, [ebp - 0x2a4]
push eax
mov byte [ebp - 4], 0x31
call fcn.0045e4a0
lea ecx, [ebp - 0x264]
push ecx
mov byte [ebp - 4], bl
call fcn.0045e4a0
lea edx, [ebp - 0x2e0]
push edx
mov byte [ebp - 4], 0x2f
call fcn.0045e4a0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0x2e
call fcn.0044c000
cmp dword [ebp - 0xc4], 8
jb 0x45e04d
mov eax, dword [ebp - 0xd8]
push eax
call fcn.0046ead2
add esp, 4
xor ecx, ecx
lea eax, [ebp - 0x2cc]
mov dword [ebp - 0xc4], 7
mov dword [ebp - 0xc8], 0
mov word [ebp - 0xd8], cx
mov byte [ebp - 4], 0x2c
call fcn.0044c000
lea eax, [ebp - 0x2c0]
mov byte [ebp - 4], 0x2b
call fcn.0044c000
mov byte [ebp - 4], 0x19
cmp dword [ebp - 0x1c], 8
jb 0x45e09e
mov edx, dword [ebp - 0x30]
push edx
call fcn.0046ead2
add esp, 4
mov ecx, dword [ebp - 0x280]
mov edi, dword [ebp - 0x2b0]
mov al, 0x22
mov byte [ebp - 0x244], al
mov edx, dword [ebp - 0x244]
mov byte [ebp - 0x24c], al
mov eax, dword [ebp - 0x24c]
mov dword [ebp - 0x278], eax
lea eax, [ebp - 0x278]
mov dword [ebp - 0x274], ecx
mov dword [ebp - 0x270], edx
call fcn.0045eea0
mov ecx, dword [ebp - 0x2d0]
lea eax, [ebp - 0x12c]
push eax
lea esi, [ebp - 0x34]
call fcn.0044c590
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x23d]
lea esi, [ebp - 0x64]
mov byte [ebp - 0x23d], 0x5c
call fcn.0045ef10
mov edi, 0x4a52f4
mov byte [ebp - 4], 0x35
mov ecx, edi
lea ebx, [ebx]
inc ecx
cmp byte [ecx], 0
jne 0x45e120
mov edx, 0x4a8cb0
mov esi, edx
lea ecx, [ecx]
inc esi
cmp byte [esi], 0
jne 0x45e130
mov ebx, dword [ebp - 0x27c]
mov dword [ebp - 0x2dc], edx
mov dword [ebp - 0x2d8], esi
mov edx, eax
lea eax, [ebp - 0x2e4]
lea esi, [ebp - 0xf4]
mov dword [ebp - 0x2e4], edi
mov dword [ebp - 0x2e0], ecx
mov dword [ebp - 0x2d4], ebx
call fcn.0044cbf0
mov byte [ebp - 4], 0x36
mov edi, dword [ebp - 0x280]
push eax
call fcn.0045ef50
cmp dword [ebp - 0xc4], 0x10
jb 0x45e195
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.0046ead2
add esp, 4
xor edi, edi
cmp dword [ebp - 0x48], 0x10
mov esi, 0xf
mov dword [ebp - 0xc4], esi
mov dword [ebp - 0xc8], edi
mov byte [ebp - 0xd8], 0
jb 0x45e1c1
mov edx, dword [ebp - 0x5c]
push edx
call fcn.0046ead2
add esp, 4
mov byte [ebp - 4], 0x19
cmp dword [ebp - 0x1c], 0x10
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x4c], edi
mov byte [ebp - 0x5c], 0
jb 0x45e1e1
mov eax, dword [ebp - 0x30]
push eax
call fcn.0046ead2
add esp, 4
lea ecx, [ebp - 0x30]
push ecx
mov ecx, str.__bfnrt
call fcn.00456120
add esp, 4
mov byte [ebp - 4], 0x37
cmp dword [eax + 0x14], 8
jb 0x45e1fe
mov eax, dword [eax]
push eax
lea edx, [ebp - 0x248]
push edx
call fcn.00458240
add esp, 8
mov ecx, eax
lea eax, [ebp - 0x280]
push eax
mov byte [ebp - 4], 0x38
lea eax, [ebp - 0x28c]
mov dword [ebp - 0x280], ebx
call fcn.0045eff0
mov byte [ebp - 4], 0x39
mov ecx, dword [ebp - 0x248]
mov edi, eax
lea esi, [ebp - 0x278]
lea eax, [ebp - 0x268]
mov byte [ebp - 0x278], 0x75
mov dword [ebp - 0x274], ecx
mov dword [ebp - 0x270], ebx
call fcn.0045f020
mov edx, dword [ebp - 0x2d0]
push edx
mov ecx, eax
mov byte [ebp - 4], 0x3a
call fcn.0045f060
lea eax, [ebp - 0x268]
mov byte [ebp - 4], 0x39
call fcn.0044c000
lea eax, [ebp - 0x28c]
mov byte [ebp - 4], 0x38
call fcn.0044c000
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0x37
call fcn.0044c000
cmp dword [ebp - 0x1c], 8
jb 0x45e2ad
mov eax, dword [ebp - 0x30]
push eax
call fcn.0046ead2
add esp, 4
mov esi, 0x10
cmp dword [ebp - 0x118], esi
jb 0x45e2c9
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.0046ead2
add esp, 4
xor ebx, ebx
mov edi, 0xf
mov dword [ebp - 0x118], edi
mov dword [ebp - 0x11c], ebx
mov byte [ebp - 0x12c], bl
cmp dword [ebp - 0xfc], esi
jb 0x45e2f9
mov edx, dword [ebp - 0x110]
push edx
call fcn.0046ead2
add esp, 4
mov dword [ebp - 0xfc], edi
mov dword [ebp - 0x100], ebx
mov byte [ebp - 0x110], bl
cmp dword [ebp - 0x188], esi
jb 0x45e322
mov eax, dword [ebp - 0x19c]
push eax
call fcn.0046ead2
add esp, 4
mov dword [ebp - 0x188], edi
mov dword [ebp - 0x18c], ebx
mov byte [ebp - 0x19c], bl
cmp dword [ebp - 0x16c], esi
jb 0x45e34b
mov ecx, dword [ebp - 0x180]
push ecx
call fcn.0046ead2
add esp, 4
mov dword [ebp - 0x16c], edi
mov dword [ebp - 0x170], ebx
mov byte [ebp - 0x180], bl
cmp dword [ebp - 0x134], esi
jb 0x45e374
mov edx, dword [ebp - 0x148]
push edx
call fcn.0046ead2
add esp, 4
mov dword [ebp - 0x134], edi
mov dword [ebp - 0x138], ebx
mov byte [ebp - 0x148], bl
cmp dword [ebp - 0x150], esi
jb 0x45e39d
mov eax, dword [ebp - 0x164]
push eax
call fcn.0046ead2
add esp, 4
mov dword [ebp - 0x150], edi
mov dword [ebp - 0x154], ebx
mov byte [ebp - 0x164], bl
cmp dword [ebp - 0x1a4], esi
jb 0x45e3c6
mov ecx, dword [ebp - 0x1b8]
push ecx
call fcn.0046ead2
add esp, 4
mov dword [ebp - 0x1a4], edi
mov dword [ebp - 0x1a8], ebx
mov byte [ebp - 0x1b8], bl
cmp dword [ebp - 0x1c0], esi
jb 0x45e3ef
mov edx, dword [ebp - 0x1d4]
push edx
call fcn.0046ead2
add esp, 4
mov eax, dword [ebp - 0x2c4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0046eadd
mov esp, ebp
pop ebp
ret 4