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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x184
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x94], eax
mov eax, dword [ebp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x40]
mov dword [esp + 0xec], eax
mov eax, dword [ebp + 0x44]
push ebx
mov ebx, dword [ebp + 0x38]
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 0x48]
push esi
xor esi, esi
mov dword [esp + 0x90], eax
mov eax, dword [ebp + 0x4c]
push edi
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x50]
xor edi, edi
inc edi
xor ecx, ecx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x114], eax
mov dword [esp + 0xb8], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0xb0], esi
mov dword [esp + 0xa8], esi
mov dword [esp + 0x8c], edi
mov dword [esp + 0x10c], esi
mov dword [esp + 0xa4], esi
mov dword [esp + 0xfc], esi
mov dword [esp + 0xc8], esi
mov dword [esp + 0xc0], esi
mov dword [esp + 0x40], esi
call fcn.301ff16b
mov eax, dword [ebx]
mov dword [esp + 0xf4], edi
mov dword [esp + 0x110], eax
xor eax, eax
mov word [esp + 0x5c], si
lea edi, [esp + 0x5e]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
or dword [esp + 0xac], 0xffffffff
or dword [esp + 0x74], 0xffffffff
or dword [esp + 0x100], 0xffffffff
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov word [esp + 0x17c], si
lea edi, [esp + 0x17e]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [esp + 0xb4], esi
mov dword [esp + 0x2c], esi
stosw word es:[edi], ax
mov dword [esp + 0x58], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x4c], esi
call fcn.300fa130
mov dword [esp + 0xf0], eax
mov eax, dword [ebp + 0x54]
cmp eax, esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
je 0x30047d61
mov eax, dword [eax + 8]
jmp 0x30047d6a
mov ecx, dword [esp + 0x10]
call fcn.3013dceb
cmp dword [ebp + 0x18], esi
mov dword [esp + 0xc4], eax
je 0x30047d83
mov eax, 0x78a
cmp dword [ebp + 8], eax
je 0x30047d83
mov dword [ebp + 8], eax
xor eax, eax
cmp dword [ebp + 0x34], 1
lea edi, [esp + 0x78]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
jg 0x30047dcf
push dword [esp + 0x10]
mov ecx, dword [esp + 0x74]
push dword [ebp + 0x28]
mov eax, dword [ecx]
call dword [eax + 0x14]
cmp eax, esi
je 0x30047dcf
lea ecx, [esp + 0x78]
push ecx
mov ecx, eax
call fcn.3003b1a5
test eax, eax
jge 0x30047dcf
push esi
mov eax, 0x30022492
push eax
push 0x3675756b
push eax
call dword [sym.imp.MSO.dll_Ordinal_3295]
test eax, eax
jne 0x30047dcf
int3
mov ecx, dword [esp + 0x10]
push 0x1a
call fcn.3013dcf3
test eax, eax
je 0x30047e77
cmp dword [esp + 0xf0], esi
mov dword [esp + 0x2c], esi
jne 0x30047e77
cmp dword [ebp + 0x34], esi
jne 0x30047e77
push dword [esp + 0x10]
mov ecx, dword [esp + 0x74]
push dword [esp + 0x14]
mov eax, dword [ecx]
push dword [ebp + 0x28]
call dword [eax + 0x14]
mov edx, dword [esp + 0x98]
lea edi, [esp + 0x30]
mov ecx, eax
call fcn.3003ca59
test eax, eax
jge 0x30047e3a
push esi
mov eax, 0x30022492
push eax
push 0x32646b39
push eax
call dword [sym.imp.MSO.dll_Ordinal_3295]
test eax, eax
jne 0x30047e3a
int3
cmp dword [ebp + 0x14], esi
jne 0x30047e77
mov eax, dword [ebx]
movzx ecx, word [eax]
cmp cx, 0x61
je 0x30047e50
cmp cx, 0x41
jne 0x30047e77
movzx eax, word [eax + 2]
movzx ecx, ax
sub ecx, 0x30
cmp ecx, 9
jbe 0x30047e6f
cmp ax, 0x100
jbe 0x30047e77
push eax
call fcn.30026634
test eax, eax
je 0x30047e77
mov dword [esp + 0x58], 1
cmp dword [esp + 0xc4], esi
je 0x30047ec5
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x14]
push dword [esp + 0x100]
push dword [esp + 0x7c]
push dword [esp + 0x40]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [esp + 0xbc]
push dword [ebp + 0xc]
push dword [ebp + 8]
push ebx
call fcn.3004b2b5
test eax, eax
je 0x30047ec5
mov dword [esp + 0xa4], 1
jmp 0x300495f3
mov ecx, dword [esp + 0x10]
push 0x22
call fcn.3013dcf3
test eax, eax
je 0x3004804c
push dword [ebx]
xor edi, edi
mov dword [esp + 0x28], edi
mov dword [esp + 0xa0], edi
call dword [sym.imp.MSO.dll_Ordinal_295]
mov ecx, dword [esp + 0xf8]
lea edx, [esp + 0x14]
push edx
lea esi, [eax + eax + 2]
mov eax, dword [ecx]
push edi
push esi
call dword [eax]
test eax, eax
jge 0x30047f13
and dword [esp + 0x88], edi
jmp 0x3004804a
push esi
push 0
push dword [esp + 0x1c]
call sub.MSVCR80.dll_memset
add esp, 0xc
push esi
push dword [esp + 0x18]
mov eax, ebx
push dword [eax]
call fcn.3002660a
mov eax, dword [esp + 0x14]
cmp word [eax], 0
mov ebx, eax
je 0x30047ff2
cmp dword [esp + 0x9c], 0
je 0x30047f7d
movzx eax, word [ebx]
movzx ecx, ax
sub ecx, 0x30
cmp ecx, 9
jbe 0x30047f68
cmp ax, 0x100
jbe 0x30047f75
push eax
call fcn.30026634
test eax, eax
je 0x30047f75
cmp dword [esp + 0x4c], 0
jne 0x30047f7d
inc dword [esp + 0x24]
jmp 0x30047f7d
mov dword [esp + 0x4c], 1
movzx eax, word [ebx]
cmp ax, 0x62
je 0x30047f99
cmp ax, 0x42
je 0x30047f99
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx]
mov word [ecx + edi*2], ax
inc edi
jmp 0x30047fe6
test edi, edi
jle 0x30047fe6
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
movzx esi, word [eax + edi*2 - 2]
cmp esi, 0x2f
je 0x30047fdb
cmp esi, 0x2d
je 0x30047fdb
cmp esi, 0x20
je 0x30047fdb
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
push 8
call dword [eax + 0xa0]
movzx eax, ax
cmp esi, eax
je 0x30047fdb
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
mov cx, word [ebx]
mov word [eax + edi*2], cx
jmp 0x30047f96
mov dword [esp + 0x9c], 1
inc ebx
inc ebx
cmp word [ebx], 0
jne 0x30047f40
mov esi, dword [esp + 0x34]
mov eax, dword [esi]
xor ebx, ebx
mov word [eax + edi*2], bx
mov eax, dword [esp + 0x24]
push 2
pop ecx
sub eax, ecx
je 0x30048041
sub eax, ecx
je 0x30048034
push dword [esp + 0x14]
call dword [sym.imp.MSO.dll_Ordinal_295]
lea eax, [eax + eax + 2]
push eax
push dword [esi]
push dword [esp + 0x1c]
call fcn.3002660a
mov dword [esp + 0x88], ebx
mov dword [esp + 0x4c], ebx
jmp 0x30048048
mov dword [esp + 0x88], 4
jmp 0x30048048
mov dword [esp + 0x88], ecx
mov ebx, esi
xor esi, esi
cmp dword [esp + 0xc4], esi
jne 0x3004808a
mov esi, dword [ebx]
jmp 0x30048079
movzx eax, ax
movzx ecx, ax
sub ecx, 0x30
cmp ecx, 9
jbe 0x30048086
cmp ax, 0x100
jbe 0x30048077
push eax
call fcn.30026634
test eax, eax
jne 0x30048086
inc esi
inc esi
movzx eax, word [esi]
test ax, ax
jne 0x30048059
jmp 0x300495a5
mov ebx, dword [esp + 0x34]
mov edx, dword [ebx]
or eax, 0xffffffff
push 8
pop ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], eax
mov word [esp + 0x5c], ax
lea edi, [esp + 0xd0]
rep stosd dword es:[edi], eax
mov ecx, dword [0x30022274]
lea eax, [esp + 0xd0]
mov dword [esp + 0x98], eax
mov eax, dword [0x30022270]
mov dword [esp + 0x118], eax
mov dword [esp + 0x38], eax
or eax, 0xffffffff
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x104], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x58]
push 0xe
pop ecx
lea esi, [esp + 0x118]
lea edi, [esp + 0x120]
lea edx, [edx + eax*2]
rep movsd dword es:[edi], dword [esi]
movzx eax, word [edx]
test ax, ax
lea ebx, [esp + 0x118]
mov dword [esp + 0x90], ebx
mov dword [esp + 0x48], edx
je 0x30048525
lea ecx, [esp + 0x15c]
sub ecx, 4
mov dword [esp + 0x24], ecx
jmp 0x30048149
mov ebx, dword [esp + 0x90]
cmp dword [esp + 0x20], 8
mov esi, dword [esp + 0x48]
jge 0x300495a5
movzx eax, ax
cmp ax, 0x80
jb 0x3004816b
push dword [esp + 0x10]
push eax
call fcn.3002747c
push dword [esp + 0x10]
movzx edi, ax
call fcn.30026912
test eax, eax
je 0x3004827b
push dword [ebp + 0x20]
lea eax, [esp + 0x4c]
push eax
mov eax, dword [esp + 0x18]
call fcn.3004bd28
mov ecx, dword [esp + 0x10]
push 0x1a
mov esi, eax
call fcn.3013dcf3
test eax, eax
je 0x300481db
cmp esi, 0xfffff448
jg 0x300481b9
mov dword [esp + 0x2c], 1
add esi, 0xbb8
jmp 0x300481db
cmp esi, 0xfffffc18
jg 0x300481d1
mov dword [esp + 0x2c], 2
add esi, 0x3e8
jmp 0x300481db
cmp esi, 0xffffffec
jle 0x300481db
and dword [esp + 0x2c], 0
test esi, esi
je 0x300495a5
cmp esi, 0xffffffec
jle 0x30048200
cmp dword [esp + 0x8c], 0
je 0x300495a5
and dword [esp + 0x8c], 0
jmp 0x30048243
cmp dword [esp + 0x10c], 0
jne 0x300495a5
cmp dword [esp + 0x20], 0
je 0x300495a5
mov ecx, dword [esp + 0x24]
cmp dword [ecx], 1
je 0x3004822c
cmp dword [ebp + 0x20], 0
je 0x300495a5
push 3
pop eax
mov dword [esp + 0x10c], 1
mov dword [ecx], eax
mov dword [esp + 0xb8], eax
mov edx, esi
lea ecx, [esp + 0x38]
call fcn.301feffa
mov eax, dword [esp + 0x38]
mov dword [ebx], eax
mov eax, dword [esp + 0x3c]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x98]
add ebx, 8
add dword [esp + 0x98], 4
mov dword [esp + 0x90], ebx
mov dword [eax], esi
jmp 0x300484a7
movzx eax, word [esi]
mov edi, 0x80
cmp ax, di
jb 0x30048292
push dword [esp + 0x10]
push eax
call fcn.3002747c
movzx eax, ax
movzx ecx, ax
sub ecx, 0x30
cmp ecx, 9
jbe 0x300482b8
cmp ax, 0x100
jbe 0x30048467
push eax
call fcn.30026634
test eax, eax
je 0x30048467
xor edx, edx
lea ecx, [esp + 0x38]
call fcn.301feffa
and dword [esp + 0xbc], 0
movzx eax, word [esi]
cmp ax, di
jb 0x300482dd
push dword [esp + 0x10]
push eax
call fcn.3002747c
movzx eax, ax
movzx ecx, ax
sub ecx, 0x30
cmp ecx, 9
jbe 0x30048303
cmp ax, 0x100
jbe 0x300483eb
push eax
call fcn.30026634
test eax, eax
je 0x300483eb
mov edx, dword [0x3022594c]
lea ecx, [esp + 0x38]
call fcn.301fef9c
mov eax, dword [esp + 0x38]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x54], eax
movzx eax, word [esi]
cmp ax, di
jb 0x30048334
push dword [esp + 0x10]
push eax
call fcn.3002747c
movzx eax, ax
push eax
call fcn.30026634
test eax, eax
movzx eax, word [esi]
je 0x300483ab
cmp ax, di
jb 0x30048353
push dword [esp + 0x10]
push eax
call fcn.3002747c
movzx eax, ax
push eax
call fcn.3002cc39
mov dword [esp + 0xfc], eax
movzx eax, word [esi]
cmp ax, di
jb 0x30048375
push dword [esp + 0x10]
push eax
call fcn.3002747c
movzx edi, ax
movzx eax, word [esi]
cmp ax, 0x80
jb 0x3004838b
push dword [esp + 0x10]
push eax
call fcn.3002747c
movzx ecx, ax
call fcn.3002cb9b
movzx eax, ax
movzx edx, di
sub edx, eax
lea ecx, [esp + 0x38]
call fcn.301feffa
mov edi, 0x80
jmp 0x300483cc
cmp ax, di
jb 0x300483ba
push dword [esp + 0x10]
push eax
call fcn.3002747c
movzx eax, ax
movzx edx, ax
sub edx, 0x30
lea ecx, [esp + 0x38]
call fcn.301feffa
lea edx, [esp + 0x50]
lea ecx, [esp + 0x38]
call fcn.301fef50
inc dword [esp + 0xbc]
inc esi
inc esi
mov dword [esp + 0x48], esi
jmp 0x300482cb
push 4
pop esi
cmp dword [esp + 0xb8], esi
jne 0x30048405
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x38]
mov dword [ebx], eax
mov eax, dword [esp + 0x3c]
mov dword [ebx + 4], eax
add ebx, 8
lea ecx, [esp + 0x38]
mov dword [esp + 0x90], ebx
call fcn.301ff081
cmp dword [esp + 0xb8], esi
je 0x3004844e
cmp dword [esp + 0xbc], esi
jg 0x300495a5
cmp dword [esp + 0xbc], 2
jle 0x3004844e
cmp eax, 0x64
jl 0x300495a5
test eax, eax
jge 0x30048455
or eax, 0xffffffff
mov ecx, dword [esp + 0x98]
add dword [esp + 0x98], esi
mov dword [ecx], eax
jmp 0x300484a7
push dword [esp + 0x10]
mov ax, word [esi]
call fcn.300274a4
cmp ax, 0x20
jne 0x300495a5
push dword [esp + 0x10]
mov ax, word [esi]
call fcn.300274a4
cmp ax, 0x20
jne 0x300484a7
push dword [esp + 0x10]
inc esi
inc esi
mov ax, word [esi]
call fcn.300274a4
cmp ax, 0x20
je 0x3004848f
mov dword [esp + 0x48], esi
push dword [esp + 0xb8]
mov ebx, dword [esp + 0x14]
lea esi, [esp + 0x4c]
call fcn.3004a35f
mov ecx, dword [esp + 0x24]
inc dword [esp + 0x20]
add dword [esp + 0x24], 4
cmp eax, 0xffffffff
mov dword [ecx + 4], eax
mov dword [esp + 0xb8], eax
je 0x300495a5
cmp word [esp + 0xc0], 0
mov esi, dword [esp + 0x48]
jne 0x300484f5
movzx eax, word [esi - 2]
mov dword [esp + 0xc0], eax
mov ax, word [esi]
push ebx
call fcn.300274a4
cmp ax, 0x20
jne 0x30048519
inc esi
inc esi
mov ax, word [esi]
push ebx
call fcn.300274a4
cmp ax, 0x20
je 0x30048504
mov dword [esp + 0x48], esi
movzx eax, word [esi]
test ax, ax
jne 0x30048142
xor ebx, ebx
xor esi, esi
cmp dword [esp + 0x20], ebx
jle 0x30048540
cmp dword [esp + esi*4 + 0x15c], 3
je 0x30048540
inc esi
cmp esi, dword [esp + 0x20]
jl 0x3004852f
cmp esi, dword [esp + 0x20]
je 0x30048670
cmp esi, ebx
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xb4], 1
mov dword [esp + 0xc8], eax
je 0x30048590
mov edi, dword [esp + esi*4 + 0x158]
cmp edi, 1
je 0x30048590
mov ecx, dword [esp + 0x10]
call fcn.3013dd46
cmp eax, 0x40e
jne 0x300495a5
cmp edi, 2
jne 0x300495a5
mov edx, dword [esp + 0x20]
dec edx
cmp esi, edx
mov edi, esi
mov ecx, esi
jge 0x300485cf
mov eax, dword [esp + ecx*4 + 0x15c]
cmp eax, 3
jne 0x300485ae
inc ecx
cmp ecx, edx
jl 0x3004859d
cmp eax, 4
jne 0x300485cf
inc ecx
xor ebx, ebx
inc ebx
mov dword [esp + 0x104], ecx
jmp 0x300485cb
cmp dword [esp + ecx*4 + 0x15c], 3
jne 0x300485cf
inc ecx
cmp ecx, edx
jl 0x300485c0
xor eax, eax
cmp dword [esp + ecx*4 + 0xd0], 0xffffffff
setl al
test eax, eax
mov dword [esp + 0xa8], eax
je 0x300485ee
mov dword [esp + 0x100], ecx
mov eax, ecx
sub eax, ebx
sub eax, esi
sub eax, dword [esp + 0xa8]
test ebx, ebx
je 0x30048615
cmp eax, 1
jne 0x30048615
mov dword [esp + 0xcc], esi
inc esi
mov dword [esp + 0x9c], esi
jmp 0x3004863f
sub eax, 0
je 0x30048638
dec eax
je 0x3004862e
dec eax
jne 0x300495a5
lea eax, [esi + 2]
mov dword [esp + 0x9c], eax
lea eax, [esi + 1]
mov dword [esp + 0xcc], eax
mov dword [esp + 0x108], esi
inc ecx
mov eax, ecx
jmp 0x30048655
mov esi, dword [esp + eax*4 + 0x15c]
inc eax
cmp esi, 3
je 0x300495a5
cmp eax, dword [esp + 0x20]
jl 0x30048644
test edi, edi
jne 0x30048667
mov edi, ecx
mov dword [esp + 0x20], edx
jmp 0x3004867b
dec edi
mov dword [esp + 0x20], edi
xor edi, edi
jmp 0x3004867b
mov eax, dword [esp + 0x20]
xor edi, edi
dec eax
mov dword [esp + 0x20], eax
cmp edi, dword [esp + 0x20]
jg 0x30048f64
mov eax, dword [esp + 0x20]
sub eax, edi
cmp eax, 2
mov dword [esp + 0x24], eax
jg 0x300495a5
mov ebx, dword [esp + 0x20]
shl ebx, 2
mov esi, dword [esp + ebx + 0x15c]
cmp esi, 1
mov dword [esp + 0xc0], ebx
jle 0x300486cf
mov ecx, dword [esp + 0x10]
call fcn.3013dd46
cmp eax, 0x40e
jne 0x300495a5
cmp esi, 2
jne 0x300495a5
cmp dword [esp + 0x8c], 0
lea edx, [edi + 1]
je 0x300488f1
cmp dword [esp + 0x24], 1
jne 0x30048852
mov esi, edi
shl esi, 2
cmp dword [esp + esi + 0x15c], 2
jne 0x30048852
mov edi, dword [esp + 0x10]
mov eax, dword [edi]
and dword [esp + 0x8c], 0
mov ecx, edi
call dword [eax + 0x74]
sub eax, 0
je 0x3004876b
dec eax
je 0x30048742
dec eax
jne 0x30048f59
mov esi, dword [esp + esi + 0xd0]
cmp esi, 0xc
mov eax, dword [esp + ebx + 0xd0]
jle 0x30048739
mov dword [esp + 0x18], esi
jmp 0x30048762
mov dword [esp + 0x1c], esi
jmp 0x300488c0
mov eax, dword [esp + ebx + 0xd0]
cmp eax, 0xc
mov ecx, dword [esp + esi + 0xd0]
jle 0x3004875e
mov dword [esp + 0x1c], ecx
jmp 0x30048a48
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1c], eax
jmp 0x30048a4c
push dword [esp + 0xa0]
mov eax, dword [esp + esi + 0xd4]
push dword [ebp + 0xc]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x64]
call fcn.3002dfc6
cmp dword [esp + 0x2c], 2
jne 0x30048796
cmp dword [ebp + 0x14], 0
jne 0x3004879d
cmp dword [esp + 0x58], 0
je 0x300487c6
push 6
lea esi, [esp + 0x60]
call fcn.3002dff7
test eax, eax
jne 0x30048815
push eax
mov eax, 0x30022492
push eax
push 0x30356478
push eax
call dword [sym.imp.MSO.dll_Ordinal_3295]
test eax, eax
jne 0x30048815
int3
test byte [esp + 0x84], 1
je 0x30048815
cmp dword [esp + 0x78], 4
jne 0x300487e3
push edi
call fcn.301057bb
test eax, eax
je 0x300487ec
jmp 0x30048815
xor eax, eax
inc eax
cmp dword [esp + 0x78], eax
je 0x300487f9
push dword [esp + 0x78]
lea esi, [esp + 0x60]
call fcn.3002dff7
test eax, eax
jne 0x30048815
push eax
mov eax, 0x30022492
push eax
push 0x3569326f
push eax
call dword [sym.imp.MSO.dll_Ordinal_3295]
test eax, eax
jne 0x30048815
int3
mov eax, dword [esp + 0x1c]
dec eax
cmp eax, 0xb
ja 0x30048a41
mov edi, dword [esp + ebx + 0xd0]
test edi, edi
je 0x30048a41
movsx eax, word [esp + 0x5c]
mov esi, dword [esp + 0x1c]
push eax
call fcn.3002dae8
cmp edi, eax
jg 0x30048a41
mov dword [esp + 0x28], edi
jmp 0x30048a4c
cmp dword [esp + 0x24], 2
jl 0x300495a5
mov eax, edi
shl eax, 2
cmp dword [esp + eax + 0x15c], 2
jne 0x300495a5
mov esi, edx
shl esi, 2
cmp dword [esp + esi + 0x15c], 2
jne 0x300495a5
mov edi, dword [esp + eax + 0xd0]
cmp edi, 0x3e7
jg 0x300488aa
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x74]
sub eax, 0
je 0x300488dd
dec eax
je 0x300488c9
dec eax
jne 0x30048f59
mov eax, dword [esp + esi + 0xd0]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + ebx + 0xd0]
mov dword [esp + 0x18], edi
mov dword [esp + 0x28], eax
jmp 0x30048a4c
mov eax, dword [esp + esi + 0xd0]
mov dword [esp + 0x28], edi
mov dword [esp + 0x1c], eax
jmp 0x30048a41
mov eax, dword [esp + esi + 0xd0]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x28], eax
jmp 0x30048a41
mov esi, edi
shl esi, 2
mov eax, dword [esp + esi + 0x15c]
cmp eax, 2
jg 0x30048959
cmp dword [esp + edx*4 + 0x15c], 2
jg 0x30048959
mov ecx, dword [esp + esi + 0xd0]
test ecx, ecx
jge 0x30048931
cmp dword [esp + 0x24], 1
jg 0x300495a5
test ecx, ecx
jg 0x30048928
neg ecx
mov dword [esp + 0x1c], ecx
jmp 0x30048a41
mov eax, dword [esp + edx*4 + 0xd0]
test eax, eax
jge 0x300495a5
neg eax
cmp edx, dword [esp + 0x20]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1c], eax
jge 0x30048a4c
jmp 0x30048a41
cmp dword [esp + 0x24], 2
jne 0x300495a5
cmp eax, 5
jne 0x3004897d
cmp dword [esp + edx*4 + 0x15c], 6
jne 0x3004897d
cmp dword [esp + ebx + 0x15c], 7
je 0x300489f3
mov dword [esp + 0x24], edi
mov dword [esp + 0x90], 0x3002198c
mov eax, dword [esp + 0x24]
mov eax, dword [esp + eax*4 + 0x15c]
cmp eax, 1
je 0x300489a0
test eax, eax
jne 0x300489d6
mov ebx, dword [esp + 0x90]
movzx edi, word [ebx]
add ebx, 2
jmp 0x300489d2
movzx eax, word [ebx]
cmp ax, 0x60c
jb 0x300489c2
push dword [esp + 0x10]
push eax
call fcn.30027428
movzx eax, ax
cmp ax, 0x20
jne 0x300495a5
dec edi
inc ebx
inc ebx
test edi, edi
jne 0x300489af
inc dword [esp + 0x24]
mov eax, dword [esp + 0x24]
add dword [esp + 0x90], 0xa
cmp eax, dword [esp + 0x20]
jle 0x3004898c
mov ebx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x124]
test eax, eax
mov eax, dword [esp + esi + 0xd0]
je 0x30048a21
test eax, eax
jg 0x30048a10
neg eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + esi + 0xd4]
mov dword [esp + 0x28], eax
jmp 0x30048a36
mov dword [esp + 0x28], eax
mov eax, dword [esp + esi + 0xd4]
test eax, eax
jg 0x30048a32
neg eax
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x28], 0
jl 0x300495a5
mov eax, dword [esp + ebx + 0xd0]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
cmp eax, 0xffffffff
je 0x30048f4e
dec eax
cmp eax, 0xb
ja 0x300495a5
cmp dword [esp + 0x18], 0x63
ja 0x30048bf4
cmp word [esp + 0x5c], 0xffff
jne 0x30048b1c
push dword [esp + 0xa0]
lea eax, [esp + 0x60]
push dword [ebp + 0xc]
call fcn.3002dfc6
cmp dword [esp + 0x2c], 2
jne 0x30048a9a
cmp dword [ebp + 0x14], 0
jne 0x30048aa1
cmp dword [esp + 0x58], 0
je 0x30048aca
push 6
lea esi, [esp + 0x60]
call fcn.3002dff7
test eax, eax
jne 0x30048b1c
push eax
mov eax, 0x30022492
push eax
push 0x30356479
push eax
call dword [sym.imp.MSO.dll_Ordinal_3295]
test eax, eax
jne 0x30048b1c
int3
test byte [esp + 0x84], 1
je 0x30048b1c
cmp dword [esp + 0x78], 4
jne 0x30048aea
push dword [esp + 0x10]
call fcn.301057bb
test eax, eax
je 0x30048af3
jmp 0x30048b1c
xor eax, eax
inc eax
cmp dword [esp + 0x78], eax
je 0x30048b00
push dword [esp + 0x78]
lea esi, [esp + 0x60]
call fcn.3002dff7
test eax, eax
jne 0x30048b1c
push eax
mov eax, 0x30022492
push eax
push 0x35766534
push eax
call dword [sym.imp.MSO.dll_Ordinal_3295]
test eax, eax
jne 0x30048b1c
int3
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x74]
cmp eax, 1
je 0x30048b5d
cmp dword [esp + 0x28], 0xffffffff
jne 0x30048b5d
mov edi, dword [esp + 0x18]
cmp edi, 1
jl 0x30048b5d
movsx eax, word [esp + 0x5c]
mov esi, dword [esp + 0x1c]
push eax
call fcn.3002dae8
cmp edi, eax
jg 0x30048b5d
or dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x28], edi
jmp 0x30048bf4
xor esi, esi
cmp dword [esp + 0x2c], 2
jne 0x30048b6b
cmp dword [ebp + 0x14], esi
jne 0x30048b76
cmp dword [esp + 0x58], esi
je 0x30048b8c
cmp dword [ebp + 0x14], esi
jne 0x30048b8c
push ebx
push dword [esp + 0xa4]
push dword [ebp + 0xc]
call fcn.3002e188
add dword [esp + 0x18], eax
jmp 0x30048bf4
mov al, byte [esp + 0x84]
and al, 1
je 0x30048ba5
cmp dword [esp + 0x78], 3
je 0x30048bf4
cmp dword [esp + 0x78], 4
je 0x30048bf4
test al, al
mov dword [esp + 0xf4], esi
je 0x30048bb6
mov ecx, dword [esp + 0x78]
jmp 0x30048bb9
xor ecx, ecx
inc ecx
mov edx, dword [ebp + 8]
push ebx
push dword [esp + 0x8c]
push dword [esp + 0x20]
call fcn.30047b96
movzx eax, ax
push 0x22
mov ecx, ebx
mov dword [esp + 0x1c], eax
call fcn.3013dcf3
test eax, eax
je 0x30048bf4
cmp dword [esp + 0x4c], esi
je 0x30048bf4
cmp dword [esp + 0xb4], esi
je 0x300495a5
cmp dword [esp + 0x8c], 0
je 0x30048c14
cmp dword [esp + 0x18], 0
jl 0x300495a5
cmp dword [esp + 0x28], 0
jl 0x300495a5
cmp dword [esp + 0x28], 0xffffffff
jne 0x30048c26
cmp dword [esp + 0x18], 0xffffffff
je 0x300495a5
mov ecx, dword [esp + 0x10]
push 0x22
call fcn.3013dcf3
test eax, eax
je 0x30048c68
cmp dword [esp + 0x4c], 0
je 0x30048c4a
cmp dword [esp + 0xb4], 0
je 0x300495a5
cmp dword [esp + 0x88], 4
jne 0x30048c68
mov eax, dword [esp + 0x18]
add eax, 0xfffffde1
cmp eax, 0x24f0
ja 0x30048c68
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
je 0x30048c7b
mov word [esp + 0x5c], ax
jmp 0x30048d29
cmp word [esp + 0x5c], 0xffff
jne 0x30048d29
push dword [esp + 0xa0]
lea eax, [esp + 0x60]
push dword [ebp + 0xc]
call fcn.3002dfc6
cmp dword [esp + 0x2c], 2
jne 0x30048ca7
cmp dword [ebp + 0x14], 0
jne 0x30048cae
cmp dword [esp + 0x58], 0
je 0x30048cd7
push 6
lea esi, [esp + 0x60]
call fcn.3002dff7
test eax, eax
jne 0x30048d29
push eax
mov eax, 0x30022492
push eax
push 0x3035647a
push eax
call dword [sym.imp.MSO.dll_Ordinal_3295]
test eax, eax
jne 0x30048d29
int3
test byte [esp + 0x84], 1
je 0x30048d29
cmp dword [esp + 0x78], 4
jne 0x30048cf7
push dword [esp + 0x10]
call fcn.301057bb
test eax, eax
je 0x30048d00
jmp 0x30048d29
xor eax, eax
inc eax
cmp dword [esp + 0x78], eax
je 0x30048d0d
push dword [esp + 0x78]
lea esi, [esp + 0x60]
call fcn.3002dff7
test eax, eax
jne 0x30048d29
push eax
mov eax, 0x30022492
push eax
push 0x35766535
push eax
call dword [sym.imp.MSO.dll_Ordinal_3295]
test eax, eax
jne 0x30048d29
int3
mov eax, dword [esp + 0x28]
cmp eax, 0xffffffff
mov dword [esp + 0x60], 1
je 0x30048d3e
mov dword [esp + 0x60], eax
mov ax, word [esp + 0x1c]
mov ecx, dword [esp + 0x10]
push 0x1a
mov word [esp + 0x62], ax
call fcn.3013dcf3
test eax, eax
je 0x30048df8
cmp dword [ebp + 0x14], 0
je 0x30048df8
cmp word [esp + 0x17c], 0
jne 0x30048d80
push 5
pop ecx
lea esi, [esp + 0x5c]
lea edi, [esp + 0x17c]
rep movsd dword es:[edi], dword [esi]
mov bl, byte [esp + 0x84]
and bl, 1
lea esi, [esp + 0x17c]
je 0x30048dab
cmp dword [esp + 0x78], 4
jne 0x30048da7
push dword [esp + 0x10]
call fcn.301057bb
test eax, eax
jne 0x30048dab
lea esi, [esp + 0x5c]
cmp dword [esp + 0x2c], 2
jne 0x30048db6
push 6
jmp 0x30048e26
test bl, bl
je 0x30048dce
cmp dword [esp + 0x78], 4
jne 0x30048e22
push dword [esp + 0x10]
call fcn.301057bb
test eax, eax
je 0x30048e22
movsx eax, word [esp + 0x5c]
add eax, 0xfffff894
cmp eax, 0x1fa3
jbe 0x30048df8
push 6
call fcn.3002e0ba
test eax, eax
je 0x300495a5
mov dword [esp + 0x2c], 2
jmp 0x30048e5c
xor esi, esi
cmp dword [esp + 0x78], esi
je 0x30048e35
test byte [esp + 0x84], 1
je 0x30048e35
cmp dword [esp + 0x78], 4
jne 0x30048e1e
push dword [esp + 0x10]
call fcn.301057bb
test eax, eax
jne 0x30048e35
lea esi, [esp + 0x5c]
push dword [esp + 0x78]
call fcn.3002e0ba
test eax, eax
je 0x300495a5
jmp 0x30048e5c
cmp dword [esp + 0x58], esi
je 0x30048e5c
cmp dword [ebp + 0x14], esi
jne 0x30048e5c
push 6
lea esi, [esp + 0x60]
call fcn.3002e0ba
test eax, eax
je 0x300495a5
movsx eax, word [esp + 0x5e]
mov dword [esp + 0x1c], eax
movsx eax, word [esp + 0x5c]
lea ecx, [eax - 0x76c]
cmp ecx, 0x1fa3
ja 0x300495a5
cmp dword [esp + 0x60], 1
jl 0x300495a5
movsx esi, word [esp + 0x5e]
push eax
call fcn.3002dae8
cmp dword [esp + 0x60], eax
jg 0x300495a5
xor ebx, ebx
cmp dword [esp + 0x8c], ebx
je 0x30048ea3
push 0x13
pop ecx
jmp 0x30048ebc
cmp dword [esp + 0x28], 0xffffffff
jne 0x30048eaf
push 0x16
pop ecx
jmp 0x30048ed0
xor ecx, ecx
cmp dword [esp + 0x18], 0xffffffff
sete cl
add ecx, 0x14
cmp dword [esp + 0x8c], ebx
je 0x30048ec9
push 0x30
jmp 0x30048ed2
cmp dword [esp + 0x28], 0xffffffff
jne 0x30048ed5
push 0x33
pop eax
jmp 0x30048ee2
xor eax, eax
cmp dword [esp + 0x18], 0xffffffff
sete al
add eax, 0x31
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x70]
push esi
push dword [esp + 0x98]
lea edx, [esp + 0x54]
push edi
push dword [esp + 0x1c]
push eax
push dword [esp + 0x110]
call fcn.30049a5b
cmp dword [esp + 0xf4], ebx
je 0x30048ffd
cmp dword [ebp + 0x1c], ebx
je 0x30048ffd
cmp dword [ebp + 0x34], 1
jg 0x30048ffd
mov eax, dword [edi]
xor ecx, ecx
cmp dword [esp + 0xf0], ebx
push ebx
push dword [esp + 0x50]
sete cl
push ecx
push dword [esp + 0x1c]
mov ecx, edi
push dword [esi]
call dword [eax + 0x28]
mov dword [esi], eax
jmp 0x30048ffd
cmp dword [esp + 0x28], 0xffffffff
jne 0x300495a5
cmp dword [esp + 0x18], 0xffffffff
jne 0x300495a5
cmp dword [esp + 0xb4], 0
je 0x300495a5
mov eax, dword [ebp + 0xc]
xor ecx, ecx
test eax, eax
setne cl
cmp dword [esp + 0x2c], 2
mov word [esp + 0x5e], 1
mov dword [esp + 0x60], eax
lea ecx, [ecx*4 + 0x76c]
mov word [esp + 0x5c], cx
jne 0x30048fa0
cmp dword [ebp + 0x14], 0
jne 0x30048fa7
cmp dword [esp + 0x58], 0
je 0x30048fbc
push 6
lea esi, [esp + 0x60]
call fcn.3002dff7
test eax, eax
je 0x300495a5
jmp 0x30048ffd
test byte [esp + 0x84], 1
je 0x30048ffd
cmp dword [esp + 0x78], 4
jne 0x30048fdc
push dword [esp + 0x10]
call fcn.301057bb
test eax, eax
je 0x30048fe3
jmp 0x30048ffd
cmp dword [esp + 0x78], 1
je 0x30048ff2
push dword [esp + 0x78]
lea esi, [esp + 0x60]
call fcn.3002dff7
jmp 0x30048ff5
xor eax, eax
inc eax
test eax, eax
jne 0x300495a5
mov esi, dword [esp + 0x108]
cmp esi, 0xffffffff
je 0x30049059
push 0x17
pop edx
lea ecx, [esp + 0x38]
call fcn.301feffa
lea edx, [esp + esi*8 + 0x118]
lea ecx, [esp + 0x38]
call fcn.301fef72
lea ecx, [esp + 0x38]
call fcn.30026c1f
test eax, eax
jge 0x3004904a
cmp dword [ebp + 0x30], 0
je 0x300495a5
and dword [esp + 0x74], 0
mov dword [esp + 0xac], esi
jmp 0x3004905f
mov ax, word [esp + esi*4 + 0xd0]
mov word [esp + 0x64], ax
jmp 0x3004905f
and word [esp + 0x64], 0
mov esi, dword [esp + 0xcc]
cmp esi, 0xffffffff
je 0x300490cc
push 0x3b
pop edx
lea ecx, [esp + 0x38]
call fcn.301feffa
lea edx, [esp + esi*8 + 0x118]
lea ecx, [esp + 0x38]
call fcn.301fef72
lea ecx, [esp + 0x38]
call fcn.30026c1f
test eax, eax
jge 0x300490bd
cmp dword [ebp + 0x30], 0
je 0x300495a5
cmp dword [esp + 0xac], 0xffffffff
jne 0x300495a5
mov dword [esp + 0x74], 1
mov dword [esp + 0xac], esi
jmp 0x300490d2
mov ax, word [esp + esi*4 + 0xd0]
mov word [esp + 0x66], ax
jmp 0x300490d2
and word [esp + 0x66], 0
mov edi, dword [esp + 0x9c]
cmp edi, 0xffffffff
je 0x3004913f
push 0x3b
pop edx
lea ecx, [esp + 0x38]
call fcn.301feffa
lea edx, [esp + edi*8 + 0x118]
lea ecx, [esp + 0x38]
call fcn.301fef72
lea ecx, [esp + 0x38]
call fcn.30026c1f
test eax, eax
jge 0x30049130
cmp dword [ebp + 0x30], 0
je 0x300495a5
cmp dword [esp + 0xac], 0xffffffff
jne 0x300495a5
mov dword [esp + 0x74], 2
mov dword [esp + 0xac], edi
jmp 0x30049145
mov ax, word [esp + edi*4 + 0xd0]
mov word [esp + 0x68], ax
jmp 0x30049145
and word [esp + 0x68], 0
mov ebx, dword [esp + 0x104]
cmp ebx, 0xffffffff
je 0x300491bb
cmp dword [esp + 0xb0], 3
mov eax, dword [esp + ebx*8 + 0x118]
mov dword [esp + 0x38], eax
mov eax, dword [esp + ebx*8 + 0x11c]
mov dword [esp + 0x3c], eax
jle 0x30049194
mov esi, dword [esp + 0xb0]
add esi, 0xfffffffd
sub dword [esp + 0xb0], esi
mov edx, dword [0x3022594c]
lea ecx, [esp + 0x38]
call fcn.301fefc0
dec esi
jne 0x30049182
mov edx, 0x30022258
lea ecx, [esp + 0x38]
call fcn.301fef50
lea ecx, [esp + 0x38]
call fcn.301ff081
test ax, ax
mov word [esp + 0x6c], ax
jl 0x300495a5
jmp 0x300491c1
and word [esp + 0x6c], 0
cmp dword [esp + 0xa8], 0
je 0x30049210
cmp dword [esp + 0x74], 0xffffffff
jne 0x300495a5
push 0xc
pop eax
cmp word [esp + 0x64], ax
jg 0x300495a5
mov ecx, dword [esp + 0x100]
cmp dword [esp + ecx*4 + 0xd0], 0xffffffeb
jne 0x30049203
cmp word [esp + 0x64], ax
jge 0x30049210
add word [esp + 0x64], ax
jmp 0x30049210
cmp word [esp + 0x64], ax
jne 0x30049210
and word [esp + 0x64], 0
xor edx, edx
cmp dword [esp + 0xb4], edx
je 0x3004933f
or ecx, 0xffffffff
cmp ebx, ecx
je 0x30049253
push dword [esp + 0x30]
push dword [esp + 0x98]
push dword [esp + 0x78]
push dword [esp + 0x1c]
push 0x39
push dword [esp + 0xdc]
push 0x1d
lea edx, [esp + 0x68]
pop ecx
call fcn.30049a5b
jmp 0x3004933f
cmp dword [esp + 0x74], ecx
je 0x30049299
cmp dword [esp + 0x74], edx
jne 0x3004928e
cmp dword [esp + 0xa8], edx
jne 0x3004928e
cmp dword [esp + 0x1c], ecx
jne 0x3004928e
push dword [esp + 0x30]
push dword [esp + 0x98]
push dword [esp + 0x78]
push dword [esp + 0x1c]
push 0x37
push dword [esp + 0xdc]
push 0x1f
jmp 0x30049244
mov eax, dword [esp + 0x30]
mov dword [eax], edx
jmp 0x3004933f
cmp dword [esp + 0x1c], ecx
je 0x300492a4
push 0x36
pop eax
jmp 0x300492ae
xor eax, eax
cmp edi, ecx
setne al
add eax, 0x34
cmp dword [esp + 0x1c], ecx
je 0x300492b9
push 0x1b
pop ecx
jmp 0x300492da
cmp dword [esp + 0xa8], edx
je 0x300492ce
xor edx, edx
cmp edi, ecx
setne dl
add edx, 0x17
jmp 0x300492d8
xor edx, edx
cmp edi, ecx
setne dl
add edx, 0x19
mov ecx, edx
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x70]
push esi
push dword [esp + 0x98]
lea edx, [esp + 0x54]
push edi
push dword [esp + 0x1c]
push eax
push dword [esp + 0xdc]
call fcn.30049a5b
cmp dword [esp + 0x1c], 0xffffffff
je 0x3004933f
cmp dword [esp + 0xf4], 0
je 0x3004933f
cmp dword [ebp + 0x1c], 0
je 0x3004933f
cmp dword [ebp + 0x34], 1
jg 0x3004933f
mov eax, dword [edi]
xor ecx, ecx
cmp dword [esp + 0xf0], ecx
push 0
push dword [esp + 0x50]
sete cl
push ecx
push dword [esp + 0x1c]
mov ecx, edi
push dword [esi]
call dword [eax + 0x28]
mov dword [esi], eax
cmp dword [esp + 0x74], 0xffffffff
mov ax, word [esp + 0xb0]
mov word [esp + 0x6e], ax
je 0x30049377
push dword [esp + 0x74]
mov ebx, dword [esp + 0xb0]
push dword [ebp + 0xc]
lea ebx, [esp + ebx*8 + 0x120]
lea esi, [esp + 0x40]
lea edi, [esp + 0x64]
call fcn.3002dc68
jmp 0x30049388
push dword [ebp + 0xc]
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x64]
call fcn.3002ddb4
mov eax, dword [esp + 0x40]
and dword [esp + 0x40], 0
test eax, eax
jne 0x30049436
cmp dword [esp + 0x58], eax
je 0x300493e1
push 6
lea esi, [esp + 0x60]
call fcn.3002dff7
test eax, eax
je 0x300493e1
cmp dword [ebp + 0x14], 0
jne 0x300493e1
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
lea ecx, [eax + 2]
jmp 0x300493ce
mov si, word [ecx]
mov eax, dword [edx]
inc ecx
mov word [eax], si
inc ecx
add dword [edx], 2
mov eax, dword [edx]
cmp word [eax], 0
jne 0x300493bf
push 2
pop eax
sub dword [esp + 0x48], eax
mov dword [esp + 0x2c], eax
jmp 0x30049423
test byte [esp + 0x84], 1
je 0x3004941f
cmp dword [esp + 0x78], 4
jne 0x30049401
push dword [esp + 0x10]
call fcn.301057bb
test eax, eax
je 0x3004940a
jmp 0x3004941f
xor eax, eax
inc eax
cmp dword [esp + 0x78], eax
je 0x30049417
push dword [esp + 0x78]
lea esi, [esp + 0x60]
call fcn.3002dff7
test eax, eax
je 0x300495a5
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x48]
mov dword [edx], eax
mov dword [esp + 0xa4], 1
jmp 0x3004943d
mov eax, dword [esp + 0x30]
or dword [eax], 0xffffffff
cmp dword [esp + 0x58], 0
jne 0x3004944b
cmp dword [esp + 0x2c], 0
je 0x30049490
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
test ecx, ecx
je 0x30049490
cmp ecx, 0xffffffff
je 0x30049490
push dword [esp + 0x94]
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x14]
push eax
push dword [esp + 0x34]
call fcn.30027a10
test eax, eax
jge 0x30049490
push 0
mov eax, 0x30022492
push eax
push 0x32646b61
push eax
call dword [sym.imp.MSO.dll_Ordinal_3295]
test eax, eax
jne 0x30049490
int3
mov ecx, dword [esp + 0x10]
push 0x22
call fcn.3013dcf3
test eax, eax
je 0x300494bd
cmp dword [esp + 0xa4], 0
je 0x300494bd
cmp dword [esp + 0x88], 0
je 0x300494bd
mov eax, dword [esp + 0x30]
mov dword [eax], 0x3a
cmp dword [esp + 0xc4], 0
je 0x300495a5
cmp dword [ebp + 0x2c], 0
jne 0x300495a5
mov eax, dword [esp + 0x30]
cmp dword [eax], 0x15
jne 0x300495a5
cmp dword [esp + 0xa4], 0
je 0x300495a5
mov esi, dword [esp + 0x110]
xor ebx, ebx
jmp 0x30049520
movzx eax, word [esi]
cmp ax, 0x80
jb 0x3004950e
push dword [esp + 0x10]
push eax
call fcn.3002747c
push dword [esp + 0x10]
movzx edi, ax
call fcn.30026912
test eax, eax
jne 0x30049525
inc esi
inc esi
cmp word [esi], bx
jne 0x300494fb
cmp word [esi], bx
jne 0x300495a5
push dword [esp + 0x30]
mov esi, dword [esp + 0x14]
push dword [esp + 0x98]
push dword [esp + 0x78]
call fcn.3004a57a
test eax, eax
jge 0x3004955f
push 0
mov eax, 0x30022492
push eax
push 0x30356564
push eax
call dword [sym.imp.MSO.dll_Ordinal_3295]
test eax, eax
jne 0x3004955f
int3
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x130]
mov ecx, esi
mov edi, eax
call fcn.3013dd8f
or edi, eax
jne 0x300495a5
mov ecx, esi
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov ecx, dword [esp + 0x30]
cmp dword [ecx], eax
jl 0x300495a5
cmp dword [ebp + 0x34], 2
jne 0x300495a5
mov ecx, esi
mov eax, dword [ecx]
call dword [eax + 0x128]
mov ecx, dword [esp + 0x30]
neg eax
sbb eax, eax
and eax, 0x1a
add eax, 0x15
mov dword [ecx], eax
mov ecx, dword [esp + 0x10]
push 0x22
call fcn.3013dcf3
test eax, eax
je 0x300495f3
cmp dword [esp + 0xa4], 0
jne 0x300495dc
push dword [esp + 0x14]
call dword [sym.imp.MSO.dll_Ordinal_295]
lea eax, [eax + eax + 2]
push eax
mov eax, dword [esp + 0x38]
push dword [eax]
push dword [esp + 0x1c]
call fcn.3002660a
cmp dword [esp + 0x14], 0
je 0x300495f3
mov ecx, dword [esp + 0xf8]
push dword [esp + 0x14]
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [esp + 0x114]
test eax, eax
je 0x3004960b
mov ecx, dword [esp + 0x38]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0xa4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x50