Function at 0x4b2bd0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x7c
mov eax, dword [0x5894dc]
xor eax, esp
mov dword [esp + 0x78], eax
push ebp
mov ebp, dword [esp + 0x84]
mov dword [esp + 0x64], ecx
mov ecx, dword [ebp + 4]
xor eax, eax
cmp ecx, 0xa
jne 0x4b2c88
mov dword [ebp + 0xfa14], eax
mov dword [ebp + 0xfa18], eax
mov dword [ebp + 0xfa1c], eax
mov dword [ebp + 0xfa20], eax
mov dword [ebp + 0xfa24], eax
mov dword [ebp + 0xfa28], eax
mov dword [ebp + 0xfa2c], eax
mov dword [ebp + 0xfa30], eax
mov dword [ebp + 0xfa34], eax
mov dword [ebp + 0xfa38], eax
mov dword [ebp + 0xfa3c], eax
mov dword [ebp + 0xfa40], eax
mov dword [ebp + 0xfa44], eax
mov dword [ebp + 0xfa48], eax
mov dword [ebp + 0xfa4c], eax
mov dword [ebp + 0xfa50], eax
mov dword [ebp + 0xfa54], eax
mov dword [ebp + 0xfa58], eax
mov dword [ebp + 0xfa5c], eax
mov dword [ebp + 0xfa60], eax
mov dword [ebp + 0xfa64], eax
mov dword [ebp + 0xfa68], eax
mov dword [ebp + 0xfa6c], eax
mov dword [ebp + 0xfa70], eax
mov edx, dword [ebp + 0xfa14]
mov dword [esp + 4], edx
mov edx, dword [ebp + 0xfa18]
mov dword [esp + 0x14], edx
mov edx, dword [ebp + 0xfa1c]
mov dword [esp + 0x20], edx
mov edx, dword [ebp + 0xfa20]
mov dword [esp + 0x48], edx
mov edx, dword [ebp + 0xfa24]
mov dword [esp + 0x50], edx
mov edx, dword [ebp + 0xfa28]
mov dword [esp + 0x38], edx
mov edx, dword [ebp + 0xfa2c]
mov dword [esp + 0x4c], edx
mov edx, dword [ebp + 0xfa30]
mov dword [esp + 0x58], edx
mov edx, dword [ebp + 0xfa34]
mov dword [esp + 0x34], edx
mov edx, dword [ebp + 0xfa38]
mov dword [esp + 0x40], edx
mov edx, dword [ebp + 0xfa3c]
mov dword [esp + 0x28], edx
mov edx, dword [ebp + 0xfa40]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0xfa44]
mov dword [esp + 0x18], edx
mov edx, dword [ebp + 0xfa48]
mov dword [esp + 0x54], edx
mov edx, dword [ebp + 0xfa4c]
mov dword [esp + 0x24], edx
mov edx, dword [ebp + 0xfa50]
mov dword [esp + 0x6c], edx
mov edx, dword [ebp + 0xfa54]
mov dword [esp + 0xc], edx
mov edx, dword [ebp + 0xfa58]
mov dword [esp + 0x1c], edx
mov edx, dword [ebp + 0xfa5c]
mov dword [esp + 0x60], edx
mov edx, dword [ebp + 0xfa60]
mov dword [esp + 0x5c], edx
mov edx, dword [ebp + 0xfa64]
mov dword [esp + 0x44], edx
mov edx, dword [ebp + 0xfa68]
mov dword [esp + 0x3c], edx
mov edx, dword [ebp + 0xfa6c]
mov dword [esp + 0x30], edx
mov edx, dword [ebp + 0xfa70]
add ecx, 0xfffffff6
cmp ecx, 0x28
mov dword [esp + 0x2c], edx
ja case.default.0x4b2d96
push ebx
push esi
push edi
mov esi, 1
mov ebx, 0x1d
mov edi, 0x1c
jmp dword [ecx*4 + 0x4b4f9c]
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0xa
jge 0x4b2df5
lea ebx, [ebx]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b2df0
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b2db0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x42
je case.0x4b2d96.11
mov eax, 0xffffffce
jmp 0x4b4884
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0xb
jge 0x4b2e75
jmp 0x4b2e30
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b2e70
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b2e30
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x5a
je case.0x4b2d96.12
mov eax, 0xffffffcd
jmp 0x4b4884
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0xc
jge 0x4b2ef5
jmp 0x4b2eb0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b2ef0
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b2eb0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x68
je case.0x4b2d96.13
mov eax, 0xffffffcc
jmp 0x4b4884
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0xd
jge 0x4b2f75
jmp 0x4b2f30
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b2f70
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b2f30
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp eax, 0x31
mov dword [ebp + 0x24], eax
jl 0x4b302b
cmp eax, 0x39
jg 0x4b302b
add eax, 0xffffffd0
mov dword [ebp + 0x24], eax
imul eax, eax, 0x186a0
xor ecx, ecx
cmp byte [ebp + 0x28], cl
je 0x4b3000
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004eceb1
mov dword [ebp + 0xc50], eax
mov eax, dword [ebp + 0x24]
imul eax, eax, 0x186a0
add eax, esi
sar eax, 1
push eax
call fcn.004eceb1
add esp, 8
cmp dword [ebp + 0xc50], 0
mov dword [ebp + 0xc54], eax
je 0x4b2ff6
test eax, eax
jne case.0x4b2d96.14
mov eax, 0xfffffffd
jmp 0x4b4884
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004eceb1
add esp, 4
test eax, eax
mov dword [ebp + 0xc4c], eax
jne case.0x4b2d96.14
mov eax, 0xfffffffd
jmp 0x4b4884
mov eax, 0xffffffcb
jmp 0x4b4884
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0xe
jge 0x4b3087
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b3082
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b3042
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x17
je case.0x4b2d96.42
cmp al, 0x31
je case.0x4b2d96.15
mov eax, 0xfffffff1
jmp 0x4b4884
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0xf
jge 0x4b3105
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b3100
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b30c0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x41
je case.0x4b2d96.16
mov eax, 0xfffffff0
jmp 0x4b4884
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x10
jge 0x4b3185
jmp 0x4b3140
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b3180
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b3140
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x59
je case.0x4b2d96.17
mov eax, 0xffffffef
jmp 0x4b4884
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x11
jge 0x4b3205
jmp 0x4b31c0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b3200
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b31c0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x26
je case.0x4b2d96.18
mov eax, 0xffffffee
jmp 0x4b4884
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x12
jge 0x4b3285
jmp 0x4b3240
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b3280
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b3240
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x53
je case.0x4b2d96.19
mov eax, 0xffffffec
jmp 0x4b4884
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x13
jge 0x4b3305
jmp 0x4b32c0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b3300
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b32c0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x59
je 0x4b3329
mov eax, 0xffffffeb
jmp 0x4b4884
add dword [ebp + 0x2c], esi
mov dword [ebp + 0xc58], 0
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x14
jge 0x4b3388
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b3383
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b3343
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc58]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc58], ecx
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x15
jge 0x4b3405
nop
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b3400
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b33c0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc58]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc58], ecx
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x16
jge 0x4b3485
lea esp, [esp]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b3480
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b3440
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc58]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc58], ecx
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x17
jge 0x4b3505
lea esp, [esp]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b3500
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b34c0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc58]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc58], ecx
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], 0x18
jge 0x4b3581
jmp 0x4b3540
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
add dword [ebp + 0x20], 8
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b357c
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x4b3540
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 1]
shr eax, cl
mov dword [ebp + 0x34], 0
and eax, esi
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
mov byte [ebp + 0x10], al
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x19
jge 0x4b35f5
jmp 0x4b35b0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b35f0
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b35b0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0x34]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x34], ecx
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x1a
jge 0x4b3675
jmp 0x4b3630
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b3670
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b3630
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0x34]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x34], ecx
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x1b
jge 0x4b36f5
jmp 0x4b36b0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b36f0
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b36b0
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
add eax, 0xfffffff8
mov dword [ebp + 0x20], eax
mov eax, dword [ebp + 0x34]
and edx, 0xff
movzx ecx, dl
shl eax, 8
or eax, ecx
mov dword [ebp + 0x34], eax
jge 0x4b3726
mov eax, 0xffffffea
jmp 0x4b4884
mov edx, dword [ebp + 0x24]
imul edx, edx, 0x186a0
add edx, 0xa
cmp eax, edx
jle 0x4b3740
mov eax, 0xffffffe9
jmp 0x4b4884
mov dword [esp + 0x10], 0
jmp 0x4b37bc
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], edi
jge 0x4b3793
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
add dword [ebp + 0x20], 8
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b378e
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x4b3752
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 1]
shr eax, cl
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, esi
cmp al, 1
mov eax, dword [esp + 0x10]
sete cl
mov byte [eax + ebp + 0xd6c], cl
add eax, esi
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 0x10
jl case.0x4b2d96.28
push pe_nt_image_headers32
lea eax, [ebp + 0xc6c]
push 0
push eax
call fcn.004ed3e0
add esp, 0xc
mov dword [esp + 0x10], 0
jmp 0x4b3872
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], ebx
jge 0x4b3833
mov ecx, 8
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov edi, dword [eax]
movzx edi, byte [edi]
mov edx, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edx, 8
or edx, edi
mov dword [ebp + 0x1c], edx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b382e
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x4b37f3
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 1]
shr eax, cl
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, esi
cmp al, 1
jne 0x4b385f
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
shl eax, 4
add eax, ebp
mov byte [eax + ecx + 0xc6c], 1
add dword [esp + 0x20], esi
cmp dword [esp + 0x20], 0x10
jl case.0x4b2d96.29
add dword [esp + 0x10], esi
mov eax, dword [esp + 0x10]
cmp eax, 0x10
jge 0x4b388f
cmp byte [eax + ebp + 0xd6c], 0
je 0x4b386e
mov dword [esp + 0x20], 0
jmp 0x4b3863
mov eax, ebp
call fcn.004b2b90
mov eax, dword [ebp + 0xc68]
test eax, eax
jne 0x4b38aa
mov eax, 0xffffffe8
jmp 0x4b4884
add eax, 2
mov dword [esp + 0x54], eax
mov ecx, 3
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x1e
jge 0x4b3910
mov edx, 8
jmp 0x4b38d0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b390b
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b38d0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 3]
shr eax, cl
add edx, 0xfffffffd
mov dword [ebp + 0x20], edx
and eax, 7
cmp eax, 2
mov dword [esp + 0x5c], eax
jl 0x4b3932
cmp eax, 6
jle case.0x4b2d96.31
mov eax, 0xffffffe7
jmp 0x4b4884
cmp dword [ebp + 0x20], 0xf
mov dword [ebp + 4], 0x1f
jge 0x4b3991
or edx, 0xffffffff
mov ecx, 8
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b398b
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], 0xf
jl 0x4b3951
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 0xf]
shr eax, cl
add edx, 0xfffffff1
mov dword [ebp + 0x20], edx
and eax, 0x7fff
cmp eax, esi
mov ebx, eax
mov dword [esp + 0x44], ebx
jge 0x4b39bb
mov eax, 0xffffffe6
jmp 0x4b4884
mov dword [esp + 0x10], 0
jmp 0x4b3a4f
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], 0x20
jge 0x4b3a1f
mov edx, 8
or ecx, 0xffffffff
lea esp, [esp]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b3a1a
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x4b39e0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 1]
shr eax, cl
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, esi
test al, al
jne 0x4b3a62
mov eax, dword [esp + 0x10]
mov dl, byte [esp + 0x20]
mov ebx, dword [esp + 0x44]
mov byte [eax + ebp + 0x650e], dl
add eax, esi
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], ebx
jge 0x4b3a80
mov dword [esp + 0x20], 0
jmp case.0x4b2d96.32
mov eax, dword [esp + 0x20]
add eax, esi
cmp eax, dword [esp + 0x5c]
mov dword [esp + 0x20], eax
jl case.0x4b2d96.32
mov eax, 0xffffffe5
jmp 0x4b4884
mov edx, dword [esp + 0x5c]
xor al, al
test edx, edx
jle 0x4b3aa0
xor ecx, ecx
lea esp, [esp]
mov byte [esp + ecx + 0x80], al
add al, 1
movzx ecx, al
cmp ecx, edx
jl 0x4b3a90
xor edi, edi
test ebx, ebx
mov dword [esp + 0x10], edi
jle 0x4b3af7
lea ebx, [ebx]
mov al, byte [edi + ebp + 0x650e]
test al, al
movzx ecx, al
mov dl, byte [esp + ecx + 0x80]
lea ecx, [esp + ecx + 0x80]
jbe 0x4b3add
lea esp, [esp]
mov bl, byte [ecx - 1]
mov byte [ecx], bl
add al, 0xff
sub ecx, esi
test al, al
ja 0x4b3ad0
mov byte [edi + ebp + 0x1ebc], dl
add edi, esi
cmp edi, dword [esp + 0x44]
mov byte [esp + 0x80], dl
jl 0x4b3ab0
mov dword [esp + 0x10], edi
mov dword [esp + 0x2c], 0
jmp 0x4b3c3d
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], 0x23
jge 0x4b3b5f
mov edx, 8
or ecx, 0xffffffff
jmp 0x4b3b20
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b3b5a
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x4b3b20
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 1]
shr eax, cl
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, esi
test al, al
jne 0x4b3b7c
add dword [esp + 0x30], esi
jmp 0x4b3b80
sub dword [esp + 0x30], esi
mov eax, dword [esp + 0x30]
cmp eax, esi
jl 0x4b3ec9
cmp eax, 0x14
jg 0x4b3ec9
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], 0x22
jge 0x4b3bef
mov edx, 8
or ecx, 0xffffffff
lea esp, [esp]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b3bea
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x4b3bb0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 1]
shr eax, cl
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, esi
test al, al
jne case.0x4b2d96.35
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
imul ecx, ecx, 0x102
mov dl, byte [esp + 0x30]
add ecx, ebp
mov byte [ecx + eax + 0xab60], dl
add eax, esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x54]
jl 0x4b3b80
add dword [esp + 0x2c], esi
mov eax, dword [esp + 0x5c]
cmp dword [esp + 0x2c], eax
jge 0x4b3cc5
cmp dword [ebp + 0x20], 5
mov dword [ebp + 4], 0x21
jge 0x4b3ca0
mov edx, 8
or ecx, 0xffffffff
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b3c9a
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], 5
jl 0x4b3c60
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 5]
shr eax, cl
mov dword [esp + 0x10], 0
and eax, 0x1f
add edx, 0xfffffffb
mov dword [ebp + 0x20], edx
mov dword [esp + 0x30], eax
jmp 0x4b3c2b
test eax, eax
mov dword [esp + 0x2c], 0
jle 0x4b3d62
mov eax, dword [esp + 0x5c]
lea ecx, [ebp + 0xf9fc]
mov dword [esp + 0x58], ecx
lea esi, [ebp + 0xc99c]
lea ebx, [ebp + 0xab60]
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], eax
xor edx, edx
xor ecx, ecx
cmp dword [esp + 0x54], edx
mov edi, 0x20
jle 0x4b3d1f
movzx eax, byte [ebx + edx]
cmp eax, ecx
jle 0x4b3d10
mov ecx, eax
cmp eax, edi
jge 0x4b3d16
mov edi, eax
add edx, 1
cmp edx, dword [esp + 0x54]
jl 0x4b3d06
mov edx, dword [esp + 0x54]
push edx
push ecx
push edi
push ebx
lea eax, [esi + 0x1830]
push eax
push esi
lea ecx, [esi - 0x1830]
push ecx
mov ecx, dword [esp + 0x8c]
call fcn.004d6280
mov eax, dword [esp + 0x58]
mov dword [eax], edi
add eax, 4
add ebx, 0x102
add esi, 0x408
sub dword [esp + 0x34], 1
mov dword [esp + 0x58], eax
jne 0x4b3cf7
mov eax, dword [ebp + 0xc68]
add eax, 1
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0x24]
imul eax, eax, 0x186a0
mov dword [esp + 0x34], eax
xor esi, esi
xor eax, eax
lea edi, [ebp + 0x40]
mov ecx, pe_nt_image_headers32
rep stosd dword es:[edi], eax
mov dword [esp + 0x40], esi
mov dword [esp + 0x10], pe_nt_image_headers32
mov eax, 0xfff
mov edx, 0xf
lea edi, [ebp + 0x1eb8]
mov bl, dl
shl bl, 4
mov ecx, 0xf
mov byte [esp + 0x17], bl
jmp 0x4b3dc4
mov bl, byte [esp + 0x17]
add bl, cl
mov byte [eax + ebp + 0xe7c], bl
sub eax, 1
sub ecx, 1
jns 0x4b3dc0
lea ecx, [eax + 1]
mov dword [edi], ecx
sub edx, 1
sub edi, 4
cmp edx, esi
jge 0x4b3da6
cmp dword [esp + 0x44], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x64], esi
jle 0x4b4aca
movzx eax, byte [ebp + 0x1ebc]
mov ecx, dword [ebp + eax*4 + 0xf9fc]
mov dword [esp + 0x68], eax
imul eax, eax, 0x408
add eax, ebp
lea edx, [eax + 0xb16c]
mov dword [esp + 0x48], edx
lea edx, [eax + 0xe1cc]
add eax, 0xc99c
mov dword [esp + 0x50], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 0x31
mov dword [esp + 0x18], ecx
mov esi, 1
mov eax, dword [ebp + 0x20]
cmp eax, dword [esp + 0x18]
mov dword [ebp + 4], 0x24
jge 0x4b3ea3
mov edx, 8
or ecx, 0xffffffff
lea ebx, [ebx]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b3e9a
add dword [eax + 0xc], esi
mov eax, dword [esp + 0x18]
cmp dword [ebp + 0x20], eax
jl 0x4b3e60
mov edx, dword [ebp + 0x20]
mov edi, dword [esp + 0x18]
mov eax, dword [ebp + 0x1c]
sub edx, edi
mov ecx, edx
shr eax, cl
mov ebx, esi
mov ecx, edi
shl ebx, cl
mov dword [ebp + 0x20], edx
sub ebx, esi
and eax, ebx
mov dword [esp + 0x28], eax
jmp 0x4b3f59
mov eax, 0xffffffe4
jmp 0x4b4884
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], 0x25
jge 0x4b3f2f
mov edx, 8
or ecx, 0xffffffff
jmp 0x4b3ef0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b3f2a
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x4b3ef0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
mov edi, dword [esp + 0x18]
lea ecx, [edx - 1]
shr eax, cl
mov ecx, dword [esp + 0x28]
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, esi
lea edx, [ecx + ecx]
or edx, eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x28], edx
mov eax, edx
cmp edi, 0x14
jg 0x4b4ad4
mov ecx, dword [esp + 0x48]
cmp eax, dword [ecx + edi*4]
jle 0x4b3f76
add edi, esi
mov dword [esp + 0x18], edi
jmp case.0x4b2d96.37
mov edx, dword [esp + 0x3c]
sub eax, dword [edx + edi*4]
js 0x4b3f8a
cmp eax, 0x102
jl 0x4b4045
mov eax, 0xfffffff2
jmp 0x4b4884
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], 0x29
jge 0x4b3fef
mov edx, 8
or ecx, 0xffffffff
jmp 0x4b3fb0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b3fea
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x4b3fb0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
mov edi, dword [esp + 0x18]
lea ecx, [edx - 1]
shr eax, cl
mov ecx, dword [esp + 0x28]
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, esi
lea edx, [ecx + ecx]
mov dword [esp + 0x6c], eax
or eax, edx
cmp edi, 0x14
mov dword [esp + 0x28], eax
jg 0x4b4ad4
mov ecx, dword [esp + 0x48]
cmp eax, dword [ecx + edi*4]
jg 0x4b4645
mov edx, dword [esp + 0x3c]
sub eax, dword [edx + edi*4]
js 0x4b3f8a
cmp eax, 0x102
jge 0x4b3f8a
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x4c], edx
mov ecx, dword [esp + 0x4c]
cmp ecx, dword [esp + 0x58]
je 0x4b4650
test ecx, ecx
je 0x4b406a
cmp ecx, esi
jne 0x4b430a
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x60], esi
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x4b4088
mov eax, dword [esp + 0x60]
add dword [esp + 0x24], eax
jmp 0x4b409b
cmp eax, esi
jne 0x4b409b
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x60]
lea eax, [ecx + edx*2]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x60]
lea edx, [ecx + ecx]
mov ecx, dword [esp + 0x40]
test ecx, ecx
mov dword [esp + 0x60], edx
jne 0x4b4103
mov eax, dword [esp + 0x64]
add eax, esi
cmp eax, dword [esp + 0x44]
mov dword [esp + 0x64], eax
jge 0x4b4aca
movzx eax, byte [eax + ebp + 0x1ebc]
mov edx, dword [ebp + eax*4 + 0xf9fc]
mov dword [esp + 0x68], eax
imul eax, eax, 0x408
add eax, ebp
mov dword [esp + 0x50], edx
lea edx, [eax + 0xb16c]
mov dword [esp + 0x48], edx
lea edx, [eax + 0xe1cc]
add eax, 0xc99c
mov ecx, 0x32
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x50]
sub ecx, esi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x18], eax
mov ecx, dword [ebp + 0x20]
cmp ecx, dword [esp + 0x18]
mov dword [ebp + 4], 0x26
jge 0x4b4173
mov edx, 8
or ecx, 0xffffffff
lea esp, [esp]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b416a
add dword [eax + 0xc], esi
mov eax, dword [esp + 0x18]
cmp dword [ebp + 0x20], eax
jl 0x4b4130
mov edx, dword [ebp + 0x20]
mov edi, dword [esp + 0x18]
mov eax, dword [ebp + 0x1c]
sub edx, edi
mov ecx, edx
shr eax, cl
mov ebx, esi
mov ecx, edi
shl ebx, cl
mov dword [ebp + 0x20], edx
sub ebx, esi
and eax, ebx
cmp edi, 0x14
mov dword [esp + 0x28], eax
jg 0x4b4ad4
mov ecx, dword [esp + 0x48]
cmp eax, dword [ecx + edi*4]
jle 0x4b4238
add edi, esi
mov dword [esp + 0x18], edi
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], 0x27
jge 0x4b420f
mov edx, 8
or ecx, 0xffffffff
jmp 0x4b41d0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b420a
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x4b41d0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
mov edi, dword [esp + 0x18]
lea ecx, [edx - 1]
shr eax, cl
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
mov edx, dword [esp + 0x28]
and eax, esi
lea ecx, [edx + edx]
mov dword [esp + 0x6c], eax
or eax, ecx
jmp 0x4b4190
mov edx, dword [esp + 0x3c]
sub eax, dword [edx + edi*4]
js 0x4b3f8a
cmp eax, 0x102
jge 0x4b3f8a
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + eax*4]
test eax, eax
mov dword [esp + 0x4c], eax
je 0x4b4076
cmp eax, esi
je 0x4b4076
mov eax, dword [ebp + 0x1e7c]
movzx ecx, byte [eax + ebp + 0xe7c]
mov cl, byte [ecx + ebp + 0xd7c]
mov edx, dword [esp + 0x24]
add edx, esi
movzx eax, cl
add dword [ebp + eax*4 + 0x40], edx
cmp byte [ebp + 0x28], 0
mov dword [esp + 0x24], edx
je 0x4b42d0
test edx, edx
jle 0x4b4050
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x34]
jge 0x4b4ade
mov ebx, dword [ebp + 0xc50]
movzx di, cl
sub edx, esi
mov word [ebx + eax*2], di
add eax, esi
test edx, edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], edx
jg 0x4b42a3
jmp 0x4b4050
test edx, edx
jle 0x4b4050
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
cmp ecx, edi
jge 0x4b4ae8
mov ebx, dword [ebp + 0xc4c]
sub edx, esi
mov dword [ebx + ecx*4], eax
add ecx, esi
test edx, edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], edx
jg 0x4b42e4
jmp 0x4b4050
mov edx, dword [esp + 0x34]
cmp dword [esp + 0x1c], edx
jge 0x4b4ac0
add ecx, 0xffffffff
cmp ecx, 0x10
jae 0x4b43ee
cmp ecx, 3
mov esi, dword [ebp + 0x1e7c]
lea edx, [esi + ebp]
mov bl, byte [ecx + edx + 0xe7c]
mov dword [esp + 0x80], edx
mov byte [esp + 0x17], bl
jbe 0x4b43cc
lea eax, [esi + ecx]
lea edx, [ebp + 0xe7b]
mov esi, ebp
sub esi, edx
add esi, 0xe7c
mov dword [esp + 0x70], esi
mov esi, ebp
sub esi, edx
lea edi, [esi + 0xe7a]
mov esi, ebp
sub esi, edx
add esi, 0xe78
mov dword [esp + 0x7c], esi
mov esi, ebp
sub esi, edx
add esi, 0xe79
mov dword [esp + 0x74], esi
lea esi, [ecx - 4]
shr esi, 2
add eax, edx
add esi, 1
movzx edx, byte [eax]
mov ebx, dword [esp + 0x70]
mov byte [ebx + eax], dl
movzx edx, byte [edi + eax]
mov byte [eax], dl
mov edx, dword [esp + 0x74]
movzx ebx, byte [edx + eax]
mov byte [edi + eax], bl
mov ebx, dword [esp + 0x7c]
movzx ebx, byte [ebx + eax]
mov byte [edx + eax], bl
sub ecx, 4
sub eax, 4
sub esi, 1
jne 0x4b4390
mov edx, dword [esp + 0x80]
mov bl, byte [esp + 0x17]
test ecx, ecx
jbe 0x4b43e3
sub ecx, 1
mov al, byte [ecx + edx + 0xe7c]
mov byte [ecx + edx + 0xe7d], al
jne 0x4b43d0
mov byte [edx + 0xe7c], bl
jmp 0x4b450d
mov edx, ecx
shr edx, 4
mov edi, dword [ebp + edx*4 + 0x1e7c]
lea esi, [ebp + edx*4 + 0x1e7c]
and ecx, 0xf
add ecx, edi
cmp ecx, edi
mov bl, byte [ecx + ebp + 0xe7c]
mov byte [esp + 0x17], bl
jle 0x4b4435
jmp 0x4b4420
mov al, byte [ecx + ebp + 0xe7b]
mov byte [ecx + ebp + 0xe7c], al
sub ecx, 1
cmp ecx, dword [esi]
jg 0x4b4420
add dword [esi], 1
test edx, edx
jle 0x4b4460
mov eax, esi
mov edi, edi
add dword [eax], 0xffffffff
mov ecx, dword [eax - 4]
mov esi, dword [eax]
mov cl, byte [ecx + ebp + 0xe8b]
sub edx, 1
sub eax, 4
test edx, edx
mov byte [esi + ebp + 0xe7c], cl
jg 0x4b4440
add dword [ebp + 0x1e7c], 0xffffffff
mov eax, dword [ebp + 0x1e7c]
mov byte [eax + ebp + 0xe7c], bl
cmp dword [ebp + 0x1e7c], 0
jne 0x4b450d
mov ecx, 0xfff
mov edi, 0xf
lea esi, [ebp + 0x1eb8]
mov eax, 0xf
jmp 0x4b44a0
mov ebx, dword [esi]
lea edx, [eax + ebp]
movzx edx, byte [edx + ebx + 0xe7c]
mov byte [ecx + ebp + 0xe7c], dl
mov ebx, dword [esi]
lea edx, [eax + ebp]
movzx edx, byte [edx + ebx + 0xe7b]
mov byte [ecx + ebp + 0xe7b], dl
mov ebx, dword [esi]
lea edx, [eax + ebp]
movzx edx, byte [edx + ebx + 0xe7a]
mov byte [ecx + ebp + 0xe7a], dl
mov ebx, dword [esi]
lea edx, [eax + ebp]
movzx edx, byte [edx + ebx + 0xe79]
mov byte [ecx + ebp + 0xe79], dl
sub eax, 4
sub ecx, 4
test eax, eax
jge 0x4b44a0
lea eax, [ecx + 1]
mov dword [esi], eax
sub edi, 1
sub esi, 4
test edi, edi
jge 0x4b4491
mov bl, byte [esp + 0x17]
movzx ecx, bl
movzx edx, byte [ecx + ebp + 0xd7c]
add dword [ebp + edx*4 + 0x40], 1
cmp byte [ebp + 0x28], 0
lea eax, [ecx + ebp + 0xd7c]
lea ecx, [ebp + edx*4 + 0x40]
mov edx, dword [esp + 0x1c]
je 0x4b4542
movzx ax, byte [eax]
mov ecx, dword [ebp + 0xc50]
mov word [ecx + edx*2], ax
jmp 0x4b454e
movzx eax, byte [eax]
mov ecx, dword [ebp + 0xc4c]
mov dword [ecx + edx*4], eax
mov ecx, dword [esp + 0x40]
add dword [esp + 0x1c], 1
test ecx, ecx
jne 0x4b45b1
mov eax, dword [esp + 0x64]
add eax, 1
cmp eax, dword [esp + 0x44]
mov dword [esp + 0x64], eax
jge 0x4b4aca
movzx eax, byte [eax + ebp + 0x1ebc]
mov edx, dword [ebp + eax*4 + 0xf9fc]
mov dword [esp + 0x68], eax
imul eax, eax, 0x408
add eax, ebp
mov dword [esp + 0x50], edx
lea edx, [eax + 0xb16c]
mov dword [esp + 0x48], edx
lea edx, [eax + 0xe1cc]
add eax, 0xc99c
mov ecx, 0x32
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x50]
sub ecx, 1
mov dword [esp + 0x40], ecx
mov dword [esp + 0x18], eax
mov esi, 1
mov ecx, dword [ebp + 0x20]
cmp ecx, dword [esp + 0x18]
mov dword [ebp + 4], 0x28
jge 0x4b4623
mov edx, 8
or ecx, 0xffffffff
lea ecx, [ecx]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b461a
add dword [eax + 0xc], esi
mov eax, dword [esp + 0x18]
cmp dword [ebp + 0x20], eax
jl 0x4b45e0
mov edx, dword [ebp + 0x20]
mov edi, dword [esp + 0x18]
mov eax, dword [ebp + 0x1c]
sub edx, edi
mov ecx, edx
shr eax, cl
mov ebx, esi
mov ecx, edi
shl ebx, cl
mov dword [ebp + 0x20], edx
sub ebx, esi
and eax, ebx
jmp 0x4b4013
add edi, esi
mov dword [esp + 0x18], edi
jmp case.0x4b2d96.41
mov eax, dword [ebp + 0x34]
test eax, eax
jl 0x4b4ab6
cmp eax, dword [esp + 0x1c]
jge 0x4b4ab6
xor ebx, ebx
lea eax, [ebp + 0x448]
lea edx, [ebp + 0x444]
lea esi, [ebp + 0x40]
mov ecx, pe_nt_image_headers32
mov edi, eax
mov dword [ebp + 0xc], ebx
mov byte [ebp + 8], bl
mov dword [ebp + 0xc60], 0xffffffff
mov dword [ebp + 4], 2
mov dword [edx], ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, pe_nt_image_headers32
lea ecx, [ecx]
mov esi, dword [eax - 4]
add dword [eax], esi
add eax, 4
sub ecx, 1
jne 0x4b46a0
cmp byte [ebp + 0x28], 0
je 0x4b49f0
lea edi, [ebp + 0x848]
mov ecx, 0x101
mov esi, edx
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
cmp dword [esp + 0x1c], ebx
jle 0x4b4729
mov edi, edi
mov edx, dword [ebp + 0xc50]
movzx eax, byte [edx + ecx*2]
mov si, word [ebp + eax*4 + 0x848]
lea edx, [edx + ecx*2]
lea eax, [ebp + eax*4 + 0x848]
mov word [edx], si
mov esi, dword [ebp + 0xc54]
mov edx, ecx
sar edx, 1
add esi, edx
test cl, 1
jne 0x4b470a
mov dl, byte [esi]
and dl, 0xf0
or dl, byte [eax + 2]
jmp 0x4b471b
mov edx, dword [eax]
mov ebx, dword [eax]
sar edx, 0xc
xor dl, byte [esi]
sar ebx, 0xc
and dl, 0xf
xor dl, bl
mov byte [esi], dl
add dword [eax], 1
add ecx, 1
cmp ecx, dword [esp + 0x1c]
jl 0x4b46d0
mov eax, dword [ebp + 0x34]
mov edx, dword [ebp + 0xc54]
mov ecx, eax
sar ecx, 1
movzx ebx, byte [ecx + edx]
movzx ecx, al
and cl, 1
add cl, cl
add cl, cl
shr ebx, cl
mov ecx, dword [ebp + 0xc50]
movzx edx, word [ecx + eax*2]
and ebx, 0xf
shl ebx, 0x10
mov dword [esp + 0x10], eax
or ebx, edx
jmp 0x4b4764
mov ebx, dword [esp + 0x20]
mov eax, dword [ebp + 0xc50]
mov ecx, dword [ebp + 0xc54]
lea esi, [eax + ebx*2]
mov edx, ebx
sar edx, 1
movzx eax, byte [ecx + edx]
movzx ecx, bl
and cl, 1
add cl, cl
add cl, cl
shr eax, cl
movzx ecx, word [esi]
and eax, 0xf
shl eax, 0x10
or eax, ecx
test bl, 1
mov cx, word [esp + 0x10]
mov word [esi], cx
mov ecx, dword [ebp + 0xc54]
lea esi, [ecx + edx]
mov ecx, dword [esp + 0x10]
jne 0x4b47ba
mov dl, byte [esi]
sar ecx, 0x10
and dl, 0xf0
or cl, dl
mov byte [esi], cl
jmp 0x4b47cb
mov edx, ecx
sar edx, 0xc
xor dl, byte [esi]
sar ecx, 0xc
and dl, 0xf
xor dl, cl
mov byte [esi], dl
cmp ebx, dword [ebp + 0x34]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x20], eax
jne 0x4b4760
mov edx, dword [ebp + 0x34]
xor ebx, ebx
cmp byte [ebp + 0x10], bl
mov dword [ebp + 0x38], edx
mov dword [ebp + 0x440], ebx
je 0x4b4989
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x18], ebx
xor esi, esi
mov ecx, pe_nt_image_headers32
mov edi, 1
lea eax, [ecx + esi]
sar eax, 1
cmp edx, dword [ebp + eax*4 + 0x444]
jl 0x4b4813
mov esi, eax
jmp 0x4b4815
mov ecx, eax
mov eax, ecx
sub eax, esi
cmp eax, edi
jne 0x4b4801
mov eax, dword [ebp + 0xc54]
mov ecx, edx
shr ecx, 1
mov dword [ebp + 0x3c], esi
movzx eax, byte [ecx + eax]
movzx ecx, dl
and cl, 1
add cl, cl
add cl, cl
shr eax, cl
mov ecx, dword [ebp + 0xc50]
movzx edx, word [ecx + edx*2]
and eax, 0xf
shl eax, 0x10
or eax, edx
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x440], edi
mov eax, dword [0x586848]
mov ecx, edi
cmp ecx, 0x200
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x18], edi
jne 0x4b486d
mov dword [ebp + 0x18], ebx
add dword [ebp + 0x14], 0xffffffff
mov eax, dword [ebp + 0x14]
xor edx, edx
cmp eax, edi
sete dl
xor edx, esi
mov dword [ebp + 0x3c], edx
xor ebx, ebx
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x14]
mov dword [ebp + 0xfa14], ecx
mov ecx, dword [esp + 0x20]
mov dword [ebp + 0xfa18], edx
mov edx, dword [esp + 0x48]
mov dword [ebp + 0xfa1c], ecx
mov ecx, dword [esp + 0x50]
mov dword [ebp + 0xfa20], edx
mov edx, dword [esp + 0x38]
mov dword [ebp + 0xfa24], ecx
mov ecx, dword [esp + 0x4c]
mov dword [ebp + 0xfa28], edx
mov edx, dword [esp + 0x58]
mov dword [ebp + 0xfa2c], ecx
mov ecx, dword [esp + 0x34]
mov dword [ebp + 0xfa30], edx
mov edx, dword [esp + 0x40]
mov dword [ebp + 0xfa34], ecx
mov ecx, dword [esp + 0x28]
mov dword [ebp + 0xfa38], edx
mov edx, dword [esp + 0x10]
mov dword [ebp + 0xfa3c], ecx
mov ecx, dword [esp + 0x18]
mov dword [ebp + 0xfa40], edx
mov edx, dword [esp + 0x54]
mov dword [ebp + 0xfa44], ecx
mov ecx, dword [esp + 0x24]
mov dword [ebp + 0xfa48], edx
mov edx, dword [esp + 0x6c]
mov dword [ebp + 0xfa4c], ecx
mov ecx, dword [esp + 0xc]
mov dword [ebp + 0xfa50], edx
mov edx, dword [esp + 0x1c]
mov dword [ebp + 0xfa54], ecx
mov ecx, dword [esp + 0x60]
mov dword [ebp + 0xfa58], edx
mov edx, dword [esp + 0x5c]
mov dword [ebp + 0xfa5c], ecx
mov ecx, dword [esp + 0x44]
mov dword [ebp + 0xfa60], edx
mov edx, dword [esp + 0x3c]
mov dword [ebp + 0xfa64], ecx
mov ecx, dword [esp + 0x30]
mov dword [ebp + 0xfa68], edx
mov edx, dword [esp + 0x2c]
mov dword [ebp + 0xfa6c], ecx
mov ecx, dword [esp + 0x7c]
mov dword [ebp + 0xfa70], edx
pop ebp
xor ecx, esp
call fcn.004ec47e
add esp, 0x7c
ret 4
xor ecx, ecx
mov esi, pe_nt_image_headers32
lea eax, [esi + ecx]
sar eax, 1
cmp edx, dword [ebp + eax*4 + 0x444]
jl 0x4b49a2
mov ecx, eax
jmp 0x4b49a4
mov esi, eax
mov eax, esi
sub eax, ecx
cmp eax, 1
jne 0x4b4990
mov eax, dword [ebp + 0xc54]
mov dword [ebp + 0x3c], ecx
mov ecx, edx
shr ecx, 1
movzx eax, byte [ecx + eax]
movzx ecx, dl
and cl, 1
add cl, cl
add cl, cl
shr eax, cl
mov ecx, dword [ebp + 0xc50]
movzx edx, word [ecx + edx*2]
and eax, 0xf
shl eax, 0x10
or eax, edx
mov dword [ebp + 0x38], eax
xor ebx, ebx
mov dword [ebp + 0x440], 1
jmp 0x4b4882
mov esi, dword [esp + 0x1c]
xor edx, edx
cmp esi, ebx
mov dword [esp + 0x10], edx
jle 0x4b4a30
mov edi, edi
mov ecx, dword [ebp + 0xc4c]
movzx eax, byte [ecx + edx*4]
mov edi, dword [ebp + eax*4 + 0x444]
lea eax, [ebp + eax*4 + 0x444]
lea ecx, [ecx + edi*4]
mov edi, edx
shl edi, 8
or dword [ecx], edi
add dword [eax], 1
add edx, 1
cmp edx, esi
jl 0x4b4a00
mov dword [esp + 0x10], edx
mov ecx, dword [ebp + 0x34]
mov eax, dword [ebp + 0xc4c]
mov edx, dword [eax + ecx*4]
shr edx, 8
cmp byte [ebp + 0x10], 0
mov dword [ebp + 0x38], edx
mov dword [ebp + 0x440], ebx
mov ecx, edx
je 0x4b4a97
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x18], ebx
mov edx, dword [eax + ecx*4]
movzx eax, dl
mov dword [ebp + 0x38], edx
shr dword [ebp + 0x38], 8
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x440], 1
mov ecx, dword [0x586848]
mov dword [ebp + 0x14], ecx
add dword [ebp + 0x14], 0xffffffff
mov eax, dword [ebp + 0x14]
xor edx, edx
cmp eax, 1
sete dl
mov dword [ebp + 0x18], 1
xor dword [ebp + 0x3c], edx
jmp 0x4b4882
mov edx, dword [eax + ecx*4]
movzx eax, dl
mov dword [ebp + 0x38], edx
shr dword [ebp + 0x38], 8
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x440], 1
jmp 0x4b4882
mov eax, 0xffffffe0
jmp 0x4b4884
mov eax, 0xffffffe1
jmp 0x4b4884
mov eax, 0xfffffff4
jmp 0x4b4884
mov eax, 0xfffffff3
jmp 0x4b4884
mov eax, 0xffffffe3
jmp 0x4b4884
mov eax, 0xffffffe2
jmp 0x4b4884
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x2a
jge 0x4b4b4f
or edx, 0xffffffff
jmp 0x4b4b10
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b4b4a
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b4b10
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x72
je case.0x4b2d96.43
mov eax, 0xffffffdf
jmp 0x4b4884
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x2b
jge 0x4b4bcf
or edx, 0xffffffff
jmp 0x4b4b90
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b4bca
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b4b90
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x45
je case.0x4b2d96.44
mov eax, 0xffffffde
jmp 0x4b4884
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x2c
jge 0x4b4c4f
or edx, 0xffffffff
jmp 0x4b4c10
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b4c4a
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b4c10
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x38
je case.0x4b2d96.45
mov eax, 0xffffffdd
jmp 0x4b4884
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x2d
jge 0x4b4ccf
or edx, 0xffffffff
jmp 0x4b4c90
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b4cca
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b4c90
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x50
je case.0x4b2d96.46
mov eax, 0xffffffdc
jmp 0x4b4884
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x2e
jge 0x4b4d53
or edx, 0xffffffff
jmp 0x4b4d10
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b4d4e
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b4d10
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x90
je 0x4b4d77
mov eax, 0xffffffdb
jmp 0x4b4884
mov dword [ebp + 0xc5c], 0
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x2f
jge 0x4b4de3
or edx, 0xffffffff
jmp 0x4b4da0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b4dde
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b4da0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc5c]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc5c], ecx
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x30
jge 0x4b4e64
or edx, 0xffffffff
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b4e5f
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b4e21
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc5c]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc5c], ecx
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x31
jge 0x4b4ee5
or edx, 0xffffffff
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b4ee0
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b4ea2
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc5c]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc5c], ecx
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x32
jge 0x4b4f62
or edx, 0xffffffff
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x4b4882
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x4b4f5d
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x4b4f23
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc5c]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc5c], ecx
mov dword [ebp + 4], esi
mov eax, 4
jmp 0x4b4884