Function at 0x45e2a0
Capabilities:
Access peb ldr_data
Check os version
Encode data using xor
Get kernel32 base address
Get ntdll base address
Get number of processors
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x46c
push ebx
push esi
push edi
push 0x4f7870
mov dword [esp + 0x2c], 0
call fcn.004133e0
call eax
xor esi, esi
mov dword [esp + 0x24], esi
cmp dword [0x4fbb90], esi
jle 0x45e515
nop word [eax + eax]
mov ebx, dword [0x4f3810]
test ebx, ebx
jne 0x45e38a
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x18], eax
mov edx, eax
mov dword [esp + 0x10], ecx
nop dword [eax + eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x14], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x45e36c
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [esp + 0x14]
imul eax, eax, 0x1000193
mov dword [esp + 0x14], eax
cmp edi, ebx
jne 0x45e330
cmp eax, 0xa3e6f6c3
je 0x45f955
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x10], ecx
cmp eax, edx
je 0x45e37e
cmp dword [ecx + 0x18], 0
jne 0x45e310
xor ebx, ebx
mov esi, dword [esp + 0x24]
mov dword [0x4f3810], ebx
mov eax, dword [0x4f37b8]
test eax, eax
jne 0x45e42c
test ebx, ebx
je 0x45e421
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0x14], eax
cmp eax, ebx
je 0x45e421
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [eax + 0x18], ecx
je 0x45e421
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x18], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x45e40c
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x45e3d5
cmp edi, 0xb3c5b296
je 0x45f961
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
inc ecx
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [edx + 0x18]
jne 0x45e3c5
xor eax, eax
mov esi, dword [esp + 0x24]
mov dword [0x4f37b8], eax
push dword [ebp + 8]
push dword [esi*4 + 0x4f3870]
call eax
test eax, eax
jne 0x45e504
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, dword [eax + 0x18]
mov eax, dword [0x4fbb88]
mov dword [esp + 0x14], edx
test eax, eax
jne 0x45e4f1
test edx, edx
je 0x45e4e6
mov eax, dword [edx + 0x3c]
mov ecx, dword [eax + edx + 0x78]
lea eax, [ecx + edx]
mov dword [esp + 0x18], eax
cmp eax, edx
je 0x45e4e6
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [eax + 0x18], ecx
je 0x45e4e6
mov ebx, dword [eax + 0x20]
add ebx, edx
nop dword [eax]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
add esi, edx
mov al, byte [esi]
inc esi
test al, al
je 0x45e4d5
movsx edx, al
lea esi, [esi + 1]
sub al, 0x41
mov ecx, edx
or ecx, 0x20
cmp al, 0x19
mov al, byte [esi - 1]
cmova ecx, edx
xor ecx, edi
imul edi, ecx, 0x1000193
test al, al
jne 0x45e4a0
mov edx, dword [esp + 0x14]
cmp edi, 0xc2455c18
je 0x45f981
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
inc ecx
add ebx, 4
mov dword [esp + 0x10], ecx
cmp ecx, dword [eax + 0x18]
jne 0x45e490
xor eax, eax
mov esi, dword [esp + 0x24]
mov dword [0x4fbb88], eax
push 0x4f7870
call eax
lock dec dword [0x4fbbb4]
call fcn.004bc610
inc esi
mov dword [esp + 0x24], esi
cmp esi, dword [0x4fbb90]
jl 0x45e2e0
mov dword [esp + 0x3c], 0x56
mov eax, dword [esp + 0x3c]
xor eax, 0x25
mov word [esp + 0x40], ax
mov eax, dword [esp + 0x3c]
inc eax
xor eax, 0x73
mov word [esp + 0x42], ax
mov eax, dword [esp + 0x3c]
add eax, 2
xor eax, 0x5c
mov word [esp + 0x44], ax
mov eax, dword [esp + 0x3c]
add eax, 3
xor eax, 0x25
mov word [esp + 0x46], ax
mov eax, dword [esp + 0x3c]
add eax, 4
xor eax, 0x30
mov word [esp + 0x48], ax
mov eax, dword [esp + 0x3c]
add eax, 5
xor eax, 0x32
mov word [esp + 0x4a], ax
mov eax, dword [esp + 0x3c]
add eax, 6
xor eax, 0x58
mov word [esp + 0x4c], ax
mov eax, dword [esp + 0x3c]
add eax, 7
xor eax, 0x25
mov word [esp + 0x4e], ax
mov eax, dword [esp + 0x3c]
add eax, 8
xor eax, 0x30
mov word [esp + 0x50], ax
mov eax, dword [esp + 0x3c]
add eax, 9
xor eax, 0x32
mov word [esp + 0x52], ax
mov eax, dword [esp + 0x3c]
add eax, 0xa
xor eax, 0x58
mov word [esp + 0x54], ax
mov eax, dword [esp + 0x3c]
add eax, 0xb
xor eax, 0x25
mov word [esp + 0x56], ax
mov eax, dword [esp + 0x3c]
add eax, 0xc
xor eax, 0x30
mov word [esp + 0x58], ax
mov eax, dword [esp + 0x3c]
add eax, 0xd
xor eax, 0x32
mov word [esp + 0x5a], ax
mov eax, dword [esp + 0x3c]
add eax, 0xe
xor eax, 0x58
mov word [esp + 0x5c], ax
mov eax, dword [esp + 0x3c]
add eax, 0xf
xor eax, 0x25
mov word [esp + 0x5e], ax
mov eax, dword [esp + 0x3c]
add eax, 0x10
xor eax, 0x30
mov word [esp + 0x60], ax
mov eax, dword [esp + 0x3c]
add eax, 0x11
xor eax, 0x32
mov word [esp + 0x62], ax
mov eax, dword [esp + 0x3c]
add eax, 0x12
xor eax, 0x58
mov word [esp + 0x64], ax
mov eax, dword [esp + 0x3c]
add eax, 0x13
xor eax, 0x2e
mov word [esp + 0x66], ax
mov eax, dword [esp + 0x3c]
add eax, 0x14
xor eax, 0x6c
mov word [esp + 0x68], ax
mov eax, dword [esp + 0x3c]
add eax, 0x15
xor eax, 0x6f
mov word [esp + 0x6a], ax
mov eax, dword [esp + 0x3c]
add eax, 0x16
xor eax, 0x63
mov word [esp + 0x6c], ax
mov eax, dword [esp + 0x3c]
add eax, 0x17
xor eax, 0x6b
mov word [esp + 0x6e], ax
mov eax, dword [esp + 0x3c]
add eax, 0x18
mov word [esp + 0x70], ax
mov eax, dword [esp + 0x3c]
movzx ecx, word [0x40337a]
add eax, 0x19
movzx eax, ax
xor ecx, eax
mov word [esp + 0x72], cx
mov eax, dword [esp + 0x3c]
movzx ecx, word [0x40337c]
add eax, 0x1a
movzx eax, ax
xor ecx, eax
mov word [esp + 0x74], cx
mov eax, dword [esp + 0x3c]
movzx ecx, word [0x40337e]
add eax, 0x1b
movzx eax, ax
xor ecx, eax
mov word [esp + 0x76], cx
mov eax, dword [esp + 0x3c]
movzx ecx, word [0x403380]
add eax, 0x1c
movzx eax, ax
xor ecx, eax
mov word [esp + 0x78], cx
mov eax, dword [esp + 0x3c]
movzx ecx, word [0x403382]
add eax, 0x1d
movzx eax, ax
xor ecx, eax
mov word [esp + 0x7a], cx
mov eax, dword [esp + 0x3c]
movzx ecx, word [0x403384]
add eax, 0x1e
movzx eax, ax
xor ecx, eax
mov word [esp + 0x7c], cx
mov eax, dword [esp + 0x3c]
movzx ecx, word [0x403386]
add eax, 0x1f
movzx eax, ax
xor ecx, eax
mov word [esp + 0x7e], cx
mov eax, dword [esp + 0x3c]
movzx ecx, word [0x403388]
add eax, 0x20
movzx eax, ax
xor ecx, eax
mov word [esp + 0x80], cx
mov eax, dword [esp + 0x3c]
movzx ecx, word [0x40338a]
add eax, 0x21
movzx eax, ax
xor ecx, eax
mov word [esp + 0x82], cx
mov eax, dword [esp + 0x3c]
movzx ecx, word [0x40338c]
add eax, 0x22
movzx eax, ax
xor ecx, eax
mov word [esp + 0x84], cx
mov eax, dword [esp + 0x3c]
add eax, 0x23
movzx eax, ax
movzx ecx, word [0x40338e]
xor ecx, eax
mov word [esp + 0x86], cx
mov eax, dword [esp + 0x3c]
movzx ecx, word [0x403390]
add eax, 0x24
movzx eax, ax
xor ecx, eax
mov word [esp + 0x88], cx
mov eax, dword [esp + 0x3c]
movzx ecx, word [0x403392]
add eax, 0x25
movzx eax, ax
xor ecx, eax
mov word [esp + 0x8a], cx
mov eax, dword [esp + 0x3c]
movzx ecx, word [0x403394]
add eax, 0x26
movzx eax, ax
xor ecx, eax
mov word [esp + 0x8c], cx
mov eax, dword [esp + 0x3c]
movzx ecx, word [0x403396]
add eax, 0x27
movzx eax, ax
xor ecx, eax
mov word [esp + 0x8e], cx
mov eax, dword [esp + 0x3c]
movzx ecx, word [0x403398]
add eax, 0x28
movzx eax, ax
xor ecx, eax
mov word [esp + 0x90], cx
mov eax, dword [esp + 0x3c]
movzx ecx, word [0x40339a]
add eax, 0x29
movzx eax, ax
xor ecx, eax
mov word [esp + 0x92], cx
mov eax, dword [esp + 0x3c]
movzx ecx, word [0x40339c]
add eax, 0x2a
movzx eax, ax
xor ecx, eax
mov word [esp + 0x94], cx
mov eax, dword [esp + 0x3c]
movzx ecx, word [0x40339e]
add eax, 0x2b
movzx eax, ax
xor ecx, eax
mov word [esp + 0x96], cx
mov eax, dword [esp + 0x3c]
movzx ecx, word [0x4033a0]
add eax, 0x2c
movzx eax, ax
xor ecx, eax
mov word [esp + 0x98], cx
mov eax, dword [esp + 0x3c]
movzx ecx, word [0x4033a2]
add eax, 0x2d
movzx eax, ax
xor ecx, eax
mov word [esp + 0x9a], cx
mov eax, dword [esp + 0x3c]
movzx ecx, word [0x4033a4]
add eax, 0x2e
movzx eax, ax
xor ecx, eax
mov word [esp + 0x9c], cx
mov eax, dword [esp + 0x3c]
movzx ecx, word [0x4033a6]
add eax, 0x2f
movzx eax, ax
xor ecx, eax
mov word [esp + 0x9e], cx
mov eax, dword [esp + 0x3c]
movzx ecx, word [0x4033a8]
add eax, 0x30
movzx eax, ax
xor ecx, eax
mov word [esp + 0xa0], cx
xor eax, eax
xor edx, edx
mov word [esp + 0xa2], ax
mov ax, word [esp + 0x40]
mov ax, word [esp + edx*2 + 0x40]
mov ecx, dword [esp + 0x3c]
add ecx, edx
movzx eax, ax
xor ecx, eax
mov word [esp + edx*2 + 0x40], cx
inc edx
cmp edx, 0x31
jb 0x45e910
mov ebx, dword [0x4f37a8]
xor eax, eax
mov word [esp + 0xa2], ax
test ebx, ebx
jne 0x45e9d6
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x14], eax
mov edx, eax
mov dword [esp + 0x10], ecx
nop dword [eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x18], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x45e9bc
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [esp + 0x18]
imul eax, eax, 0x1000193
mov dword [esp + 0x18], eax
cmp edi, ebx
jne 0x45e980
cmp eax, 0xc0323159
je 0x45f9a1
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x10], ecx
cmp eax, edx
je 0x45e9ce
cmp dword [ecx + 0x18], 0
jne 0x45e960
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov ecx, dword [0x4f37b4]
test ecx, ecx
jne 0x45ea76
test ebx, ebx
je 0x45ea6e
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
xor ecx, ecx
mov dword [esp + 0x14], eax
cmp eax, ebx
je 0x45ea70
mov dword [esp + 0x10], ecx
cmp dword [eax + 0x18], ecx
je 0x45ea6e
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x18], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x45ea59
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x45ea22
mov ecx, dword [esp + 0x10]
cmp edi, 0xaeb3c6d5
je 0x45f9ad
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
inc ecx
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [edx + 0x18]
jne 0x45ea12
xor ecx, ecx
mov dword [0x4f37b4], ecx
movzx eax, byte [0x4e5503]
push eax
movzx eax, byte [0x4e5502]
push eax
movzx eax, byte [0x4e5501]
push eax
movzx eax, byte [0x4e5500]
push eax
push dword [ebp + 8]
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x280]
push eax
call ecx
mov ebx, dword [0x4f3810]
add esp, 0x1c
test ebx, ebx
jne 0x45eb48
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x14], eax
mov edx, eax
mov dword [esp + 0x10], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x18], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x45eb2e
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [esp + 0x18]
imul eax, eax, 0x1000193
mov dword [esp + 0x18], eax
cmp edi, ebx
jne 0x45eaf2
cmp eax, 0xa3e6f6c3
je 0x45f9cb
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x10], ecx
cmp eax, edx
je 0x45eb40
cmp dword [ecx + 0x18], 0
jne 0x45ead3
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbbac]
test eax, eax
jne 0x45ebe6
test ebx, ebx
je 0x45ebdf
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0x14], eax
cmp eax, ebx
je 0x45ebdf
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [eax + 0x18], ecx
je 0x45ebdf
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x18], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x45ebca
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x45eb93
mov ecx, dword [esp + 0x10]
cmp edi, 0xe95da064
je 0x45f9d7
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
inc ecx
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [edx + 0x18]
jne 0x45eb83
xor eax, eax
mov dword [0x4fbbac], eax
push 0
push 0x4000100
push 1
push 0
push 0
push 0xc0000000
lea ecx, [esp + 0x280]
push ecx
call eax
mov dword [esp + 0x34], eax
cmp eax, 0xffffffff
jne 0x45ec30
cmp dword fs:[0x34], 0xb7
jne 0x45ec30
push 0x4f7870
call fcn.004134d0
call eax
lock dec dword [0x4fbbb4]
call fcn.004bc610
mov ecx, 0x410
call fcn.004bca70
mov ecx, dword [0x4fbb90]
push 0x410
push 0
push eax
mov dword [ecx*4 + 0x4f3870], eax
call fcn.0040d020
mov edx, dword [ebp + 8]
add esp, 0xc
xor ecx, ecx
mov eax, edx
test edx, edx
je 0x45ec71
cmp word [edx], cx
je 0x45ec71
lea eax, [eax + 2]
inc ecx
cmp word [eax], 0
jne 0x45ec67
lea eax, [ecx*2 + 2]
push eax
mov eax, dword [0x4fbb90]
push edx
push dword [eax*4 + 0x4f3870]
call fcn.0040d7a0
inc dword [0x4fbb90]
add esp, 0xc
push 0x4f7870
call fcn.004134d0
call eax
mov eax, dword fs:[0x30]
cmp dword [eax + 0xa4], 5
jbe 0x45edfd
mov ebx, dword [0x4fbbdc]
test ebx, ebx
jne 0x45ed56
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x14], eax
mov edx, eax
mov dword [esp + 0x10], ecx
nop dword [eax + eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x18], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x45ed3c
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [esp + 0x18]
imul eax, eax, 0x1000193
mov dword [esp + 0x18], eax
cmp edi, ebx
jne 0x45ed00
cmp eax, 0x4f644736
je 0x45f9f5
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x10], ecx
cmp eax, edx
je 0x45ed4e
cmp dword [ecx + 0x18], 0
jne 0x45ece0
xor ebx, ebx
mov dword [0x4fbbdc], ebx
mov eax, dword [0x4fbba0]
test eax, eax
jne 0x45edf4
test ebx, ebx
je 0x45eded
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0x14], eax
cmp eax, ebx
je 0x45eded
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [eax + 0x18], ecx
je 0x45eded
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x18], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x45edd8
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x45eda1
mov ecx, dword [esp + 0x10]
cmp edi, 0xa7f75ed6
je 0x45fa01
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
inc ecx
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [edx + 0x18]
jne 0x45ed91
xor eax, eax
mov dword [0x4fbba0], eax
push 7
push dword [ebp + 8]
push 0
call eax
push 4
lea eax, [esp + 0xa8]
mov dword [esp + 0xa8], 0x5c005c
push eax
push dword [ebp + 8]
call fcn.0040d3c0
add esp, 0xc
test eax, eax
je 0x45ef8e
mov ebx, dword [0x4f3810]
test ebx, ebx
jne 0x45eec6
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x14], eax
mov edx, eax
mov dword [esp + 0x10], ecx
nop dword [eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x18], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x45eeac
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [esp + 0x18]
imul eax, eax, 0x1000193
mov dword [esp + 0x18], eax
cmp edi, ebx
jne 0x45ee70
cmp eax, 0xa3e6f6c3
je 0x45fa1f
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x10], ecx
cmp eax, edx
je 0x45eebe
cmp dword [ecx + 0x18], 0
jne 0x45ee50
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbbc0]
test eax, eax
jne 0x45ef64
test ebx, ebx
je 0x45ef5d
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0x14], eax
cmp eax, ebx
je 0x45ef5d
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [eax + 0x18], ecx
je 0x45ef5d
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x18], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x45ef48
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x45ef11
mov ecx, dword [esp + 0x10]
cmp edi, 0x43434137
je 0x45fa2b
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
inc ecx
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [edx + 0x18]
jne 0x45ef01
xor eax, eax
mov dword [0x4fbbc0], eax
lea ecx, [esp + 0xc4]
push ecx
lea ecx, [esp + 0xcc]
push ecx
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0xd8]
push ecx
push dword [ebp + 8]
call eax
neg eax
sbb eax, eax
and dword [esp + 0x28], eax
mov ecx, 8
call fcn.004bca70
mov dword [esp + 0x24], eax
mov dword [eax], 0
mov dword [eax + 4], 0
mov ebx, dword [0x4f3810]
test ebx, ebx
jne 0x45f047
mov ecx, dword fs:[0x30]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x14], eax
mov edx, eax
mov dword [esp + 0x10], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x18], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x45f02d
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [esp + 0x18]
imul eax, eax, 0x1000193
mov dword [esp + 0x18], eax
cmp edi, ebx
jne 0x45eff1
cmp eax, 0xa3e6f6c3
je 0x45fa49
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x10], ecx
cmp eax, edx
je 0x45f03f
cmp dword [ecx + 0x18], 0
jne 0x45efd2
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbb78]
test eax, eax
jne 0x45f0e5
test ebx, ebx
je 0x45f0de
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0x14], eax
cmp eax, ebx
je 0x45f0de
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [eax + 0x18], ecx
je 0x45f0de
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x18], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x45f0c9
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x45f092
mov ecx, dword [esp + 0x10]
cmp edi, 0x56528c08
je 0x45fa55
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
inc ecx
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [edx + 0x18]
jne 0x45f082
xor eax, eax
mov dword [0x4fbb78], eax
lea ecx, [esp + 0xb8]
push ecx
lea ecx, [esp + 0xac]
push ecx
lea ecx, [esp + 0xd8]
push ecx
push dword [ebp + 8]
call eax
test eax, eax
je 0x45f7d3
mov ebx, dword [0x4f3810]
test ebx, ebx
jne 0x45f1a7
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x14], eax
mov edx, eax
mov dword [esp + 0x10], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x18], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x45f18d
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [esp + 0x18]
imul eax, eax, 0x1000193
mov dword [esp + 0x18], eax
cmp edi, ebx
jne 0x45f151
cmp eax, 0xa3e6f6c3
je 0x45fa73
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x10], ecx
cmp eax, edx
je 0x45f19f
cmp dword [ecx + 0x18], 0
jne 0x45f132
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbbb8]
test eax, eax
jne 0x45f249
test ebx, ebx
je 0x45f242
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ebx + ecx]
mov dword [esp + 0x14], eax
cmp eax, ebx
je 0x45f242
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [eax + 0x18], ecx
je 0x45f242
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x18], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x45f22d
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x45f1f6
mov ecx, dword [esp + 0x10]
cmp edi, 0xd4badf
je 0x45fa7f
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
inc ecx
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [edx + 0x18]
jne 0x45f1e6
xor eax, eax
mov dword [0x4fbbb8], eax
push 0x409
call eax
mov ebx, dword [0x4f377c]
test ebx, ebx
jne 0x45f2f6
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x14], eax
mov edx, eax
mov dword [esp + 0x10], ecx
nop dword [eax + eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x18], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x45f2dc
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [esp + 0x18]
imul eax, eax, 0x1000193
mov dword [esp + 0x18], eax
cmp edi, ebx
jne 0x45f2a0
cmp eax, 0x8ec4c73b
je 0x45fa9d
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x10], ecx
cmp eax, edx
je 0x45f2ee
cmp dword [ecx + 0x18], 0
jne 0x45f280
xor ebx, ebx
mov dword [0x4f377c], ebx
mov eax, dword [0x4f385c]
test eax, eax
jne 0x45f394
test ebx, ebx
je 0x45f38d
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0x14], eax
cmp eax, ebx
je 0x45f38d
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [eax + 0x18], ecx
je 0x45f38d
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x18], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x45f378
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x45f341
mov ecx, dword [esp + 0x10]
cmp edi, 0xd99cc515
je 0x45faa9
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
inc ecx
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [edx + 0x18]
jne 0x45f331
xor eax, eax
mov dword [0x4f385c], eax
push 0x64
lea ecx, [esp + 0xdc]
push ecx
push dword [esp + 0xb4]
push dword [esp + 0xb4]
call eax
mov ebx, dword [0x4f377c]
test ebx, ebx
jne 0x45f44b
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x14], eax
mov edx, eax
mov dword [esp + 0x10], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x18], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x45f431
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [esp + 0x18]
imul eax, eax, 0x1000193
mov dword [esp + 0x18], eax
cmp edi, ebx
jne 0x45f3f5
cmp eax, 0x8ec4c73b
je 0x45fac7
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x10], ecx
cmp eax, edx
je 0x45f443
cmp dword [ecx + 0x18], 0
jne 0x45f3d6
xor ebx, ebx
mov dword [0x4f377c], ebx
mov edx, dword [0x4f385c]
test edx, edx
jne 0x45f4eb
test ebx, ebx
je 0x45f4e3
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0x14], eax
cmp eax, ebx
je 0x45f4e3
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [eax + 0x18], ecx
je 0x45f4e3
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x18], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x45f4ce
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x45f497
mov ecx, dword [esp + 0x10]
cmp edi, 0xd99cc515
je 0x45fad3
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
inc ecx
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [edx + 0x18]
jne 0x45f487
xor edx, edx
mov dword [0x4f385c], edx
mov ecx, dword [esp + 0xa8]
lea eax, [esp + 0x1a0]
sub ecx, dword [esp + 0xb8]
push 0x64
push eax
mov eax, dword [esp + 0xb4]
sbb eax, dword [esp + 0xc4]
push eax
push ecx
call edx
mov ebx, dword [0x4f3810]
test ebx, ebx
jne 0x45f5b6
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x14], eax
mov edx, eax
mov dword [esp + 0x10], ecx
nop dword [eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x18], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x45f59c
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [esp + 0x18]
imul eax, eax, 0x1000193
mov dword [esp + 0x18], eax
cmp edi, ebx
jne 0x45f560
cmp eax, 0xa3e6f6c3
je 0x45faf1
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x10], ecx
cmp eax, edx
je 0x45f5ae
cmp dword [ecx + 0x18], 0
jne 0x45f540
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbbd8]
test eax, eax
jne 0x45f654
test ebx, ebx
je 0x45f64d
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0x14], eax
cmp eax, ebx
je 0x45f64d
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [eax + 0x18], ecx
je 0x45f64d
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x18], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x45f638
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x45f601
mov ecx, dword [esp + 0x10]
cmp edi, 0x87d5f568
je 0x45fafd
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
inc ecx
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [edx + 0x18]
jne 0x45f5f1
xor eax, eax
mov dword [0x4fbbd8], eax
call eax
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x1a0]
push eax
push dword [esp + 0x28]
mov dword [esp + 0xbc], eax
lea eax, [esp + 0xe0]
push eax
call fcn.004c8000
mov ebx, dword [0x4f37a8]
add esp, 0xc
mov dword [esp + 0x2c], eax
test ebx, ebx
jne 0x45f726
mov ecx, dword fs:[0x30]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x14], eax
mov edx, eax
mov dword [esp + 0x10], ecx
nop dword [eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x18], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x45f70c
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [esp + 0x18]
imul eax, eax, 0x1000193
mov dword [esp + 0x18], eax
cmp edi, ebx
jne 0x45f6d0
cmp eax, 0xc0323159
je 0x45fb1b
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x10], ecx
cmp eax, edx
je 0x45f71e
cmp dword [ecx + 0x18], 0
jne 0x45f6b0
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov eax, dword [0x4fbb9c]
test eax, eax
jne 0x45f7c4
test ebx, ebx
je 0x45f7bd
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0x14], eax
cmp eax, ebx
je 0x45f7bd
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [eax + 0x18], ecx
je 0x45f7bd
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x18], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x45f7a8
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x45f771
mov ecx, dword [esp + 0x10]
cmp edi, 0xd7222356
je 0x45fb27
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
inc ecx
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [edx + 0x18]
jne 0x45f761
xor eax, eax
mov dword [0x4fbb9c], eax
push dword [esp + 0xb4]
push 0xffffffffffffffeb
push dword [esp + 0x34]
call eax
push dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov ecx, dword [ebp + 8]
call fcn.0045fb70
add esp, 4
push dword [esp + 0x34]
call fcn.00411330
call eax
mov ebx, dword [0x4f3810]
test ebx, ebx
jne 0x45f896
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x14], eax
mov edx, eax
mov dword [esp + 0x10], ecx
nop dword [eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x18], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x45f87c
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [esp + 0x18]
imul eax, eax, 0x1000193
mov dword [esp + 0x18], eax
cmp edi, ebx
jne 0x45f840
cmp eax, 0xa3e6f6c3
je 0x45fb45
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x10], ecx
cmp eax, edx
je 0x45f88e
cmp dword [ecx + 0x18], 0
jne 0x45f820
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbb8c]
test eax, eax
jne 0x45f934
test ebx, ebx
je 0x45f92d
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0x14], eax
cmp eax, ebx
je 0x45f92d
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [eax + 0x18], ecx
je 0x45f92d
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x18], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x45f918
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x45f8e1
mov ecx, dword [esp + 0x10]
cmp edi, 0x757a47e1
je 0x45fb51
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
inc ecx
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [edx + 0x18]
jne 0x45f8d1
xor eax, eax
mov dword [0x4fbb8c], eax
lea ecx, [esp + 0x268]
push ecx
call eax
lock dec dword [0x4fbbb4]
call fcn.004bc610
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x18]
jmp 0x45e380
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x45e423
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + esi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
jmp 0x45e4e8
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x18]
jmp 0x45e9d0
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [eax + ebx]
add ecx, ebx
jmp 0x45ea70
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x18]
jmp 0x45eb42
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x45ebe1
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x18]
jmp 0x45ed50
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x45edef
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x18]
jmp 0x45eec0
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x45ef5f
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x18]
jmp 0x45f041
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x45f0e0
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x18]
jmp 0x45f1a1
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x45f244
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x18]
jmp 0x45f2f0
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x45f38f
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x18]
jmp 0x45f445
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov edx, dword [eax + ebx]
add edx, ebx
jmp 0x45f4e5
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x18]
jmp 0x45f5b0
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x45f64f
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x18]
jmp 0x45f720
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x45f7bf
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x18]
jmp 0x45f890
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x45f92f